mirror of
https://github.com/esiur/esiur-dotnet.git
synced 2026-03-31 18:38:22 +00:00
LLM
This commit is contained in:
51
Tests/Annotations/ServiceNode.cs
Normal file
51
Tests/Annotations/ServiceNode.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using Esiur.Resource;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Esiur.Tests.Annotations
|
||||
{
|
||||
[Annotation("Represents a managed service node with load, error count, and enable state. Functions control service operation.")]
|
||||
[Annotation("usage_rules", @"1.Choose at most one function per tick.
|
||||
2. Use only functions defined in the functions list.
|
||||
3. Do not invent properties or functions.
|
||||
4. Base the decision only on current property values and annotations.")]
|
||||
[Resource]
|
||||
public partial class ServiceNode
|
||||
{
|
||||
[Annotation("Current service load percentage from 0 to 100. Values above 80 indicate overload.")]
|
||||
[Export] int load;
|
||||
|
||||
[Annotation("Number of recent errors detected in the service. Values above 3 indicate instability.")]
|
||||
[Export] int errorCount;
|
||||
|
||||
[Annotation("True when the service is enabled and allowed to run. False means the service is disabled.")]
|
||||
[Export] bool enabled;
|
||||
|
||||
[Annotation("Restart the service when load is very high or when repeated errors indicate instability.")]
|
||||
[Export] public void Restart()
|
||||
{
|
||||
ErrorCount = 0;
|
||||
Load = 10;
|
||||
Enabled = true;
|
||||
}
|
||||
|
||||
[Annotation("Clear the error counter when errors were temporary and a restart is not required.")]
|
||||
[Export] public void ResetErrors()
|
||||
{
|
||||
ErrorCount = 0;
|
||||
}
|
||||
|
||||
[Annotation("Enable the service if it is disabled and should be running.")]
|
||||
[Export] public void Enable()
|
||||
{
|
||||
Enabled = true;
|
||||
}
|
||||
|
||||
[Annotation("Disable the service if it should stop processing requests.")]
|
||||
[Export] public void Disable()
|
||||
{
|
||||
Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user