util

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2020 License: MIT Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMaxPacket  = errors.New("packet over size")
	ErrMinPacket  = errors.New("packet short size")
	ErrShortMsgID = errors.New("short msgid")
)

Functions

func IsEOFOrNetReadError

func IsEOFOrNetReadError(err error) bool

func RecvLTVPacket

func RecvLTVPacket(reader io.Reader, maxPacketSize int) (msg interface{}, err error)

接收Length-Type-Value格式的封包流程

func SendLTVPacket

func SendLTVPacket(writer io.Writer, ctx cellnet.ContextSet, data interface{}) error

发送Length-Type-Value格式的封包流程

func SpliteAddress

func SpliteAddress(addr string) (host string, port int, err error)

func StringHash

func StringHash(s string) (hash uint16)

字符串转为16位整形值

func WriteFull

func WriteFull(writer io.Writer, buf []byte) error

完整发送所有封包

Types

type Pipe

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

不限制大小,添加不发生阻塞,接收阻塞等待

func NewPipe

func NewPipe() *Pipe

func (*Pipe) Add

func (self *Pipe) Add(msg interface{})

添加时不会发送阻塞

func (*Pipe) Pick

func (self *Pipe) Pick(retList *[]interface{}) (exit bool)

如果没有数据,发生阻塞

func (*Pipe) Reset

func (self *Pipe) Reset()

type Queue

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

func NewQueue

func NewQueue(size int) *Queue

func (*Queue) Count

func (self *Queue) Count() int

func (*Queue) Dequeue

func (self *Queue) Dequeue() (ret interface{})

func (*Queue) Enqueue

func (self *Queue) Enqueue(data interface{})

func (*Queue) Peek

func (self *Queue) Peek() interface{}

type SignalTester

type SignalTester struct {
	*testing.T
	// contains filtered or unexported fields
}

func NewSignalTester

func NewSignalTester(t *testing.T) *SignalTester

func (*SignalTester) Done

func (self *SignalTester) Done(value interface{})

func (*SignalTester) SetTimeout

func (self *SignalTester) SetTimeout(du time.Duration)

func (*SignalTester) WaitAndExpect

func (self *SignalTester) WaitAndExpect(msg string, values ...interface{}) bool

Jump to

Keyboard shortcuts

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