Documentation
¶
Overview ¶
Package protocol 提供 NODE 和 Dpanel 之间的通信协议
Index ¶
- Constants
- Variables
- type Client
- func (c *Client) ActiveTransport() transport.TransportType
- func (c *Client) Broadcast(ctx context.Context, msgType message.MessageType, data interface{}) error
- func (c *Client) Close() error
- func (c *Client) Connect(ctx context.Context) error
- func (c *Client) GetChannel(msgType message.MessageType) *channel.Channel
- func (c *Client) Request(ctx context.Context, data interface{}) (*message.Envelope, error)
- func (c *Client) Send(ctx context.Context, msgType message.MessageType, data interface{}) error
- func (c *Client) SendTo(ctx context.Context, to string, msgType message.MessageType, data interface{}) error
- func (c *Client) SessionID() string
- func (c *Client) Subscribe(msgType message.MessageType, handler channel.Handler)
- type ClientConfig
- type Server
- func (s *Server) Broadcast(envelope *message.Envelope)
- func (s *Server) BroadcastToGroup(group string, envelope *message.Envelope)
- func (s *Server) GetSession(sessionID string) (*Session, bool)
- func (s *Server) JoinGroup(sessionID, group string)
- func (s *Server) LeaveGroup(sessionID, group string)
- func (s *Server) OnMessage(msgType message.MessageType, h channel.Handler)
- func (s *Server) SendTo(sessionID string, envelope *message.Envelope) error
- func (s *Server) SendToClient(clientID string, envelope *message.Envelope) error
- func (s *Server) Start() error
- func (s *Server) Stop()
- type ServerConfig
- type Session
Constants ¶
View Source
const AuthTimeout = 5 * time.Second
AuthTimeout 认证超时时间
Variables ¶
View Source
var ( ErrAuthFailed = errors.New("authentication failed") ErrAuthTimeout = errors.New("authentication timeout") )
错误定义
View Source
var ErrSessionNotFound = channel.ErrChannelNotFound
错误定义
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client 协议客户端
func (*Client) ActiveTransport ¶
func (c *Client) ActiveTransport() transport.TransportType
ActiveTransport 获取当前活跃传输协议
func (*Client) Broadcast ¶
func (c *Client) Broadcast(ctx context.Context, msgType message.MessageType, data interface{}) error
Broadcast 广播消息
func (*Client) GetChannel ¶
func (c *Client) GetChannel(msgType message.MessageType) *channel.Channel
GetChannel 获取消息通道
type ClientConfig ¶
type ClientConfig struct {
WSEndpoint string // WebSocket 端点
GRPCEndpoint string // gRPC 端点
HTTPEndpoint string // HTTP 端点
ClientID string // 客户端ID
AuthToken string // 认证令牌
NodeType string // 节点类型 (node/panel)
Version string // 客户端版本
ConnectTimeout time.Duration // 连接超时
RequestTimeout time.Duration // 请求超时
}
ClientConfig 客户端配置
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server 协议服务端
func (*Server) BroadcastToGroup ¶
BroadcastToGroup 广播消息给指定分组
func (*Server) GetSession ¶
GetSession 获取会话
func (*Server) OnMessage ¶
func (s *Server) OnMessage(msgType message.MessageType, h channel.Handler)
OnMessage 注册消息处理器
func (*Server) SendToClient ¶
SendToClient 发送给指定客户端ID
type ServerConfig ¶
type ServerConfig struct {
Address string
Path string
HeartbeatInterval time.Duration
ReadBufferSize int
WriteBufferSize int
CompressionEnabled bool
}
ServerConfig 服务端配置
Directories
¶
| Path | Synopsis |
|---|---|
|
Package channel 提供基于 Channel 的消息分发机制
|
Package channel 提供基于 Channel 的消息分发机制 |
|
Package compress 提供数据压缩和解压缩功能
|
Package compress 提供数据压缩和解压缩功能 |
|
Package message 定义通信协议的消息结构体
|
Package message 定义通信协议的消息结构体 |
|
Package transport 定义传输层接口
|
Package transport 定义传输层接口 |
Click to show internal directories.
Click to hide internal directories.