codec

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeNil uint8 = iota
	TypeDict
	TypeList
	TypeBytes
	TypeString
	TypeCustom = 10
)

Variables

View Source
var JSON = bytesWrapper{&jsonCodecObject}
View Source
var MP = bytesWrapper{&mpCodecObject}
View Source
var RLP = bytesWrapper{&rlpCodecObject}

Functions

func DecodeAny

func DecodeAny(tc TypeCodec, to *TypedObj) (interface{}, error)

func Marshal

func Marshal(w io.Writer, v interface{}) error

func MarshalAny

func MarshalAny(tc TypeCodec, o interface{}) ([]byte, error)

func MarshalToBytes

func MarshalToBytes(v interface{}) ([]byte, error)

func MustMarshalToBytes

func MustMarshalToBytes(v interface{}) []byte

func MustUnmarshalFromBytes

func MustUnmarshalFromBytes(b []byte, v interface{}) []byte

func Unmarshal

func Unmarshal(r io.Reader, v interface{}) error

func UnmarshalAny

func UnmarshalAny(tc TypeCodec, bs []byte) (interface{}, error)

func UnmarshalFromBytes

func UnmarshalFromBytes(b []byte, v interface{}) ([]byte, error)

Types

type Codec

type Codec interface {
	Marshal(w io.Writer, v interface{}) error
	Unmarshal(r io.Reader, v interface{}) error
}

type RLPDecoder

type RLPDecoder interface {
	io.Reader
	Decode(o interface{}) error
	DecodeContainer() (RLPDecoder, error)
}

type RLPEncoder

type RLPEncoder interface {
	io.Writer
	Encode(o interface{}) error
	EncodeContainer() (RLPEncoder, error)
}

type RLPSelfer

type RLPSelfer interface {
	RLPEncodeSelf(e RLPEncoder) error
	RLPDecodeSelf(d RLPDecoder) error
}

type TypeCodec

type TypeCodec interface {
	Decode(tag uint8, data []byte) (interface{}, error)
	Encode(o interface{}) (uint8, []byte, error)
}

type TypedObj

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

func EncodeAny

func EncodeAny(tc TypeCodec, o interface{}) (*TypedObj, error)

func (*TypedObj) CodecDecodeSelf

func (o *TypedObj) CodecDecodeSelf(d *ugorji.Decoder)

func (*TypedObj) CodecEncodeSelf

func (o *TypedObj) CodecEncodeSelf(e *ugorji.Encoder)

Jump to

Keyboard shortcuts

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