ws

package
v0.0.0-...-1a2806f Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewConn

func NewConn(conn *websocket.Conn, rwQueueSize int, maxMessageSize uint32) network.IConn

NewConn create websocket conn

func NewServer

func NewServer(conf config.IConfig, agentFunc network.AgentCreateFunc, agentCloseFunc network.AgentCloseFunc) network.IServer

NewServer create ws server

Types

type Client

type Client struct {
	sync.Mutex
	Conf       *ClientConfig
	NewAgent   network.AgentCreateFunc
	CloseAgent network.AgentCloseFunc
	// contains filtered or unexported fields
}

Client websocket client

func NewClient

func NewClient(conf config.IConfig, agentFunc network.AgentCreateFunc, agentCloseFunc network.AgentCloseFunc) *Client

NewClient create websocket client

func (*Client) Close

func (c *Client) Close()

Close client connections

func (*Client) Run

func (c *Client) Run()

Run client start run

type ClientConfig

type ClientConfig struct {
	Nodes            []common.NodeInfo `mapstructure:"nodes"`
	ConnNum          int               `mapstructure:"conn_num"`
	ConnectInterval  time.Duration     `mapstructure:"connect_interval"`
	SocketQueueSize  int               `mapstructure:"socket_queue_size"`
	MaxMessageSize   uint32            `mapstructure:"max_message_size"`
	HandshakeTimeout time.Duration     `mapstructure:"handshake_timeout"`
	AutoReconnect    bool              `mapstructure:"auto_reconnect"`
	Token            string            `mapstructure:"token"`
	UID              uint64            `mapstructure:"uid"`
	QueueSize        int               `mapstructure:"queue_size"`
}

ClientConfig websocket client config

func (*ClientConfig) GetQueueSize

func (c *ClientConfig) GetQueueSize() int

GetQueueSize get module queue size

type Config

type Config struct {
	Address        string
	MaxConnNum     int
	RWQueueSize    int
	MaxMessageSize uint32
	HTTPTimeout    uint32
	CertFile       string
	KeyFile        string
}

Config websocket conn config

type Conn

type Conn struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Conn websocket conn define

func (*Conn) Close

func (c *Conn) Close()

Close websocket conn close

func (*Conn) Destroy

func (c *Conn) Destroy()

Destroy websocket conn destory

func (*Conn) LocalAddr

func (c *Conn) LocalAddr() net.Addr

LocalAddr get local addr

func (*Conn) ReadMessage

func (c *Conn) ReadMessage() (interface{}, error)

ReadMessage goroutine not safe

func (*Conn) RemoteAddr

func (c *Conn) RemoteAddr() net.Addr

RemoteAddr get remote addr

func (*Conn) WriteMessage

func (c *Conn) WriteMessage(args ...interface{}) error

WriteMessage args must not be modified by the others goroutines

type ConnSet

type ConnSet map[*websocket.Conn]struct{}

ConnSet websocket conn set

type Server

type Server struct {
	Conf     *ServerConfig
	NewAgent network.AgentCreateFunc

	CloseAgent network.AgentCloseFunc
	// contains filtered or unexported fields
}

Server websocket server define

func (*Server) Close

func (s *Server) Close()

Close websocket server

func (*Server) ListenAndServe

func (s *Server) ListenAndServe()

ListenAndServe start serve

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

type ServerConfig

type ServerConfig struct {
	Address         string        `mapstructure:"address"`
	MaxConnNum      int           `mapstructure:"max_conn_num"`
	SocketQueueSize int           `mapstructure:"socket_queue_size"`
	MaxMessageSize  uint32        `mapstructure:"max_message_size"`
	HTTPTimeout     time.Duration `mapstructure:"http_timeout"`
	CertFile        string        `mapstructure:"cert_file"`
	KeyFile         string        `mapstructure:"key_file"`
	QueueSize       int           `mapstructure:"queue_size"`
}

ServerConfig websocket server config

func (*ServerConfig) GetQueueSize

func (s *ServerConfig) GetQueueSize() int

GetQueueSize get module queue size

Jump to

Keyboard shortcuts

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