Documentation
¶
Overview ¶
Package federation 提供跨组织代理协作与联合编排能力。
Index ¶
- type FederatedNode
- type FederatedTask
- type FederationConfig
- type NodeStatus
- type Orchestrator
- func (o *Orchestrator) GetTask(taskID string) (*FederatedTask, bool)
- func (o *Orchestrator) ListNodes() []*FederatedNode
- func (o *Orchestrator) RegisterHandler(taskType string, handler TaskHandler)
- func (o *Orchestrator) RegisterNode(node *FederatedNode)
- func (o *Orchestrator) Start(ctx context.Context) error
- func (o *Orchestrator) Stop()
- func (o *Orchestrator) SubmitTask(ctx context.Context, task *FederatedTask) error
- func (o *Orchestrator) UnregisterNode(nodeID string)
- type TaskHandler
- type TaskStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FederatedNode ¶
type FederatedNode struct {
ID string `json:"id"`
Name string `json:"name"`
Endpoint string `json:"endpoint"`
PublicKey string `json:"public_key,omitempty"`
Capabilities []string `json:"capabilities"`
Metadata map[string]string `json:"metadata,omitempty"`
Status NodeStatus `json:"status"`
LastSeen time.Time `json:"last_seen"`
}
联邦 节点代表联邦的一个节点.
type FederatedTask ¶
type FederatedTask struct {
ID string `json:"id"`
Type string `json:"type"`
Payload any `json:"payload"`
SourceNode string `json:"source_node"`
TargetNodes []string `json:"target_nodes,omitempty"`
Priority int `json:"priority"`
Timeout time.Duration `json:"timeout"`
RequiredCaps []string `json:"required_capabilities,omitempty"`
CreatedAt time.Time `json:"created_at"`
Status TaskStatus `json:"status"`
Results map[string]any `json:"results,omitempty"`
}
联邦 这项任务是分配给各联邦的任务。
type FederationConfig ¶
type FederationConfig struct {
NodeID string
NodeName string
ListenAddr string
TLSConfig *tls.Config
HeartbeatInterval time.Duration
TaskTimeout time.Duration
}
Federation Config配置了联邦管弦乐团.
type NodeStatus ¶
type NodeStatus string
节点状态代表一个联邦节点的地位.
const ( NodeStatusOnline NodeStatus = "online" NodeStatusOffline NodeStatus = "offline" NodeStatusDegraded NodeStatus = "degraded" )
type Orchestrator ¶
type Orchestrator struct {
// contains filtered or unexported fields
}
Orchestrator管理联邦代理合作.
func NewOrchestrator ¶
func NewOrchestrator(config FederationConfig, logger *zap.Logger) *Orchestrator
新奥尔良创造了一个新的联邦管弦乐团.
func (*Orchestrator) GetTask ¶
func (o *Orchestrator) GetTask(taskID string) (*FederatedTask, bool)
GetTask 以 ID 检索任务 。
func (*Orchestrator) ListNodes ¶
func (o *Orchestrator) ListNodes() []*FederatedNode
ListNodes 返回所有已注册的节点 。
func (*Orchestrator) RegisterHandler ¶
func (o *Orchestrator) RegisterHandler(taskType string, handler TaskHandler)
登记 Handler 登记任务处理器 。
func (*Orchestrator) RegisterNode ¶
func (o *Orchestrator) RegisterNode(node *FederatedNode)
注册点在联邦登记一个节点。
func (*Orchestrator) SubmitTask ¶
func (o *Orchestrator) SubmitTask(ctx context.Context, task *FederatedTask) error
向联邦提交任务。
func (*Orchestrator) UnregisterNode ¶
func (o *Orchestrator) UnregisterNode(nodeID string)
UnregisterNode从联邦中删除一个节点.
type TaskHandler ¶
type TaskHandler func(ctx context.Context, task *FederatedTask) (any, error)
特劳斯·汉德勒处理联邦任务.
type TaskStatus ¶
type TaskStatus string
任务状态代表联合任务状态.
const ( TaskStatusPending TaskStatus = "pending" TaskStatusRunning TaskStatus = "running" TaskStatusCompleted TaskStatus = "completed" TaskStatusFailed TaskStatus = "failed" )
Click to show internal directories.
Click to hide internal directories.