Documentation
¶
Index ¶
- type Client
- type Config
- type Conn
- type IRouter
- type Message
- type Reply
- type Server
- type SubchannelMessage
- type SubchannelReply
- type SubchannelRouter
- func (sr *SubchannelRouter) Channel() string
- func (sr *SubchannelRouter) IsClosed() bool
- func (sr *SubchannelRouter) Perform(c *Client, msg *Message) error
- func (sr *SubchannelRouter) Register(c *Client, msg *Message) error
- func (sr *SubchannelRouter) Reply(subReply *SubchannelReply)
- func (sr *SubchannelRouter) Run()
- func (sr *SubchannelRouter) Stop()
- func (sr *SubchannelRouter) Unregister(c *Client, msg *Message) error
- type SubchannelWorker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a middleman between the websocket connection and the hub.
func (*Client) Connection ¶
Connection return websocket connection
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn is an middleman between the websocket connection and the hub.
type IRouter ¶
type IRouter interface { Channel() string Register(*Client, *Message) error Unregister(*Client, *Message) error Perform(*Client, *Message) error IsClosed() bool Run() Stop() }
IRouter router interface
type Message ¶
type Message struct { Command string `json:"command"` Channel string `json:"channel"` Data json.RawMessage `json:"data"` }
Message Message
type Reply ¶
type Reply struct { Type string `json:"type,omitempty"` Channel string `json:"channel,omitempty"` Data json.RawMessage `json:"data"` }
Reply Reply
type Server ¶
type Server struct { Conf *Config // contains filtered or unexported fields }
Server Websocket server
func (*Server) RegisterRouter ¶
RegisterRouter register a router which implement IRouter interface
type SubchannelMessage ¶
type SubchannelMessage struct { Subchannel string Message json.RawMessage }
SubchannelMessage subchannel message
type SubchannelReply ¶
type SubchannelReply struct { Subchannel string Data json.RawMessage }
SubchannelReply subchannel reply
type SubchannelRouter ¶
type SubchannelRouter struct {
// contains filtered or unexported fields
}
SubchannelRouter subchannel router, used for subchannel message
func NewSubchannelRouter ¶
func NewSubchannelRouter(channel string, worker SubchannelWorker) *SubchannelRouter
NewSubchannelRouter create a new subchannel router
func (*SubchannelRouter) Channel ¶
func (sr *SubchannelRouter) Channel() string
Channel interface implementation
func (*SubchannelRouter) IsClosed ¶
func (sr *SubchannelRouter) IsClosed() bool
IsClosed interface implementation
func (*SubchannelRouter) Perform ¶
func (sr *SubchannelRouter) Perform(c *Client, msg *Message) error
Perform interface implementation
func (*SubchannelRouter) Register ¶
func (sr *SubchannelRouter) Register(c *Client, msg *Message) error
Register interface implementation
func (*SubchannelRouter) Reply ¶
func (sr *SubchannelRouter) Reply(subReply *SubchannelReply)
Reply interface implementation
func (*SubchannelRouter) Unregister ¶
func (sr *SubchannelRouter) Unregister(c *Client, msg *Message) error
Unregister interface implementation
type SubchannelWorker ¶
type SubchannelWorker interface { SetRouter(*SubchannelRouter) Run() Stop() }
SubchannelWorker subchannel worker interface