# Packages
Package codec provides a
High Performance, Feature-Rich Idiomatic Go 1.4+ codec/encoding library
for binc, msgpack, cbor, json.
codecgen generates static implementations of the encoder and decoder functions for a given type, bypassing reflection, and giving some performance benefits in terms of wall and cpu time, and memory usage.
# Functions
GenHelperDecoder is exported so that it can be used externally by codecgen.
GenHelperEncoder is exported so that it can be used externally by codecgen.
NewDecoder returns a Decoder for decoding a stream of bytes from an io.Reader.
NewDecoderBytes returns a Decoder which efficiently decodes directly from a byte slice with zero copying.
NewEncoder returns an Encoder for encoding into an io.Writer.
NewEncoderBytes returns an encoder for encoding directly and efficiently into a byte slice, using zero-copying to temporary slices.
NewTypeInfos creates a TypeInfos given a set of struct tags keys.
# Constants
GenVersion is the current version of codecgen.
# Variables
GoRpc implements Rpc using the communication protocol defined in net/rpc package.
MsgpackSpecRpc implements Rpc using the communication protocol defined in the msgpack spec at https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md .
# Structs
BasicHandle encapsulates the common options and extension functions.
DecodeOptions captures configuration options during decode.
Decoder reads and decodes an object from an input stream in a supported format.
EncodeOptions captures configuration options during encode.
Encoder writes an object to an output stream in a supported format.
JsonHandle is a handle for JSON encoding format.
MsgpackHandle is a Handle for the Msgpack Schema-Free Encoding Format.
RawExt represents raw unprocessed extension data.
RPCOptions holds options specific to rpc functionality.
TypeInfos caches typeInfo for each type on first inspection.
# Interfaces
BytesExt handles custom (de)serialization of types to/from []byte.
Ext handles custom (de)serialization of custom types / extensions.
Handle defines a specific encoding format.
InterfaceExt handles custom (de)serialization of types to/from another interface{} value.
MapBySlice is a tag interface that denotes wrapped slice should encode as a map in the stream.
MissingFielder defines the interface allowing structs to internally decode or encode values which do not map to struct fields.
Rpc provides a rpc Server or Client Codec for rpc communication.
Selfer defines methods by which a value can encode or decode itself.
# Type aliases
MsgpackSpecRpcMultiArgs is a special type which signifies to the MsgpackSpecRpcCodec that the backend RPC service takes multiple arguments, which have been arranged in sequence in the slice.
Raw represents raw formatted bytes.