Documentation ¶
Overview ¶
serialize
Index ¶
- func CopyMemory(src, dst []byte) int
- func GetLengthDataLen(avLen uint32) uint32
- func GetValueDataPtr(v *reflect.Value) uintptr
- func Move(src, dst uintptr, size uint32)
- func ReadLength(bits []byte) (lengthValue uint32, readLen uint32)
- func ReadString(bits []byte) (str string, readLen uint32)
- func WiriteLength(bits []byte, aLength uint32) (wirteLen uint32)
- func WriteString(bits []byte, str string) (writeLen uint32)
- type BufferUtils
- func (bw *BufferUtils) GetDataLen() int
- func (bw *BufferUtils) GetPos() int
- func (bw *BufferUtils) ReadUint16() (v uint16)
- func (bw *BufferUtils) ReadUint32() (v uint32)
- func (bw *BufferUtils) ReadUint64() (v uint64)
- func (bw *BufferUtils) ReadUint8() (v uint8)
- func (bw *BufferUtils) ResetPos(newPos int) (r bool)
- func (bw *BufferUtils) Seek(offset int) bool
- func (bw *BufferUtils) Write(a any) bool
- type DataPack
- type DefaultHeadHandler
- type FastLocker
- type HashIdType
- type HeadInfo
- type IMsgHandler
- type IPackHeader
- type MsgBody
- type MsgHeader
- type PByteArray
- type PStrArray
- type Serializer
- func (s *Serializer) Decode(bits []byte, ptr interface{}) bool
- func (s *Serializer) DecodeStruct(id HashIdType, bits []byte) (obj interface{}, isOk bool)
- func (s *Serializer) Encode(ptr interface{}) (result []byte, ok bool)
- func (s *Serializer) NewStruct(id HashIdType) interface{}
- func (s *Serializer) RegisterType(id HashIdType, obj interface{}) bool
- type SockOptions
- type SocketClient
- type SocketConnection
- type SocketServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyMemory ¶
func GetLengthDataLen ¶
func GetValueDataPtr ¶
func ReadLength ¶
func ReadString ¶
func WiriteLength ¶
func WriteString ¶
Types ¶
type BufferUtils ¶
type BufferUtils struct {
// contains filtered or unexported fields
}
func NewBufferUtils ¶
func NewBufferUtils(buff []byte) *BufferUtils
func (*BufferUtils) GetDataLen ¶
func (bw *BufferUtils) GetDataLen() int
func (*BufferUtils) GetPos ¶
func (bw *BufferUtils) GetPos() int
func (*BufferUtils) ReadUint16 ¶
func (bw *BufferUtils) ReadUint16() (v uint16)
func (*BufferUtils) ReadUint32 ¶
func (bw *BufferUtils) ReadUint32() (v uint32)
func (*BufferUtils) ReadUint64 ¶
func (bw *BufferUtils) ReadUint64() (v uint64)
func (*BufferUtils) ReadUint8 ¶
func (bw *BufferUtils) ReadUint8() (v uint8)
func (*BufferUtils) ResetPos ¶
func (bw *BufferUtils) ResetPos(newPos int) (r bool)
func (*BufferUtils) Seek ¶
func (bw *BufferUtils) Seek(offset int) bool
func (*BufferUtils) Write ¶
func (bw *BufferUtils) Write(a any) bool
type DefaultHeadHandler ¶
type DefaultHeadHandler struct { }
func (*DefaultHeadHandler) GetSize ¶
func (d *DefaultHeadHandler) GetSize() uint32
type FastLocker ¶
type FastLocker struct {
// contains filtered or unexported fields
}
func (*FastLocker) Lock ¶
func (l *FastLocker) Lock()
func (*FastLocker) Unlock ¶
func (l *FastLocker) Unlock()
type HashIdType ¶
type HashIdType = int32 // =, 用别名,方便兼容
type IMsgHandler ¶
type IMsgHandler interface { OnConnect(sock SocketConnection) OnDisconnect(sock SocketConnection) OnMessage(sock SocketConnection, msg *DataPack) }
type IPackHeader ¶
type MsgBody ¶
type MsgBody struct { MsgHead interface{} Datas []byte // contains filtered or unexported fields }
type PByteArray ¶
type PByteArray (*[cMaxArrSize]byte)
type Serializer ¶
type Serializer struct {
// contains filtered or unexported fields
}
func New ¶
func New(isLikeCStruct bool, hashTblSize int) *Serializer
方便线程和不同的模式使用 isLikeCStruct 主要是跟 c++、Delphi 类通讯
func (*Serializer) Decode ¶
func (s *Serializer) Decode(bits []byte, ptr interface{}) bool
func (*Serializer) DecodeStruct ¶
func (s *Serializer) DecodeStruct(id HashIdType, bits []byte) (obj interface{}, isOk bool)
func (*Serializer) Encode ¶
func (s *Serializer) Encode(ptr interface{}) (result []byte, ok bool)
这里传指针,加快访问速度
func (*Serializer) NewStruct ¶
func (s *Serializer) NewStruct(id HashIdType) interface{}
根据注册ID新建结构,方便外面使用
func (*Serializer) RegisterType ¶
func (s *Serializer) RegisterType(id HashIdType, obj interface{}) bool
type SockOptions ¶
type SockOptions struct { HeadHandler IPackHeader MsgHandler IMsgHandler SockBufferSize uint32 }
type SocketClient ¶
type SocketClient interface { Open() // 开始连接,打开会会自动连接 Close() // 关闭连接 GetConnection() SocketConnection Connected() bool // 判断是否连接 }
func NewSocketClient ¶
func NewSocketClient(addr string, avOpts SockOptions) SocketClient
type SocketConnection ¶
type SocketServer ¶
type SocketServer interface { Open(avPort uint16) bool // 开启服务 Close() // 关闭 Foreach(f enum_callback) // 遍历连接 SendMsg(SockId int32, msgHead interface{}, avBytes []byte) bool // 根据id 发送消息 SendData(SockId int32, Data []byte) bool // 直接发送数据 GetConnectCount() int32 // 获取连接总数 }
func NewSocketServer ¶
func NewSocketServer(avOpts SockOptions) SocketServer
Click to show internal directories.
Click to hide internal directories.