rbytes

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2019 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Overview

Package rbytes contains the definitions of types useful for serializing and deserializing ROOT data buffers.

rbytes also defines the interfaces to interact with ROOT's metadata classes such as StreamerInfo and StreamerElements.

Index

Constants

View Source
const (
	BypassStreamer                  uint32 = 1 << 12
	CannotHandleMemberWiseStreaming uint32 = 1 << 17
)
View Source
const (
	StreamedMemberWise = 0x4000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Marshaler

type Marshaler interface {
	MarshalROOT(w *WBuffer) (int, error)
}

Marshaler is the interface implemented by an object that can marshal itself into a ROOT buffer

type RBuffer

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

RBuffer is a read-only ROOT buffer for streaming.

func NewRBuffer

func NewRBuffer(data []byte, refs map[int64]interface{}, offset uint32, ctx StreamerInfoContext) *RBuffer

func (*RBuffer) CheckByteCount

func (r *RBuffer) CheckByteCount(pos, count int32, start int64, class string)

func (*RBuffer) DumpHex added in v0.17.0

func (r *RBuffer) DumpHex(n int)

func (*RBuffer) Err

func (r *RBuffer) Err() error

func (*RBuffer) Len

func (r *RBuffer) Len() int64

func (*RBuffer) Pos

func (r *RBuffer) Pos() int64

func (*RBuffer) Read

func (r *RBuffer) Read(p []byte) (int, error)

func (*RBuffer) ReadBool

func (r *RBuffer) ReadBool() bool

func (*RBuffer) ReadCString

func (r *RBuffer) ReadCString(n int) string

func (*RBuffer) ReadF32

func (r *RBuffer) ReadF32() float32

func (*RBuffer) ReadF64

func (r *RBuffer) ReadF64() float64

func (*RBuffer) ReadFastArrayBool

func (r *RBuffer) ReadFastArrayBool(n int) []bool

func (*RBuffer) ReadFastArrayF32

func (r *RBuffer) ReadFastArrayF32(n int) []float32

func (*RBuffer) ReadFastArrayF64

func (r *RBuffer) ReadFastArrayF64(n int) []float64

func (*RBuffer) ReadFastArrayI16

func (r *RBuffer) ReadFastArrayI16(n int) []int16

func (*RBuffer) ReadFastArrayI32

func (r *RBuffer) ReadFastArrayI32(n int) []int32

func (*RBuffer) ReadFastArrayI64

func (r *RBuffer) ReadFastArrayI64(n int) []int64

func (*RBuffer) ReadFastArrayI8

func (r *RBuffer) ReadFastArrayI8(n int) []int8

func (*RBuffer) ReadFastArrayString

func (r *RBuffer) ReadFastArrayString(n int) []string

func (*RBuffer) ReadFastArrayU16

func (r *RBuffer) ReadFastArrayU16(n int) []uint16

func (*RBuffer) ReadFastArrayU32

func (r *RBuffer) ReadFastArrayU32(n int) []uint32

func (*RBuffer) ReadFastArrayU64

func (r *RBuffer) ReadFastArrayU64(n int) []uint64

func (*RBuffer) ReadFastArrayU8

func (r *RBuffer) ReadFastArrayU8(n int) []uint8

func (*RBuffer) ReadI16

func (r *RBuffer) ReadI16() int16

func (*RBuffer) ReadI32

func (r *RBuffer) ReadI32() int32

func (*RBuffer) ReadI64

func (r *RBuffer) ReadI64() int64

func (*RBuffer) ReadI8

func (r *RBuffer) ReadI8() int8

func (*RBuffer) ReadObject

func (r *RBuffer) ReadObject(class string) root.Object

func (*RBuffer) ReadObjectAny

func (r *RBuffer) ReadObjectAny() (obj root.Object)

func (*RBuffer) ReadSTLString added in v0.18.0

func (r *RBuffer) ReadSTLString() string

func (*RBuffer) ReadStaticArrayI32

func (r *RBuffer) ReadStaticArrayI32() []int32

func (*RBuffer) ReadString

func (r *RBuffer) ReadString() string

func (*RBuffer) ReadU16

func (r *RBuffer) ReadU16() uint16

func (*RBuffer) ReadU32

func (r *RBuffer) ReadU32() uint32

func (*RBuffer) ReadU64

func (r *RBuffer) ReadU64() uint64

func (*RBuffer) ReadU8

func (r *RBuffer) ReadU8() uint8

func (*RBuffer) ReadVersion

func (r *RBuffer) ReadVersion(class string) (vers int16, pos, n int32)

func (*RBuffer) SetErr

func (r *RBuffer) SetErr(err error)

func (*RBuffer) SetPos

func (r *RBuffer) SetPos(pos int64) error

func (*RBuffer) SkipObject

func (r *RBuffer) SkipObject()

func (*RBuffer) SkipVersion

func (r *RBuffer) SkipVersion(class string)

func (*RBuffer) StreamerInfo

func (r *RBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)

StreamerInfo returns the named StreamerInfo. If version is negative, the latest version should be returned.

type RStreamer added in v0.17.0

type RStreamer interface {
	RStreamROOT(*RBuffer) error
}

RStreamer is the interface implemented by types that can stream themselves from a ROOT buffer.

type RVersioner added in v0.17.0

type RVersioner interface {
	RVersion() int16
}

RVersioner is the interface implemented by an object that can tell the ROOT system what is its current version.

type Streamer added in v0.17.0

type Streamer interface {
	WStreamer
	RStreamer
}

Streamer is the interface implemented by types that can stream themselves to and from a ROOT buffer.

type StreamerElement

type StreamerElement interface {
	root.Named

	ArrayDim() int
	ArrayLen() int
	Type() rmeta.Enum
	Offset() uintptr
	Size() uintptr
	TypeName() string
	XMin() float64
	XMax() float64
	Factor() float64
}

StreamerElement describes a ROOT StreamerElement

type StreamerInfo

type StreamerInfo interface {
	root.Named

	CheckSum() int
	ClassVersion() int
	Elements() []StreamerElement
}

StreamerInfo describes a ROOT Streamer.

type StreamerInfoContext

type StreamerInfoContext interface {
	// StreamerInfo returns the named StreamerInfo.
	// If version is negative, the latest version should be returned.
	StreamerInfo(name string, version int) (StreamerInfo, error)
}

StreamerInfoContext defines the protocol to retrieve a ROOT StreamerInfo metadata type by name.

Implementations should make sure the protocol is goroutine safe.

type Unmarshaler

type Unmarshaler interface {
	UnmarshalROOT(r *RBuffer) error
}

Unmarshaler is the interface implemented by an object that can unmarshal itself from a ROOT buffer

type WBuffer

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

WBuffer is a write-only ROOT buffer for streaming.

func NewWBuffer

func NewWBuffer(data []byte, refs map[interface{}]int64, offset uint32, ctx StreamerInfoContext) *WBuffer

func (*WBuffer) Bytes

func (w *WBuffer) Bytes() []byte

func (*WBuffer) DumpHex added in v0.20.0

func (w *WBuffer) DumpHex(n int)

func (*WBuffer) Err

func (w *WBuffer) Err() error

func (*WBuffer) Grow

func (w *WBuffer) Grow(n int)

func (*WBuffer) Len added in v0.20.0

func (w *WBuffer) Len() int64

func (*WBuffer) Pos

func (w *WBuffer) Pos() int64

func (*WBuffer) SetByteCount

func (w *WBuffer) SetByteCount(beg int64, class string) (int, error)

func (*WBuffer) SetErr

func (w *WBuffer) SetErr(err error)

func (*WBuffer) SetPos

func (w *WBuffer) SetPos(pos int64)

func (*WBuffer) StreamerInfo added in v0.18.0

func (w *WBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)

StreamerInfo returns the named StreamerInfo. If version is negative, the latest version should be returned.

func (*WBuffer) Write

func (w *WBuffer) Write(p []byte) (int, error)

func (*WBuffer) WriteBool

func (w *WBuffer) WriteBool(v bool)

func (*WBuffer) WriteCString

func (w *WBuffer) WriteCString(v string)

func (*WBuffer) WriteClass

func (w *WBuffer) WriteClass(beg int64, obj root.Object) (uint32, error)

func (*WBuffer) WriteF32

func (w *WBuffer) WriteF32(v float32)

func (*WBuffer) WriteF64

func (w *WBuffer) WriteF64(v float64)

func (*WBuffer) WriteFastArrayBool

func (w *WBuffer) WriteFastArrayBool(v []bool)

func (*WBuffer) WriteFastArrayF32

func (w *WBuffer) WriteFastArrayF32(v []float32)

func (*WBuffer) WriteFastArrayF64

func (w *WBuffer) WriteFastArrayF64(v []float64)

func (*WBuffer) WriteFastArrayI16

func (w *WBuffer) WriteFastArrayI16(v []int16)

func (*WBuffer) WriteFastArrayI32

func (w *WBuffer) WriteFastArrayI32(v []int32)

func (*WBuffer) WriteFastArrayI64

func (w *WBuffer) WriteFastArrayI64(v []int64)

func (*WBuffer) WriteFastArrayI8

func (w *WBuffer) WriteFastArrayI8(v []int8)

func (*WBuffer) WriteFastArrayString added in v0.17.0

func (w *WBuffer) WriteFastArrayString(v []string)

func (*WBuffer) WriteFastArrayU16

func (w *WBuffer) WriteFastArrayU16(v []uint16)

func (*WBuffer) WriteFastArrayU32

func (w *WBuffer) WriteFastArrayU32(v []uint32)

func (*WBuffer) WriteFastArrayU64

func (w *WBuffer) WriteFastArrayU64(v []uint64)

func (*WBuffer) WriteFastArrayU8

func (w *WBuffer) WriteFastArrayU8(v []uint8)

func (*WBuffer) WriteI16

func (w *WBuffer) WriteI16(v int16)

func (*WBuffer) WriteI32

func (w *WBuffer) WriteI32(v int32)

func (*WBuffer) WriteI64

func (w *WBuffer) WriteI64(v int64)

func (*WBuffer) WriteI8

func (w *WBuffer) WriteI8(v int8)

func (*WBuffer) WriteObjectAny

func (w *WBuffer) WriteObjectAny(obj root.Object) error

func (*WBuffer) WriteSTLString added in v0.18.0

func (w *WBuffer) WriteSTLString(v string)

func (*WBuffer) WriteStaticArrayI32

func (w *WBuffer) WriteStaticArrayI32(v []int32)

func (*WBuffer) WriteString

func (w *WBuffer) WriteString(v string)

func (*WBuffer) WriteU16

func (w *WBuffer) WriteU16(v uint16)

func (*WBuffer) WriteU32

func (w *WBuffer) WriteU32(v uint32)

func (*WBuffer) WriteU64

func (w *WBuffer) WriteU64(v uint64)

func (*WBuffer) WriteU8

func (w *WBuffer) WriteU8(v uint8)

func (*WBuffer) WriteVersion

func (w *WBuffer) WriteVersion(vers int16) int64

type WStreamer added in v0.17.0

type WStreamer interface {
	WStreamROOT(*WBuffer) error
}

WStreamer is the interface implemented by types that can stream themselves to a ROOT buffer.

Jump to

Keyboard shortcuts

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