Documentation
¶
Index ¶
- type CommandHandler
- type Device
- type Discovery
- func (d *Discovery) GetDevices() []*Device
- func (d *Discovery) RegisterHandler(cmd string, handler CommandHandler)
- func (d *Discovery) RequestResponse(env MessageEnvelope, timeout time.Duration) (MessageEnvelope, error)
- func (d *Discovery) Send(env MessageEnvelope) error
- func (d *Discovery) Start() error
- func (d *Discovery) Stop()
- type Logger
- type MessageEnvelope
- type StdLogger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommandHandler ¶
type CommandHandler func(from net.Addr, env MessageEnvelope)
CommandHandler 定义了处理接收到命令的函数签名
type Discovery ¶
type Discovery struct {
// contains filtered or unexported fields
}
Discovery 结构体封装了设备发现和通信的逻辑
func NewDiscovery ¶
NewDiscovery 创建一个新的 Discovery 实例
func (*Discovery) RegisterHandler ¶
func (d *Discovery) RegisterHandler(cmd string, handler CommandHandler)
RegisterHandler 注册命令处理器
func (*Discovery) RequestResponse ¶
func (d *Discovery) RequestResponse(env MessageEnvelope, timeout time.Duration) (MessageEnvelope, error)
RequestResponse 发送请求并等待响应
type MessageEnvelope ¶
type MessageEnvelope struct {
FromUUID string `json:"fromUuid"`
SendType string `json:"sendType"` // "announce" | "spec" | "response"
SendTo string `json:"sendTo,omitempty"` // 单播目标
Command string `json:"command"` // 命令
TaskID string `json:"taskId"` // 任务 ID
Payload json.RawMessage `json:"payload,omitempty"` // 附带参数
}
MessageEnvelope 定义了在网络中传输的消息结构
Click to show internal directories.
Click to hide internal directories.