cbor

package
v0.0.0-...-81aed03 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TagStandardDateTimeString      TagSmall = 0
	TagEpochDateTimeNumber         TagSmall = 1
	TagExpectConversionToBase64Url TagSmall = 21
	TagExpectConversionToBase64Std TagSmall = 22
	TagExpectConversionToHex       TagSmall = 23

	TagEncodedCBORDataItem        TagUint8 = 24
	TagReferenceNthPreviousString TagUint8 = 25
	TagURIValue                   TagUint8 = 32
	TagBase64Url                  TagUint8 = 33
	TagBase64Std                  TagUint8 = 34
	TagRegexp                     TagUint8 = 35
	TagBinaryUUID                 TagUint8 = 37
	TagMultiDimArrayRowMajor      TagUint8 = 40
	TagHomogenousArray            TagUint8 = 41
	TagIPv4                       TagUint8 = 52
	TagIPv6                       TagUint8 = 54
	TagEncodedCBORSequence        TagUint8 = 63
	TagTypedArrayUint8            TagUint8 = 64
	TagTypedArrayUint16BE         TagUint8 = 65
	TagTypedArrayUint32BE         TagUint8 = 66
	TagTypedArrayUint64BE         TagUint8 = 67
	TagTypedArrayUint8Clamped     TagUint8 = 68
	TagTypedArrayUint16LE         TagUint8 = 69
	TagTypedArrayUint32LE         TagUint8 = 70
	TagTypedArrayUint64LE         TagUint8 = 71
	TagTypedArraySint8            TagUint8 = 72
	TagTypedArraySint16BE         TagUint8 = 73
	TagTypedArraySint32BE         TagUint8 = 74
	TagTypedArraySint64BE         TagUint8 = 75
	TagTypedArraySint16LE         TagUint8 = 77
	TagTypedArraySint32LE         TagUint8 = 78
	TagTypedArraySint64LE         TagUint8 = 79
	TagTypedArrayFloat16BE        TagUint8 = 80
	TagTypedArrayFloat32BE        TagUint8 = 81
	TagTypedArrayFloat64BE        TagUint8 = 82
	TagTypedArrayFloat128BE       TagUint8 = 83
	TagTypedArrayFloat16LE        TagUint8 = 84
	TagTypedArrayFloat32LE        TagUint8 = 85
	TagTypedArrayFloat64LE        TagUint8 = 86
	TagTypedArrayFloat128LE       TagUint8 = 87

	TagMathematicalFiniteSet    TagUint16 = 258
	TagEmbeddedJSON             TagUint16 = 262
	TagHexString                TagUint16 = 263
	TagMultiDimArrayColumnMajor TagUint16 = 1040
	TagSelfDescribedCBOR        TagUint16 = 55799
	TagFileContainsCBORSeq      TagUint16 = 55800
)
View Source
const MaxTagSmallIncl uint8 = 23

Variables

View Source
var TokenToString = [31]string{
	"finished",
	"indefArrayStart",
	"indefArrayStop",
	"indefMapStart",
	"indefMapStop",
	"indefByteStringStop",
	"indefByteStringStart",
	"indefUtf8StringStart",
	"indefUtf8StringStop",
	"array",
	"map",
	"taggedValue",
	"byteString",
	"utf8String",
	"uint8",
	"uint16",
	"uint32",
	"uint64",
	"int8",
	"int16",
	"int32",
	"int64",
	"unassignedSimpleValue",
	"false",
	"true",
	"null",
	"undefined",
	"reservedSimpleValue",
	"float16",
	"float32",
	"float64",
}

Functions

This section is empty.

Types

type BasicEncoder

type BasicEncoder interface {
	EncodeUint(val uint64) (int, error)
	EncodeInt(val int64) (int, error)
	EncodeByteSlice(val []byte) (int, error)
	EncodeCborPayload(val []byte) (int, error)
	EncodeString(val string) (int, error)
	EncodeBool(val bool) (int, error)
	EncodeFloat32(val float32) (int, error)
	EncodeFloat64(val float64) (int, error)
	EncodeTimeUTC(val time.Time) (int, error)
	EncodeArrayDefinite(len uint64) (int, error)
	EncodeMapDefinite(len uint64) (int, error)
	EncodeNil() (int, error)
}

type Diagnostics

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

func NewDiagnostics

func NewDiagnostics() *Diagnostics

func (*Diagnostics) Run

func (*Diagnostics) RunIndent

func (inst *Diagnostics) RunIndent(w io.StringWriter, r ea2.ByteBlockDiscardReader, indentStr string) error

func (*Diagnostics) ToString

func (inst *Diagnostics) ToString(cbor []byte) (string, error)

func (*Diagnostics) ToStringIndent

func (inst *Diagnostics) ToStringIndent(cbor []byte, indentStr string) (string, error)

type Encoder

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

func NewEncoder

func NewEncoder(w EncoderWriter, hasher hash.Hash) *Encoder

func (*Encoder) EncodeArrayDefinite

func (inst *Encoder) EncodeArrayDefinite(len uint64) (n int, err error)

func (*Encoder) EncodeArrayIndefinite

func (inst *Encoder) EncodeArrayIndefinite() (n int, err error)

func (*Encoder) EncodeBool

func (inst *Encoder) EncodeBool(val bool) (n int, err error)

func (*Encoder) EncodeBreak

func (inst *Encoder) EncodeBreak() (n int, err error)

func (*Encoder) EncodeByteSlice

func (inst *Encoder) EncodeByteSlice(b []byte) (n int, err error)

func (*Encoder) EncodeCborPayload

func (inst *Encoder) EncodeCborPayload(val []byte) (n int, err error)

func (*Encoder) EncodeFloat32

func (inst *Encoder) EncodeFloat32(val float32) (n int, err error)

func (*Encoder) EncodeFloat64

func (inst *Encoder) EncodeFloat64(val float64) (n int, err error)

func (*Encoder) EncodeInt

func (inst *Encoder) EncodeInt(val int64) (int, error)

func (*Encoder) EncodeIpAddr

func (inst *Encoder) EncodeIpAddr(val netip.Addr) (n int, err error)

func (*Encoder) EncodeJsonPayload

func (inst *Encoder) EncodeJsonPayload(val []byte) (n int, err error)

func (*Encoder) EncodeMapDefinite

func (inst *Encoder) EncodeMapDefinite(len uint64) (n int, err error)

func (*Encoder) EncodeMapIndefinite

func (inst *Encoder) EncodeMapIndefinite() (n int, err error)

func (*Encoder) EncodeNil

func (inst *Encoder) EncodeNil() (n int, err error)

func (*Encoder) EncodeString

func (inst *Encoder) EncodeString(str string) (n int, err error)

func (*Encoder) EncodeTagSmall

func (inst *Encoder) EncodeTagSmall(val TagSmall) (int, error)

func (*Encoder) EncodeTimeUTC

func (inst *Encoder) EncodeTimeUTC(val time.Time) (n int, err error)

func (*Encoder) EncodeUint

func (inst *Encoder) EncodeUint(val uint64) (int, error)

func (*Encoder) Hash

func (inst *Encoder) Hash(b []byte) (hash []byte, err error)

func (*Encoder) Reset

func (inst *Encoder) Reset()

func (*Encoder) TagUint16

func (inst *Encoder) TagUint16(val TagUint16) (int, error)

func (*Encoder) TagUint32

func (inst *Encoder) TagUint32(val TagUint32) (int, error)

func (*Encoder) TagUint64

func (inst *Encoder) TagUint64(val TagUint64) (int, error)

func (*Encoder) TagUint8

func (inst *Encoder) TagUint8(val TagUint8) (int, error)

type EncoderWriter

type EncoderWriter interface {
	io.ByteWriter
	io.Writer
	io.StringWriter
}

type Generator

type Generator struct {
	MaxNestingLevel int
	Hasher          hash.Hash64
	Enc             *Encoder
	// contains filtered or unexported fields
}

func NewGenerator

func NewGenerator(w EncoderWriter, randSeed int64, charset string) *Generator

func (*Generator) GenerateRandomCbor

func (inst *Generator) GenerateRandomCbor() (n int, err error)

func (*Generator) GenerateRandomCborScalar

func (inst *Generator) GenerateRandomCborScalar() (n int, err error)

func (*Generator) Reset

func (inst *Generator) Reset()

func (*Generator) SetMaxStringLength

func (inst *Generator) SetMaxStringLength(n int)

type MajorType

type MajorType uint8
const MajorTypeArray MajorType = 4
const MajorTypeByteString MajorType = 2
const MajorTypeFloatOrSimple MajorType = 7
const MajorTypeMap MajorType = 5
const MajorTypeNegativeInt MajorType = 1
const MajorTypePositiveInt MajorType = 0
const MajorTypeTag MajorType = 6
const MajorTypeUtf8String MajorType = 3

type PullParser

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

func NewPullParser

func NewPullParser(rd io.ByteReader) *PullParser

func (*PullParser) BytesConsumed

func (inst *PullParser) BytesConsumed() int64

func (*PullParser) Consume

func (inst *PullParser) Consume() (token TokenE, retr uint64, bytesToConsumeBeforeNextCall uint64, completedNestings uint32, err error)

Consume Depth-first tree traversal in pre-order (root -> left -> right). bytesToConsumeBeforeNextCall are accounted as consumed in BytesConsumed()

func (*PullParser) ConsumeCollectTags

func (inst *PullParser) ConsumeCollectTags() (tags []uint64, token TokenE, retr uint64, bytesToConsumeBeforeNextCall uint64, completedNestings uint32, err error)

func (*PullParser) ConsumeIgnoreTags

func (inst *PullParser) ConsumeIgnoreTags() (token TokenE, retr uint64, bytesToConsumeBeforeNextCall uint64, completedNestings uint32, err error)

func (*PullParser) ConsumeIndefiniteByteString

func (inst *PullParser) ConsumeIndefiniteByteString(w io.Writer, r io.Reader) (segments int, err error)

func (*PullParser) ConsumeIndefiniteUtf8String

func (inst *PullParser) ConsumeIndefiniteUtf8String(w io.Writer, r io.Reader) (segments int, err error)

func (*PullParser) ContainerLengthStack

func (inst *PullParser) ContainerLengthStack() []int64

func (*PullParser) Reset

func (inst *PullParser) Reset(rd io.ByteReader)

type TagSmall

type TagSmall uint8

type TagUint16

type TagUint16 uint16

type TagUint32

type TagUint32 uint32

type TagUint64

type TagUint64 uint64

type TagUint8

type TagUint8 uint8

type TokenE

type TokenE uint8
const TokenArray TokenE = 9
const TokenByteString TokenE = 12
const TokenFalse TokenE = 23
const TokenFinished TokenE = 0
const TokenFloat16 TokenE = 28
const TokenFloat32 TokenE = 29
const TokenFloat64 TokenE = 30
const TokenIndefArrayStart TokenE = 1
const TokenIndefArrayStop TokenE = 2
const TokenIndefByteStringStart TokenE = 6
const TokenIndefByteStringStop TokenE = 5
const TokenIndefMapStart TokenE = 3
const TokenIndefMapStop TokenE = 4
const TokenIndefUtf8StringStart TokenE = 7
const TokenIndefUtf8StringStop TokenE = 8
const TokenInt16 TokenE = 19
const TokenInt32 TokenE = 20
const TokenInt64 TokenE = 21
const TokenInt8 TokenE = 18
const TokenMap TokenE = 10
const TokenNull TokenE = 25
const TokenReservedSimpleValue TokenE = 27
const TokenTaggedValue TokenE = 11
const TokenTrue TokenE = 24
const TokenUInt16 TokenE = 15
const TokenUInt32 TokenE = 16
const TokenUInt64 TokenE = 17
const TokenUInt8 TokenE = 14
const TokenUTF8String TokenE = 13
const TokenUnassignedSimpleValue TokenE = 22
const TokenUndefined TokenE = 26

type Tokenizer

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

func NewTokenizer

func NewTokenizer(rd io.ByteReader) *Tokenizer

func (*Tokenizer) Next

func (inst *Tokenizer) Next() (token TokenE, bytesRead int, retr uint64, err error)

func (*Tokenizer) Reset

func (inst *Tokenizer) Reset(rd io.ByteReader)

type TokenizerState

type TokenizerState int
const TokenizerStateConsumeArray TokenizerState = 1
const TokenizerStateConsumeIndefArray TokenizerState = 5
const TokenizerStateConsumeIndefByteChunks TokenizerState = 3
const TokenizerStateConsumeIndefMapKey TokenizerState = 6
const TokenizerStateConsumeIndefMapValue TokenizerState = 7
const TokenizerStateConsumeIndefUtf8StringChunks TokenizerState = 4
const TokenizerStateConsumeMap TokenizerState = 2
const TokenizerStateConsumeSingle TokenizerState = 0

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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