network

package
v1.2.21 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2022 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StreamHeadLen = 4 * tools.B
	MaxMsgLen     = 100 * tools.MB
)

Variables

View Source
var ErrRecvLen = errors.New("data is too long")

Functions

func Byte4ToUint32

func Byte4ToUint32(data []byte) (result uint32)

func CombineMsgWithId

func CombineMsgWithId(msgId int32, data []byte) []byte

func GenSessionId added in v1.2.21

func GenSessionId() uint64

func Uint32ToByte4

func Uint32ToByte4(data uint32) (result []byte)

Types

type Client added in v1.1.19

type Client interface {
	SendMsg([]byte) error
	AddHandler(handler func() SessionHandler)
	Start(reconnect bool) error
	Stop()
}

func NewTcpClient

func NewTcpClient(addr string, newCodec func() DecodeEncoder, opt ...OptionClient) Client

type DecodeEncoder added in v1.1.19

type DecodeEncoder interface {
	Decode([]byte) ([][]byte, error)
	Encode(data []byte) []byte
}

type EchoCode added in v1.1.19

type EchoCode struct {
	MaxDecode int
	// contains filtered or unexported fields
}

func (*EchoCode) Decode added in v1.1.19

func (s *EchoCode) Decode(data []byte) ([][]byte, error)

func (*EchoCode) Encode added in v1.1.19

func (s *EchoCode) Encode(data []byte) []byte

type Listener added in v1.1.19

type Listener interface {
	Start() error
	Stop()
}

func StartTcpListen

func StartTcpListen(addr string, newCodec func() DecodeEncoder, newHandler func() SessionHandler, op ...OptionListen) Listener

type Message

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

func NewBytesMessageParse

func NewBytesMessageParse(data []byte, mm *tools.ProtoIndex) *Message

NewBytesMessageParse 远端actor通信主要使用接口

func NewPbMessage

func NewPbMessage(pb proto.Message, msgId int32) *Message

NewPbMessage 业务逻辑层主要使用接口

func (*Message) Buffer

func (s *Message) Buffer() []byte

func (*Message) MsgId

func (s *Message) MsgId() int32

func (*Message) Proto

func (s *Message) Proto() proto.Message

type OptionClient

type OptionClient func(l *TcpClient)

type OptionListen

type OptionListen func(l *TcpListener)

type Session added in v1.2.21

type Session interface {
	Id() uint64
	LocalAddr() net.Addr
	RemoteAddr() net.Addr
	RemoteIP() string
	SendMsg([]byte) error
	Stop()
	StoreKV(interface{}, interface{})
	DeleteKV(interface{})
	Load(interface{}) (interface{}, bool)
	Type() SessionType
}

type SessionHandler added in v1.2.21

type SessionHandler interface {
	OnSessionCreated(Session)
	OnSessionClosed()
	OnRecv([]byte)
}

type SessionType

type SessionType int
const (
	TypeTCP SessionType = 1
	TypeUDP SessionType = 2
	TypeWS  SessionType = 3
)

type StreamCode added in v1.1.19

type StreamCode struct {
	MaxDecode uint64
	// contains filtered or unexported fields
}

func (*StreamCode) Decode added in v1.1.19

func (s *StreamCode) Decode(data []byte) ([][]byte, error)

func (*StreamCode) Encode added in v1.1.19

func (s *StreamCode) Encode(data []byte) []byte

type TcpClient

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

func (*TcpClient) AddHandler added in v1.2.16

func (s *TcpClient) AddHandler(hander func() SessionHandler)

AddHandler add handler to tail of list

func (*TcpClient) SendMsg

func (s *TcpClient) SendMsg(data []byte) error

func (*TcpClient) Start

func (s *TcpClient) Start(reconnect bool) error

func (*TcpClient) Stop

func (s *TcpClient) Stop()

type TcpListener

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

func (*TcpListener) Start

func (s *TcpListener) Start() error

func (*TcpListener) Stop

func (s *TcpListener) Stop()

type TcpSession

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

func (*TcpSession) DeleteKV

func (s *TcpSession) DeleteKV(key interface{})

func (*TcpSession) Id

func (s *TcpSession) Id() uint64

func (*TcpSession) Load

func (s *TcpSession) Load(key interface{}) (value interface{}, ok bool)

func (*TcpSession) LocalAddr

func (s *TcpSession) LocalAddr() net.Addr

func (*TcpSession) RemoteAddr

func (s *TcpSession) RemoteAddr() net.Addr

func (*TcpSession) RemoteIP

func (s *TcpSession) RemoteIP() string

func (*TcpSession) SendMsg

func (s *TcpSession) SendMsg(msg []byte) error

func (*TcpSession) Stop

func (s *TcpSession) Stop()

func (*TcpSession) StoreKV

func (s *TcpSession) StoreKV(key, value interface{})

func (*TcpSession) Type

func (s *TcpSession) Type() SessionType

Jump to

Keyboard shortcuts

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