Documentation ¶
Index ¶
- Constants
- Variables
- type DefaultConnectionHandler
- type DefaultPacketHeader
- type Packet
- type PacketCommand
- type PacketHandler
- type PacketHeader
- type ProtoCodec
- func (p *ProtoCodec) Decode(c gnet.Conn) (Packet, error)
- func (p *ProtoCodec) DecodePacket(packetData []byte) Packet
- func (p *ProtoCodec) Encode(packet Packet) ([]byte, error)
- func (p *ProtoCodec) EncodePacket(packet Packet) [][]byte
- func (p *ProtoCodec) Register(command PacketCommand, protoMessage proto.Message)
- type ProtoMessageCreator
- type ProtoPacket
- type ProtoRegister
- type TcpClient
- type TcpServer
Constants ¶
View Source
const ( //默认包头长度 DefaultPacketHeaderSize = int(unsafe.Sizeof(DefaultPacketHeader{})) MaxPacketDataSize = 0x00FFFFFF )
Variables ¶
View Source
var ErrIncompletePacket = errors.New("incomplete packet")
Functions ¶
This section is empty.
Types ¶
type DefaultConnectionHandler ¶
type DefaultConnectionHandler struct { //注册消息的处理函数 PacketHandler map[PacketCommand]PacketHandler //解码 Codec ProtoCodec // contains filtered or unexported fields }
func (*DefaultConnectionHandler) Register ¶
func (h *DefaultConnectionHandler) Register(packetCommand PacketCommand, handler PacketHandler, protoMessage proto.Message)
type DefaultPacketHeader ¶
type DefaultPacketHeader struct { // (flags << 24) | len // flags [0,255) // len [0,16M) LenAndFlags uint32 }
func NewDefaultPacketHeader ¶
func NewDefaultPacketHeader(len uint32, flags uint8) *DefaultPacketHeader
func (*DefaultPacketHeader) ReadFrom ¶
func (h *DefaultPacketHeader) ReadFrom(packetHeaderData []byte)
读取长度
func (*DefaultPacketHeader) WriteTo ¶
func (h *DefaultPacketHeader) WriteTo(PacketHeader []byte)
写入长度
type Packet ¶
type Packet interface { Command() PacketCommand Message() proto.Message GetStreamData() []byte }
type PacketCommand ¶
type PacketCommand uint16
type PacketHandler ¶
type PacketHandler func(c gnet.Conn, packet *ProtoPacket)
type PacketHeader ¶
type ProtoCodec ¶
type ProtoCodec struct { ProtoPacketBytesEncoder func(protoPacketBytes [][]byte) [][]byte ProtoPacketBytesDecoder func(packetData []byte) []byte MessageCreatorMap map[PacketCommand]reflect.Type }
func NewProtoCodec ¶
func NewProtoCodec(protoMessageTypeMap map[PacketCommand]reflect.Type) *ProtoCodec
func (*ProtoCodec) Decode ¶
func (p *ProtoCodec) Decode(c gnet.Conn) (Packet, error)
func (*ProtoCodec) DecodePacket ¶
func (p *ProtoCodec) DecodePacket(packetData []byte) Packet
func (*ProtoCodec) EncodePacket ¶
func (p *ProtoCodec) EncodePacket(packet Packet) [][]byte
func (*ProtoCodec) Register ¶
func (p *ProtoCodec) Register(command PacketCommand, protoMessage proto.Message)
type ProtoMessageCreator ¶
type ProtoPacket ¶
type ProtoPacket struct {
// contains filtered or unexported fields
}
func NewProtoPacket ¶
func NewProtoPacket(command PacketCommand, message proto.Message) *ProtoPacket
func NewProtoPacketWithData ¶
func NewProtoPacketWithData(command PacketCommand, data []byte) *ProtoPacket
func (*ProtoPacket) Command ¶
func (p *ProtoPacket) Command() PacketCommand
func (*ProtoPacket) GetStreamData ¶
func (p *ProtoPacket) GetStreamData() []byte
func (*ProtoPacket) Message ¶
func (p *ProtoPacket) Message() proto.Message
type ProtoRegister ¶
type ProtoRegister interface {
Register(command PacketCommand, protoMessage proto.Message)
}
type TcpClient ¶
type TcpClient struct { gnet.BuiltinEventEngine Client *gnet.Client Conn gnet.Conn Handler DefaultConnectionHandler Network string Addr string Nclients int // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.