Documentation ¶
Index ¶
- func SetPacketCodec(codec Codec)
- func SetPacketEncoder(coder Encoder)
- func SetPacketPool(p Pool)
- func SetPacketWraper(p ProtocolWraper)
- type Codec
- type Encoder
- type Packet
- func (p *Packet) CleanForTest()
- func (p *Packet) Cmd() PacketCmd
- func (p *Packet) CustomFlag(i byte) bool
- func (p *Packet) GetMD() metadata.MD
- func (p *Packet) HasFlag(f PacketFlag) bool
- func (p *Packet) MarshalLogObject(enc zapcore.ObjectEncoder) (err error)
- func (p *Packet) MsgID() uint32
- func (p *Packet) Payload() []byte
- func (p *Packet) SessionID() uint64
- func (p *Packet) SetCmd(cmd PacketCmd)
- func (p *Packet) SetCustomFlag(i byte, set bool)
- func (p *Packet) SetFlag(f PacketFlag, set bool)
- func (p *Packet) SetMD(md metadata.MD)
- func (p *Packet) SetMsgID(id uint32)
- func (p *Packet) SetSeesonID(id uint64)
- func (p *Packet) SetURI(uri string)
- func (p *Packet) URI() string
- type PacketCmd
- type PacketFlag
- type Pool
- type ProtocolWraper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetPacketCodec ¶
func SetPacketCodec(codec Codec)
func SetPacketEncoder ¶
func SetPacketEncoder(coder Encoder)
Types ¶
type Codec ¶
type Codec interface { Marshal(p interface{}) ([]byte, error) Unmarshal(data []byte, p interface{}) error }
Codec Use for marshal/unmarshal packet.Packet from bytes
var BytesMIDCodec Codec = codecMID{}
var BytesURICodec Codec = codecURI{}
type Encoder ¶
Encoder use for encode and decode source packet
var EmtpyPacketEncoder Encoder = emtpyPacketCoder{}
EmtpyPacketEncoder not encode and decode source packet
func GetEncoder ¶
func GetEncoder() Encoder
func NewTeeCoder ¶
type Packet ¶
type Packet struct {
// contains filtered or unexported fields
}
Packet define a network packet struct
func (*Packet) CleanForTest ¶
func (p *Packet) CleanForTest()
func (*Packet) CustomFlag ¶
func (*Packet) HasFlag ¶
func (p *Packet) HasFlag(f PacketFlag) bool
func (*Packet) MarshalLogObject ¶
func (p *Packet) MarshalLogObject(enc zapcore.ObjectEncoder) (err error)
func (*Packet) SetFlag ¶
func (p *Packet) SetFlag(f PacketFlag, set bool)
func (*Packet) SetSeesonID ¶
type PacketFlag ¶
type PacketFlag byte
PacketFlag second byte,internal message flag.
const ( // FlagError message is an error response FlagError PacketFlag = 0x01 )
type Pool ¶
type Pool interface { Get() interface{} Put(interface{}) }
Pool reuse packet pool
var NoPacketPool Pool = noopPacketPool{}
NoPacketPool not use packet pools
type ProtocolWraper ¶
type ProtocolWraper interface { // unmarshal packet's payload by msg codec PayloadUnmarshal(pkg interface{}, codec message.Codec, obj interface{}) error // marshal packet's payload by msg codec,then set payload binary data into message buf. PayloadMarshal(pkg interface{}, codec message.Codec, payload interface{}) (err error) // new response packet NewResponse(inPkg, outPkg interface{}, md metadata.MD) (err error) // new request packet NewPacket(inPkg interface{}, cmd PacketCmd, uri interface{}, md metadata.MD) (err error) // get pkg metadata GetMetadata(pkg interface{}) (md metadata.MD, err error) }
ProtocolWraper wrap all packet operate, use for custom packet struct.
func GetProtocolWraper ¶
func GetProtocolWraper() ProtocolWraper
GetPacketPool get default packet pool
func NewPacketWraper ¶
func NewPacketWraper() ProtocolWraper
Click to show internal directories.
Click to hide internal directories.