Documentation
¶
Index ¶
- type Client
- type DataReader
- type DataStreamReader
- func (d *DataStreamReader) GetOffset() uint64
- func (d *DataStreamReader) ReadKey(keySize uint32) ([]byte, error)
- func (d *DataStreamReader) ReadKeySize() (uint32, error)
- func (d *DataStreamReader) ReadValue(valueSize uint64) ([]byte, error)
- func (d *DataStreamReader) ReadValueSize() (uint64, error)
- func (d *DataStreamReader) Skip(valueSize uint64) error
- type Db
- type IdxEncoder
- type IdxPage
- type IdxPageWriter
- type IdxReader
- type Indexer
- type Pos
- type Server
- type ValEncoder
- type ValPage
- type ValPageWriter
- type ValReader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataReader ¶
type DataReader struct {
// contains filtered or unexported fields
}
read data from original file
func NewDataReader ¶
func NewDataReader() (*DataReader, error)
type DataStreamReader ¶
type DataStreamReader struct {
// contains filtered or unexported fields
}
stream read original file once read a chunk into buf and then loop through
file format is as follow
+----------+--------+------------+--------+ | key_size | key | value_size | value | | uint32 | []byte | uint64 | []byte | +----------+--------+------------+--------+
func NewDataStreamReader ¶
func NewDataStreamReader() (*DataStreamReader, error)
func (*DataStreamReader) GetOffset ¶
func (d *DataStreamReader) GetOffset() uint64
func (*DataStreamReader) ReadKey ¶
func (d *DataStreamReader) ReadKey(keySize uint32) ([]byte, error)
read key
func (*DataStreamReader) ReadKeySize ¶
func (d *DataStreamReader) ReadKeySize() (uint32, error)
read key_size
func (*DataStreamReader) ReadValue ¶
func (d *DataStreamReader) ReadValue(valueSize uint64) ([]byte, error)
read value
func (*DataStreamReader) ReadValueSize ¶
func (d *DataStreamReader) ReadValueSize() (uint64, error)
read value_size
func (*DataStreamReader) Skip ¶
func (d *DataStreamReader) Skip(valueSize uint64) error
skip a value
type Db ¶
type Db struct {
// contains filtered or unexported fields
}
type IdxEncoder ¶
type IdxEncoder struct {
// contains filtered or unexported fields
}
func NewIdxEncoder ¶
func NewIdxEncoder(w io.Writer) *IdxEncoder
type IdxPage ¶
type IdxPage struct {
// contains filtered or unexported fields
}
index page struct default 32mb
+--------+----------+------------+------------+------------+--------+ | count | keySizes | keyOffsets | valPageIds | valOffsets | buf | | uint32 | []uint32 | []uint32 | []uint32 | []uint32 | []byte | +--------+----------+------------+------------+------------+--------+
func NewIdxPage ¶
type IdxPageWriter ¶
type IdxPageWriter struct {
// contains filtered or unexported fields
}
func NewIdxPageWriter ¶
func NewIdxPageWriter(path string) (*IdxPageWriter, error)
type IdxReader ¶
type IdxReader struct {
// contains filtered or unexported fields
}
func NewIdxReader ¶
type Indexer ¶
type Indexer struct {
// contains filtered or unexported fields
}
func NewIndexer ¶
func NewIndexer() *Indexer
type Pos ¶
type Pos struct {
// contains filtered or unexported fields
}
pos is used to store value postion in value file
type ValEncoder ¶
type ValEncoder struct {
// contains filtered or unexported fields
}
func NewValEncoder ¶
func NewValEncoder(w io.Writer) *ValEncoder
type ValPage ¶
type ValPage struct {
// contains filtered or unexported fields
}
value page struct default 64mb
+--------+----------+------------+--------+ | count | valSizes | valOffsets | buf | | uint64 | []uint64 | []uint64 | []byte | +--------+----------+------------+--------+
func NewValPage ¶
type ValPageWriter ¶
type ValPageWriter struct {
// contains filtered or unexported fields
}
func NewValPageWriter ¶
func NewValPageWriter(path string) (*ValPageWriter, error)