Documentation
¶
Index ¶
Constants ¶
View Source
const (
// TsLen equals ts(uint64) + data_offset(uint32)
TsLen = 8 + 4
)
Variables ¶
View Source
var ErrEncodeEmpty = errors.New("encode an empty value")
View Source
var ErrInvalidValue = errors.New("invalid encoded value")
Functions ¶
This section is empty.
Types ¶
type ParseInterval ¶
type SeriesDecoder ¶
type SeriesDecoder interface { // Decode the time series data Decode(key, data []byte) error // Len denotes the size of iterator Len() int // IsFull returns whether the encoded data reached its capacity IsFull() bool // Get the data point by its time Get(ts uint64) ([]byte, error) // Iterator returns a SeriesIterator Iterator() SeriesIterator }
SeriesDecoder decodes encoded time series data
type SeriesDecoderPool ¶
type SeriesDecoderPool interface { Get(metadata []byte) SeriesDecoder Put(encoder SeriesDecoder) }
func NewIntDecoderPool ¶
func NewIntDecoderPool(name string, size int, fn ParseInterval) SeriesDecoderPool
func NewPlainDecoderPool ¶
func NewPlainDecoderPool(name string, size int) SeriesDecoderPool
type SeriesEncoder ¶
type SeriesEncoder interface { // Append a data point Append(ts uint64, value []byte) // IsFull returns whether the encoded data reached its capacity IsFull() bool // Reset the underlying buffer Reset(key []byte) // Encode the time series data point to a binary Encode() ([]byte, error) // StartTime indicates the first entry's time StartTime() uint64 }
SeriesEncoder encodes time series data point
type SeriesEncoderPool ¶
type SeriesEncoderPool interface { Get(metadata []byte) SeriesEncoder Put(encoder SeriesEncoder) }
func NewIntEncoderPool ¶
func NewIntEncoderPool(name string, size int, fn ParseInterval) SeriesEncoderPool
func NewPlainEncoderPool ¶
func NewPlainEncoderPool(name string, size int) SeriesEncoderPool
type SeriesIterator ¶
type SeriesIterator interface { // Next scroll the cursor to the next Next() bool // Val returns the value of the current data point Val() []byte // Time returns the time of the current data point Time() uint64 // Error might return an error indicates a decode failure Error() error }
SeriesIterator iterates time series data
type XORDecoder ¶
type XORDecoder struct {
// contains filtered or unexported fields
}
XORDecoder decodes buffer to uint64 values using xor compress
func NewXORDecoder ¶
func NewXORDecoder(br *bit.Reader) *XORDecoder
NewXORDecoder create zstdDecoder decompress buffer using xor
func (*XORDecoder) Next ¶
func (d *XORDecoder) Next() bool
Next return if zstdDecoder has value in buffer using xor, do uncompress logic in next method, data format reference zstdEncoder format
func (*XORDecoder) Reset ¶
func (d *XORDecoder) Reset()
Reset resets the underlying buffer to decode
type XOREncoder ¶
type XOREncoder struct {
// contains filtered or unexported fields
}
XOREncoder intends to compress uint64 data https://www.vldb.org/pvldb/vol8/p1816-teller.pdf
func NewXOREncoder ¶
func NewXOREncoder(bw *bit.Writer) *XOREncoder
NewXOREncoder creates xor zstdEncoder for compressing uint64 data
func (*XOREncoder) Write ¶
func (e *XOREncoder) Write(val uint64)
Click to show internal directories.
Click to hide internal directories.