Documentation ¶
Overview ¶
For key value stores where buckets are not supported, we add a byte to the key to represent a bucket. For now, all buckets are hard coded, but we could change that in the future.
Buckets are not really enough to index everything we wish to index. So we have labels as well. Labels are shifted 8 bits left, so they can be combined with the buckets to create a unique key.
This allows us to put the raw directory block at DBlockBucket+L_raw, and meta data about the directory block at DBlockBucket+MetaLabel
Index ¶
- func BytesInt64(data []byte) (int64, []byte)
- func BytesSlice(data []byte) (slice []byte, data2 []byte)
- func BytesUint64(data []byte) (uint64, []byte)
- func FormatTimeLapse(d time.Duration) string
- func FormatTimeLapseSeconds(total int64) string
- func Int64Bytes(i int64) []byte
- func SliceBytes(slice []byte) []byte
- func TestReceipt_PrintChart(t *testing.T)
- func Uint64Bytes(i uint64) (data []byte)
- type RandHash
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BytesInt64 ¶
BytesInt64 Unmarshal a int64 (big endian) We only need this function on top of BytesUint64 to avoid a type conversion when dealing with int64 values
func BytesSlice ¶
BytesSlice Convert a counted byte array (which is a count followed by the byte values) to a slice. We return what is left of the data once the counted byte array is removed
func BytesUint64 ¶
BytesUint64 Unmarshal a uint64 (big endian)
func FormatTimeLapse ¶
FormatTimeLapse Simple formatting for duration time. Prints all results within a fixed field of text.
func FormatTimeLapseSeconds ¶
DurationFormat Simple formatting if what I have is seconds. Prints all results within a fixed field of text.
func Int64Bytes ¶
Int64Bytes Marshal a int64 (big endian) We only need this function on top of Uint64Bytes to avoid a type conversion when dealing with int64 values
func SliceBytes ¶
SliceBytes Append a Uvarint length infront of a slice, effectively converting a slice to a counted string
func TestReceipt_PrintChart ¶
func Uint64Bytes ¶
Uint64Bytes Marshal a uint64 (big endian)
Types ¶
type RandHash ¶
type RandHash struct { List [][]byte // contains filtered or unexported fields }
RandHash Creates a deterministic stream of hashes. We need this all over our tests and though this is late to the party, it is very useful in testing in SMT
func (*RandHash) GetAElement ¶
GetAElement Get an Array of an element out of the list of hashes