Documentation
¶
Index ¶
- Constants
- type Conn
- func (c *Conn) AddPacket(newer PacketNewer)
- func (c *Conn) AsStream() (rw io.ReadWriteCloser, err error)
- func (c *Conn) Ask(p PacketBase) (res PacketBase, err error)
- func (c *Conn) AskWith(ctx context.Context, p PacketBase) (res PacketBase, err error)
- func (c *Conn) Close() (err error)
- func (c *Conn) Context() context.Context
- func (c *Conn) NewPacket(pid uint32) PacketBase
- func (c *Conn) Ping() (ping time.Duration, err error)
- func (c *Conn) PingWith(ctx context.Context) (ping time.Duration, err error)
- func (c *Conn) PopPacket(pid uint32) (ok bool)
- func (c *Conn) Send(p PacketBase) (err error)
- func (c *Conn) Serve() (err error)
- func (c *Conn) ServeDone() <-chan struct{}
- func (c *Conn) StreamedDone() <-chan struct{}
- type ConnState
- type EmptyPkt
- type EmptyPktAsk
- type EmptyPktTrigger
- type Ok
- type Packet
- type PacketAsk
- type PacketBase
- type PacketNewer
- type Ping
- type Pong
Constants ¶
View Source
const ( NoAsk byte = 0x00 SendAsk byte = 0x01 RecvAsk byte = 0x02 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conn ¶
type Conn struct { OnPktNotFound func(id uint32, body encoding.Reader) OnParseError func(pkt PacketBase, err error) // contains filtered or unexported fields }
func (*Conn) AddPacket ¶
func (c *Conn) AddPacket(newer PacketNewer)
func (*Conn) AsStream ¶ added in v0.2.0
func (c *Conn) AsStream() (rw io.ReadWriteCloser, err error)
func (*Conn) Ask ¶
func (c *Conn) Ask(p PacketBase) (res PacketBase, err error)
func (*Conn) AskWith ¶ added in v0.1.2
func (c *Conn) AskWith(ctx context.Context, p PacketBase) (res PacketBase, err error)
func (*Conn) NewPacket ¶
func (c *Conn) NewPacket(pid uint32) PacketBase
func (*Conn) Send ¶
func (c *Conn) Send(p PacketBase) (err error)
func (*Conn) StreamedDone ¶ added in v0.2.0
func (c *Conn) StreamedDone() <-chan struct{}
type EmptyPktAsk ¶ added in v0.2.0
type EmptyPktAsk struct { EmptyPkt OnAsk func() (PacketBase, error) }
func (EmptyPktAsk) Ask ¶ added in v0.2.0
func (pkt EmptyPktAsk) Ask() (PacketBase, error)
type EmptyPktTrigger ¶ added in v0.2.0
func (EmptyPktTrigger) Trigger ¶ added in v0.2.0
func (pkt EmptyPktTrigger) Trigger() error
type Packet ¶
type Packet interface { PacketBase Trigger() error }
func NewPktTrigger ¶ added in v0.2.0
type PacketAsk ¶
type PacketAsk interface { PacketBase Ask() (PacketBase, error) }
type PacketBase ¶
type PacketBase interface { PktId() uint32 ParseFrom(encoding.Reader) error WriteTo(encoding.Writer) error }
var OkPkt PacketBase = Ok{}
func NewPkt ¶ added in v0.2.0
func NewPkt(id uint32) PacketBase
type PacketNewer ¶
type PacketNewer func() PacketBase
Click to show internal directories.
Click to hide internal directories.