Documentation ¶
Index ¶
- Variables
- func Listen(addr string, opts ...Option)
- func Shutdown()
- type Group
- func (c *Group) Add(session *session.Session) error
- func (c *Group) Broadcast(route string, v interface{}) error
- func (c *Group) Close() error
- func (c *Group) Contains(uid int64) bool
- func (c *Group) Count() int
- func (c *Group) Leave(s *session.Session) error
- func (c *Group) LeaveAll() error
- func (c *Group) Member(uid int64) (*session.Session, error)
- func (c *Group) Members() []int64
- func (c *Group) Multicast(route string, v interface{}, filter SessionFilter) error
- type Option
- func WithCheckOriginFunc(fn func(*http.Request) bool) Option
- func WithComponents(components *component.Components) Option
- func WithDebugMode() Option
- func WithDictionary(dict map[string]uint16) Option
- func WithGateAddr(addr string) Option
- func WithGrpcOptions(opts ...grpc.DialOption) Option
- func WithHTTPHandler(pattern string, handler http.Handler) Option
- func WithHandshakeValidator(fn func([]byte) error) Option
- func WithHeartbeatInterval(d time.Duration) Option
- func WithIsWebsocket(enableWs bool) Option
- func WithLabel(label string) Option
- func WithLogger(l log.Logger) Option
- func WithMaster() Option
- func WithPipeline(pipeline pipeline.Pipeline) Option
- func WithRegistryAddr(addr string, regInterval ...time.Duration) Option
- func WithSerializer(serializer serialize.Serializer) Option
- func WithTSLConfig(certificate, key string) Option
- func WithWSPath(path string) Option
- type SessionFilter
Constants ¶
This section is empty.
Variables ¶
var ( ErrCloseClosedGroup = errors.New("close closed group") ErrClosedGroup = errors.New("group closed") ErrMemberNotFound = errors.New("member not found in the group") ErrSessionDuplication = errors.New("session already existed in the current group") )
Errors that could be occurred during message handling.
var VERSION = "0.5.0"
VERSION returns current nano version
Functions ¶
Types ¶
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group represents a session group which used to manage a number of sessions, data send to the group will send to all session in it.
type Option ¶
Option is a function to set cluster options
func WithCheckOriginFunc ¶
WithCheckOriginFunc sets the function that check `Origin` in http headers
func WithComponents ¶
func WithComponents(components *component.Components) Option
WithComponents sets the Components
func WithDictionary ¶
WithDictionary sets routes map
func WithGateAddr ¶
WithGateAddr sets the listen address which is used by client to establish connection.
func WithGrpcOptions ¶
func WithGrpcOptions(opts ...grpc.DialOption) Option
WithGrpcOptions sets the grpc dial options
func WithHTTPHandler ¶
WithHTTPHandler sets a http handler that shares with WebSocket server
func WithHandshakeValidator ¶
WithHandshakeValidator sets the function that Verify `handshake` data
func WithHeartbeatInterval ¶
WithHeartbeatInterval sets Heartbeat time interval
func WithIsWebsocket ¶
WithIsWebsocket indicates whether current node WebSocket is enabled
func WithMaster ¶
func WithMaster() Option
WithMaster sets the option to indicate whether the current node is master node
func WithPipeline ¶
WithPipeline sets processing pipelines
func WithRegistryAddr ¶
WithRegistryAddr sets the registry address option, it will be the service address of master node and an advertise address which cluster member to connect
func WithSerializer ¶
func WithSerializer(serializer serialize.Serializer) Option
WithSerializer customizes application serializer, which automatically Marshal and UnMarshal handler payload
func WithTSLConfig ¶
WithTSLConfig sets the `key` and `certificate` of TSL
func WithWSPath ¶
WithWSPath sets websocket URI path, effective when WebSocket is enabled
type SessionFilter ¶
SessionFilter represents a filter which was used to filter session when Multicast, the session will receive the message while filter returns true.