Documentation ¶
Index ¶
- func NewConn(engineConn engineio.Conn, handlers *Handlers) *conn
- type Broadcaster
- type Conn
- type EachFunc
- type Handler
- func (nh *Handler) Clear(room string) bool
- func (nh *Handler) ForEach(room string, f EachFunc) bool
- func (nh *Handler) Join(room string, conn Conn) bool
- func (nh *Handler) Leave(room string, conn Conn) bool
- func (nh *Handler) LeaveAll(conn Conn) bool
- func (nh *Handler) Len(room string) int
- func (nh *Handler) OnConnect(f OnConnectHandler)
- func (nh *Handler) OnDisconnect(f OnDisconnectHandler)
- func (nh *Handler) OnError(f OnErrorHandler)
- func (nh *Handler) OnEvent(event string, f interface{})
- func (nh *Handler) Rooms(conn Conn) []string
- func (nh *Handler) Send(room string, event string, args ...interface{}) bool
- func (nh *Handler) SendAll(event string, args ...interface{}) bool
- type Handlers
- type Namespace
- type OnConnectHandler
- type OnDisconnectHandler
- type OnErrorHandler
- type RedisAdapterConfig
- type Server
- func (s *Server) Adapter(opts *RedisAdapterConfig) (bool, error)
- func (s *Server) BroadcastToNamespace(namespace string, event string, args ...interface{}) bool
- func (s *Server) BroadcastToRoom(namespace string, room, event string, args ...interface{}) bool
- func (s *Server) ClearRoom(namespace string, room string) bool
- func (s *Server) Close() error
- func (s *Server) Count() int
- func (s *Server) ForEach(namespace string, room string, f EachFunc) bool
- func (s *Server) JoinRoom(namespace string, room string, conn Conn) bool
- func (s *Server) LeaveAllRooms(namespace string, conn Conn) bool
- func (s *Server) LeaveRoom(namespace string, room string, conn Conn) bool
- func (s *Server) OnConnect(namespace string, f OnConnectHandler)
- func (s *Server) OnDisconnect(namespace string, f OnDisconnectHandler)
- func (s *Server) OnError(namespace string, f OnErrorHandler)
- func (s *Server) OnEvent(namespace string, event string, f interface{})
- func (s *Server) RoomLen(namespace string, room string) int
- func (s *Server) Rooms(namespace string) []string
- func (s *Server) Serve() error
- func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Broadcaster ¶
type Broadcaster interface { Join(room string, connection Conn) // Join causes the connection to join a room Leave(room string, connection Conn) // Leave causes the connection to leave a room LeaveAll(connection Conn) // LeaveAll causes given connection to leave all rooms Clear(room string) // Clear causes removal of all connections from the room Send(room, event string, args ...interface{}) // Send will send an event with args to the room SendAll(event string, args ...interface{}) // SendAll will send an event with args to all the rooms ForEach(room string, f EachFunc) // ForEach sends data by DataFunc, if room does not exits sends nothing Len(room string) int // Len gives number of connections in the room Rooms(connection Conn) []string // Gives list of all the rooms if no connection given, else list of all the rooms the connection joined AllRooms() []string // Gives list of all the rooms the connection joined }
Broadcaster is the adaptor to handle broadcasts & rooms for socket.io server API
type Conn ¶
type Conn interface { io.Closer Namespace // ID returns session id ID() string URL() url.URL LocalAddr() net.Addr RemoteAddr() net.Addr RemoteHeader() http.Header Serve() }
Conn is a connection in go-socket.io
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler contains all logics for working with connections
func NewHandler ¶
func NewHandler(nsp string, adapterOpts *RedisAdapterConfig) *Handler
func (*Handler) OnConnect ¶
func (nh *Handler) OnConnect(f OnConnectHandler)
func (*Handler) OnDisconnect ¶
func (nh *Handler) OnDisconnect(f OnDisconnectHandler)
func (*Handler) OnError ¶
func (nh *Handler) OnError(f OnErrorHandler)
type Handlers ¶
type Handlers struct {
// contains filtered or unexported fields
}
func NewHandlers ¶
func NewHandlers() *Handlers
type Namespace ¶
type Namespace interface { // Context of this connection. You can save one context for one // connection, and share it between all handlers. The handlers // are called in one goroutine, so no need to lock context if it // only accessed in one connection. Context() context.Context SetContext(ctx context.Context) Namespace() string Emit(eventName string, v ...interface{}) EmitByNameSpace(namespace, eventName string, v ...interface{}) Join(room string) Leave(room string) LeaveAll() Rooms() []string Refuse(err error) error }
Namespace describes a communication channel that allows you to split the logic of your application over a single shared connection.
type OnConnectHandler ¶
type OnDisconnectHandler ¶
type OnErrorHandler ¶
type RedisAdapterConfig ¶
RedisAdapterConfig is configuration to create new adapter
func GetOptions ¶
func GetOptions(opts *RedisAdapterConfig) *RedisAdapterConfig
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is a go-socket.io server.
func (*Server) Adapter ¶
func (s *Server) Adapter(opts *RedisAdapterConfig) (bool, error)
Adapter sets redis broadcast adapter.
func (*Server) BroadcastToNamespace ¶
BroadcastToNamespace broadcasts given event & args to all the connections in the same
func (*Server) BroadcastToRoom ¶
BroadcastToRoom broadcasts given event & args to all the connections in the room.
func (*Server) LeaveAllRooms ¶
LeaveAllRooms leaves the given connection from all rooms.
func (*Server) OnConnect ¶
func (s *Server) OnConnect(namespace string, f OnConnectHandler)
OnConnect set a handler function f to handle open event for
func (*Server) OnDisconnect ¶
func (s *Server) OnDisconnect(namespace string, f OnDisconnectHandler)
OnDisconnect set a handler function f to handle disconnect event for
func (*Server) OnError ¶
func (s *Server) OnError(namespace string, f OnErrorHandler)
OnError set a handler function f to handle error for