Documentation
¶
Index ¶
- func Decode(data []byte) (interface{}, error)
- func Encode(value interface{}) ([]byte, error)
- func ManualDecode(data []byte, decoder ManualDecodeFunc) (interface{}, error)
- func ManualEncode(value interface{}, encoder ManualEncodeFunc) ([]byte, error)
- type IMessageCodec
- type ManualDecodeFunc
- type ManualEncodeFunc
- type ManualReader
- func (m *ManualReader) Read() (interface{}, error)
- func (m *ManualReader) ReadBool() (bool, error)
- func (m *ManualReader) ReadByteArray() ([]byte, error)
- func (m *ManualReader) ReadFloat32() (float32, error)
- func (m *ManualReader) ReadFloat64() (float64, error)
- func (m *ManualReader) ReadInt() (int, error)
- func (m *ManualReader) ReadN(count int) ([]interface{}, error)
- func (m *ManualReader) ReadString() (string, error)
- func (m *ManualReader) ReadUint() (uint, error)
- type SimpleMessageCodec
- func (s *SimpleMessageCodec) Decode(data []byte) (interface{}, error)
- func (s *SimpleMessageCodec) Encode(value interface{}) ([]byte, error)
- func (s *SimpleMessageCodec) ManualDecode(data []byte, executor ManualDecodeFunc) (interface{}, error)
- func (s *SimpleMessageCodec) ManualEncode(data interface{}, executor ManualEncodeFunc) ([]byte, error)
- type WriterFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ManualDecode ¶ added in v0.0.4
func ManualDecode(data []byte, decoder ManualDecodeFunc) (interface{}, error)
Perform manual decoding with pure implementation manual decoder
func ManualEncode ¶ added in v0.0.4
func ManualEncode(value interface{}, encoder ManualEncodeFunc) ([]byte, error)
Perform manual encoding with pure implementation manual encoder
Types ¶
type IMessageCodec ¶
type ManualDecodeFunc ¶ added in v0.0.3
type ManualDecodeFunc func(reader *ManualReader) (interface{}, error)
type ManualEncodeFunc ¶ added in v0.0.3
type ManualEncodeFunc func(data interface{}, write WriterFunc) error
type ManualReader ¶ added in v0.0.3
type ManualReader struct {
// contains filtered or unexported fields
}
func (*ManualReader) Read ¶ added in v0.0.3
func (m *ManualReader) Read() (interface{}, error)
Read one stored data Will return the data directly
func (*ManualReader) ReadBool ¶ added in v0.0.5
func (m *ManualReader) ReadBool() (bool, error)
Read one stored data as bool Will return the data directly
func (*ManualReader) ReadByteArray ¶ added in v0.0.5
func (m *ManualReader) ReadByteArray() ([]byte, error)
Read one stored data as array of byte Will return the data directly
func (*ManualReader) ReadFloat32 ¶ added in v0.0.5
func (m *ManualReader) ReadFloat32() (float32, error)
Read one stored data as float 32 Will return the data directly
func (*ManualReader) ReadFloat64 ¶ added in v0.0.5
func (m *ManualReader) ReadFloat64() (float64, error)
Read one stored data as float 64 Will return the data directly
func (*ManualReader) ReadInt ¶ added in v0.0.5
func (m *ManualReader) ReadInt() (int, error)
Read one stored data as int Will return the data directly
func (*ManualReader) ReadN ¶ added in v0.0.3
func (m *ManualReader) ReadN(count int) ([]interface{}, error)
Read N number of stored data Will return the data as array
func (*ManualReader) ReadString ¶ added in v0.0.5
func (m *ManualReader) ReadString() (string, error)
Read one stored data as string Will return the data directly
func (*ManualReader) ReadUint ¶ added in v0.0.5
func (m *ManualReader) ReadUint() (uint, error)
Read one stored data as uint Will return the data directly
type SimpleMessageCodec ¶
type SimpleMessageCodec struct {
// contains filtered or unexported fields
}
func NewSimpleMessageCodec ¶
func NewSimpleMessageCodec() *SimpleMessageCodec
Creates new message codec with default encoder
func NewSimpleMessageCodecWithJsoniter ¶
func NewSimpleMessageCodecWithJsoniter() *SimpleMessageCodec
Creates new message codec but uses Jsoniter to handle struct and map
func NewUniversalSimpleMessageCodec ¶ added in v0.0.5
func NewUniversalSimpleMessageCodec() *SimpleMessageCodec
Creates new message codec but uses universally known data type. This avoid inconsistency when dealing with langguage that doesn't have certain data type. Example scenario of this is that there is no `uint` data type in `Java`, `Javascript`, or even `Python`.
func (*SimpleMessageCodec) Decode ¶
func (s *SimpleMessageCodec) Decode(data []byte) (interface{}, error)
Automatically decode value that is encoded using Encode function
func (*SimpleMessageCodec) Encode ¶
func (s *SimpleMessageCodec) Encode(value interface{}) ([]byte, error)
Automatically encode value into array of bytes. The order are determined by the encoder. Can only be decoded using Decode function.
func (*SimpleMessageCodec) ManualDecode ¶ added in v0.0.3
func (s *SimpleMessageCodec) ManualDecode(data []byte, executor ManualDecodeFunc) (interface{}, error)
Manually decode a data You are responsible to determine the data order Data order is the same as in the ManualEncode Useful if you want to decode arbitrary data
func (*SimpleMessageCodec) ManualEncode ¶ added in v0.0.3
func (s *SimpleMessageCodec) ManualEncode(data interface{}, executor ManualEncodeFunc) ([]byte, error)
Manually encode a data You are responsible to determine the data order May gain performance increase if all encoded data are natively supported Useful if you want to encode arbitrary data
type WriterFunc ¶ added in v0.0.3
type WriterFunc func(data ...interface{}) error