package transport import "time" // Communicator 用于其他设备通信 type Communicator interface { // Send 用于发送一条单向数据(不等待回信) // 成功时,它返回一个包含 MessageID 的 SendResult,以便调用方追踪。 Send(address string, payload []byte) (*SendResult, error) } // SendResult 包含了 SendGo 方法成功执行后返回的结果。 type SendResult struct { // MessageID 是通信服务为此次发送分配的唯一标识符。 // 调用方需要保存此 ID,以便后续关联 ACK 等事件。 MessageID string // AcknowledgedAt 记录设备确认收到下行消息的时间。 // 并非所有发送实现都会同步返回收到时间 AcknowledgedAt *time.Time // ReceivedSuccess 表示设备是否成功接收到下行消息。 // 并非所有发送实现都会同步返回是否送达 ReceivedSuccess *bool } // Listener 用于监听其他设备发送过来的数据 type Listener interface { // Listen 用于开始监听其他设备发送过来的数据 Listen() error // Stop 用于停止监听 Stop() error }