25 lines
		
	
	
		
			766 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			766 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package transport
 | ||
| 
 | ||
| // Communicator 用于其他设备通信
 | ||
| type Communicator interface {
 | ||
| 	// Send 用于发送一条单向数据(不等待回信)
 | ||
| 	// 成功时,它返回一个包含 MessageID 的 SendResult,以便调用方追踪。
 | ||
| 	Send(address string, payload []byte) (*SendResult, error)
 | ||
| }
 | ||
| 
 | ||
| // SendResult 包含了 SendGo 方法成功执行后返回的结果。
 | ||
| type SendResult struct {
 | ||
| 	// MessageID 是通信服务为此次发送分配的唯一标识符。
 | ||
| 	// 调用方需要保存此 ID,以便后续关联 ACK 等事件。
 | ||
| 	MessageID string
 | ||
| }
 | ||
| 
 | ||
| // Listener 用于监听其他设备发送过来的数据
 | ||
| type Listener interface {
 | ||
| 	// Listen 用于开始监听其他设备发送过来的数据
 | ||
| 	Listen() error
 | ||
| 
 | ||
| 	// Stop 用于停止监听
 | ||
| 	Stop() error
 | ||
| }
 |