socket

package
v1.0.69 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseSocket

type BaseSocket struct {
	Session *Session

	SocketManager *SocketManager

	OnMessage func([]byte)

	Id string

	Logger logur.Logger

	IsClosed bool
	// contains filtered or unexported fields
}

func NewBaseSocket

func NewBaseSocket(session *Session, conn *websocket.Conn, socketManager *SocketManager, logger logur.Logger) BaseSocket

func (*BaseSocket) Close

func (a *BaseSocket) Close()

func (*BaseSocket) GetId

func (a *BaseSocket) GetId() string

func (*BaseSocket) GetSession

func (a *BaseSocket) GetSession() *Session

func (*BaseSocket) Send

func (a *BaseSocket) Send(message []byte)

func (*BaseSocket) StartHandler

func (a *BaseSocket) StartHandler()

func (*BaseSocket) StartReader

func (a *BaseSocket) StartReader()

func (*BaseSocket) StartWriter

func (a *BaseSocket) StartWriter()

type BroadcastInfo

type BroadcastInfo struct {
	// contains filtered or unexported fields
}

type HandlerFunc

type HandlerFunc func(socketManager *SocketManager, logger logur.Logger, w http.ResponseWriter, r *http.Request)

type SendRequestMessage added in v1.0.69

type SendRequestMessage struct {
	Id            string              `json:"id"`
	Topic         Topic               `json:"topic"`
	MessageBody   string              `json:"messageBody"`
	Headers       map[string][]string `json:"headers"`
	StatusCode    int64               `json:"statusCode"`
	Subject       string              `json:"subject"`
	ResponseTopic Topic               `json:"responseTopic"`
}

type Session

type Session titan.UserInfo

type Socket

type Socket interface {
	GetId() string
	Send([]byte)
	Close()
	GetSession() *Session
}

type SocketManager

type SocketManager struct {
	// contains filtered or unexported fields
}

Hub maintains the set of active clients and broadcasts messages to the clients.

func InitSocketManager

func InitSocketManager(logger logur.Logger) *SocketManager

func (*SocketManager) Broadcast

func (m *SocketManager) Broadcast(message []byte, filter func(session *Session) bool)

func (*SocketManager) BroadcastM

func (m *SocketManager) BroadcastM(message *SendRequestMessage, filter func(session *Session) bool) error

func (*SocketManager) CloseAll

func (m *SocketManager) CloseAll()

func (*SocketManager) Register

func (m *SocketManager) Register(client Socket)

func (*SocketManager) Start

func (m *SocketManager) Start()

func (*SocketManager) Stop

func (m *SocketManager) Stop()

func (*SocketManager) UnRegister

func (m *SocketManager) UnRegister(client Socket)

type Topic added in v1.0.69

type Topic string

enum definitions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL