Documentation ¶
Index ¶
- Constants
- type Adapter
- type AdapterConfig
- type Channel
- type Client
- func (c *Client) Close()
- func (c *Client) Connect() error
- func (c *Client) DirectMessage(msg Message)
- func (c *Client) From() et.Json
- func (c *Client) Listener()
- func (c *Client) Ping()
- func (c *Client) Publish(channel string, message interface{})
- func (c *Client) Queue(channel, queue string, reciveFn func(Message))
- func (c *Client) Reconnect()
- func (c *Client) ReconnectCallback()
- func (c *Client) SendMessage(clientId string, message interface{}) error
- func (c *Client) SetDirectMessageCallback(reciveFn func(Message))
- func (c *Client) SetFrom(name string) error
- func (c *Client) SetReconnectCallback(reciveFn func(c *Client))
- func (c *Client) Stack(channel string, reciveFn func(Message))
- func (c *Client) Subscribe(channel string, reciveFn func(Message))
- func (c *Client) Unsubscribe(channel string)
- type ClientConfig
- type Hub
- func (h *Hub) Close()
- func (h *Hub) ClusterPublish(channel string, msg Message)
- func (h *Hub) ClusterSubscribed(channel string)
- func (h *Hub) ClusterUnSubscribed(channel string)
- func (h *Hub) Describe() et.Json
- func (h *Hub) DrainChannel(channel, queue string) error
- func (h *Hub) From() et.Json
- func (h *Hub) GetChanel(name string) *Channel
- func (h *Hub) GetChannels(name, queue string) et.Items
- func (h *Hub) GetClients(key string) et.Items
- func (h *Hub) HttpConnect(w http.ResponseWriter, r *http.Request)
- func (h *Hub) HttpDescribe(w http.ResponseWriter, r *http.Request)
- func (h *Hub) HttpGetPublications(w http.ResponseWriter, r *http.Request)
- func (h *Hub) HttpGetSubscribers(w http.ResponseWriter, r *http.Request)
- func (h *Hub) HttpStream(w http.ResponseWriter, r *http.Request)
- func (h *Hub) InitMaster()
- func (h *Hub) IsRun() bool
- func (h *Hub) Join(config AdapterConfig) error
- func (h *Hub) Live()
- func (h *Hub) NewChannel(name string, duration time.Duration) *Channel
- func (h *Hub) NewQueue(name, queue string, duration time.Duration) *Queue
- func (h *Hub) Publish(channel, queue string, msg Message, ignored []string, from et.Json)
- func (h *Hub) QueueSubscribe(clientId string, channel, queue string) error
- func (h *Hub) SendMessage(clientId string, msg Message) error
- func (h *Hub) SetName(name string)
- func (h *Hub) Stack(clientId string, channel string) error
- func (h *Hub) Start()
- func (h *Hub) Subscribe(clientId string, channel string) error
- func (h *Hub) Unsubscribe(clientId string, channel, queue string) error
- type Message
- type Queue
- type Subscriber
- type TpMessage
- type TypeNode
- type WsMessage
Constants ¶
const ( MSG_CLIENT_CONNECT = "Client connected id:%s name:%s to Hub:%s" MSG_CLIENT_DISCONNECT = "Client disconnected %s name:%s to Hub:%s" MSG_CONNECT_SUCCESSFULLY = "Connected successfully" MSG_DISCONNECT_SUCCESSFULLY = "Disconnected successfully" ERR_SERVER_NOT_FOUND = "Server not found" ERR_CLIENT_NOT_FOUND = "Client not found" ERR_CLIENT_IS_CLOSED = "Client is closed" ERR_NOT_WS_SERVICE = "Not websocket service" ERR_NOT_DEFINE_CLIENTID = "Not define clientId" ERR_NOT_DEFINE_USERNAME = "Not define username" ERR_NOT_CONNECT_WS = "Not connect socket" ERR_CLIENT_DISCONNECTED = "Client disconnected" ERR_CHANNEL_NOT_FOUND = "Channel not found" ERR_CHANNEL_NOT_SUBSCRIBERS = "Channel not subscribers - %s" ERR_CHANNEL_EMPTY = "Channel is empty" ERR_QUEUE_EMPTY = "Queue is empty" ERR_PARAM_NOT_FOUND = "Param not found" ERR_CLIENT_ID_EMPTY = "Client id is empty" ERR_MESSAGE_UNFORMATTED = "Message unformatted" ERR_REDISADAPTER_NOT_FOUND = "Redis adapter not found" ERR_INVALID_ID = "Invalid id" ERR_INVALID_NAME = "Invalid name" PARAMS_UPDATED = "Params updated" )
const ServiceName = "Websocket"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶ added in v0.0.4
type Adapter struct { Client // contains filtered or unexported fields }
type AdapterConfig ¶ added in v0.0.4
type Channel ¶
type Channel struct { Name string `json:"name"` Subscribers []*Subscriber `json:"subscribers"` // contains filtered or unexported fields }
* * Channel *
type Client ¶
type Client struct { Channels map[string]func(Message) Attempts *race.Value Connected *race.Value // contains filtered or unexported fields }
func NewClient ¶ added in v0.0.4
func NewClient(config *ClientConfig) (*Client, error)
* * NewClient * @config config ConectPatams * @return erro *
func (*Client) DirectMessage ¶ added in v0.0.4
* * DirectMessage * @param msg Message *
func (*Client) Publish ¶ added in v0.0.4
* * Publish a message to a channel * @param channel string * @param message interface{} *
func (*Client) Queue ¶ added in v0.0.4
* * Queue to a channel * @param channel, queue string * @param reciveFn func(message.Message) *
func (*Client) ReconnectCallback ¶ added in v0.0.4
func (c *Client) ReconnectCallback()
* * ReconnectCallback *
func (*Client) SendMessage ¶ added in v0.0.4
* * SendMessage * @param clientId string * @param message interface{} * @return error *
func (*Client) SetDirectMessageCallback ¶ added in v0.0.4
* * SetDirectMessageCallback * @param reciveFn func(message.Message) *
func (*Client) SetReconnectCallback ¶ added in v0.0.4
* * SetReconnectCallback * @param reciveFn func() *
func (*Client) Stack ¶ added in v0.0.4
* * Stack to a channel * @param channel string * @param reciveFn func(message.Message) *
func (*Client) Subscribe ¶ added in v0.0.4
* * Subscribe to a channel * @param channel string * @param reciveFn func(message.Message) *
func (*Client) Unsubscribe ¶ added in v0.0.4
* * Unsubscribe to a channel * @param channel string *
type ClientConfig ¶ added in v0.0.4
type ClientConfig struct { ClientId string Name string Url string Header http.Header Reconnect int }
func (*ClientConfig) From ¶ added in v0.0.4
func (s *ClientConfig) From() et.Json
* * From * @return et.Json *
type Hub ¶
func ServerHttp ¶ added in v0.0.4
* * ServerHttp * @params port int * @params mode string * @params master string * @params schema string * @params path string * @return *Hub *
func (*Hub) ClusterPublish ¶ added in v0.0.4
* * ClusterUnSubscribed * @param sub channel string *
func (*Hub) ClusterSubscribed ¶ added in v0.0.4
* * ClusterSubscribed * @param channel string *
func (*Hub) ClusterUnSubscribed ¶ added in v0.0.4
* * ClusterUnSubscribed * @param sub channel string *
func (*Hub) DrainChannel ¶ added in v0.0.4
* * DrainChannel * @param channel *Channel *
func (*Hub) GetChannels ¶ added in v0.0.4
* * GetChannels of the hub * @param key string * @return et.Items *
func (*Hub) GetClients ¶ added in v0.0.4
* * GetClients of the hub * @param key string * @return et.Items *
func (*Hub) HttpConnect ¶ added in v0.0.4
func (h *Hub) HttpConnect(w http.ResponseWriter, r *http.Request)
* * HttpConnect connect to the server using the http * @param w http.ResponseWriter * @param r *http.Request *
func (*Hub) HttpDescribe ¶ added in v0.0.4
func (h *Hub) HttpDescribe(w http.ResponseWriter, r *http.Request)
* * HttpGetPublications * @param w http.ResponseWriter * @param r *http.Request *
func (*Hub) HttpGetPublications ¶ added in v0.0.4
func (h *Hub) HttpGetPublications(w http.ResponseWriter, r *http.Request)
* * HttpGetPublications * @param w http.ResponseWriter * @param r *http.Request *
func (*Hub) HttpGetSubscribers ¶ added in v0.0.4
func (h *Hub) HttpGetSubscribers(w http.ResponseWriter, r *http.Request)
* * HttpGetSubscribers * @param w http.ResponseWriter * @param r *http.Request *
func (*Hub) HttpStream ¶ added in v0.0.4
func (h *Hub) HttpStream(w http.ResponseWriter, r *http.Request)
* * HttpStream connect to the server using the http * @param w http.ResponseWriter * @param r *http.Request *
func (*Hub) Join ¶ added in v0.0.4
func (h *Hub) Join(config AdapterConfig) error
* * Join * @param config *ClientConfig *
func (*Hub) NewChannel ¶ added in v0.0.4
* * NewChannel * @param name string * @param duration time.Duration * @return *Channel *
func (*Hub) NewQueue ¶ added in v0.0.4
* * NewQueue * @param name string * @param duration time.Duration * @return *Queue *
func (*Hub) Publish ¶
* * Publish a message to a channel * @param channel string * @param msg Message * @param ignored []string * @param from et.Json * @return error *
func (*Hub) QueueSubscribe ¶ added in v0.0.4
* * QueueSubscribe * @param clientId string * @param channel string * @param queue string * @return error *
func (*Hub) SendMessage ¶
* * SendMessage * @param clientId string * @param msg Message * @return error *
type Message ¶
type Message struct { Created_at time.Time `json:"created_at"` Id string `json:"id"` From et.Json `json:"from"` To string `json:"to"` Ignored []string `json:"ignored"` Data interface{} `json:"data"` Channel string `json:"channel"` Queue string `json:"queue"` Tp et.Json `json:"tp"` // contains filtered or unexported fields }
func DecodeMessage ¶
* * DecodeMessage * @param []byte * @return Message *
func NewMessage ¶
* * NewMessage * @param et.Json * @param interface{} * @param TpMessage * @return Message *
type Queue ¶ added in v0.0.4
type Queue struct { Name string `json:"name"` Queue string `json:"queue"` Turn int `json:"turn"` Subscribers []*Subscriber `json:"subscribers"` // contains filtered or unexported fields }
type Subscriber ¶ added in v0.0.4
type Subscriber struct { Created_at time.Time `json:"created_at"` Id string `json:"id"` Name string `json:"name"` Addr string `json:"addr"` Channels map[string]*Channel `json:"channels"` Queue map[string]*Queue `json:"queue"` // contains filtered or unexported fields }
func (*Subscriber) From ¶ added in v0.0.4
func (c *Subscriber) From() et.Json
* * From * @return et.Json *