Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bnclabs/gostore
/ types & classes
Types & classes
71 in github.com/bnclabs/gostore
⨍
Functions
1,140
◇
Types & classes
71
↓ 12 callers
TypeAlias
Bit8
Bit8 alias for byte, provides bit twiddling methods on 8-bit number.
lib/bit8.go:4
↓ 12 callers
TypeAlias
Uuid
Uuid bytes of values read from cyptro/rand.
lib/uuid.go:6
↓ 10 callers
TypeAlias
zsnap
---- znode for reading entries.
bubt/snapzblock.go:9
↓ 6 callers
TypeAlias
keyhdr
keyhdr 16-bit flags, 16-bit vbno, 32 bit field selector mask(63:32) vbno(32:16) flags[16:0]
api/pkey.go:131
↓ 5 callers
TypeAlias
Bit32
Bit32 alias for uint32, provides bit twiddling methods on 32-bit number.
lib/bit32.go:4
↓ 4 callers
TypeAlias
blkindex
TODO: this can be optimized by maintaining index as []byte array of offsets instead of []uint32.
bubt/blockindex.go:5
↓ 4 callers
TypeAlias
keymask
keymask 32-bit field mask that can selectively enable or disable parameters in key. There can be a maximum of 32 params.
api/pkey.go:159
↓ 4 callers
TypeAlias
msnap
bubt/snapmblock.go:7
↓ 4 callers
TypeAlias
zentry
zentry represents the binary layout of each entry in the leaf(z) block. hdr1: flags[64:60] seqno[60:0] hdr2: 8 bytes // key-len hdr3: 8 bytes // value
bubt/zentry.go:17
↓ 3 callers
TypeAlias
mentry
mentry represents the binary layout of each entry in the intermediate-block. klen uint64 vlen uint64
bubt/mentry.go:8
↓ 2 callers
TypeAlias
keyflags
keyflags can be used with ParametrisedKey type.
api/pkey.go:250
↓ 1 callers
TypeAlias
ParametrisedKey
ParametrisedKey type can be used to encode additional parameters into the key without interferring with its sort order. To be implemented.
api/pkey.go:10
Struct
Arena
Arena of memory.
malloc/arena.go:20
Struct
AverageInt64
AverageInt64 compute statistical mean, median and variance for a sample set of int64 numbers.
lib/avgint.go:7
Struct
Bogn
TODO: enable count aggregation across snapshots, with data-structures that support LSM it is difficult to maintain accurate count. Bogn instance to in
bogn/bogn.go:32
Struct
Bubt
Bubt instance can be used to persist sorted {key,value} entries in immutable btree, built bottoms up and not updated there after.
bubt/build.go:25
Interface
Cursor
Cursor object maintains an active pointer into index. Use OpenCursor on Transactor object to create a new cursor.
api/index.go:100
Struct
Cursor
Cursor object maintains an active pointer into index. Use OpenCursor on Txn object to create a new cursor.
bogn/cursor.go:11
Struct
Cursor
Cursor object maintains an active pointer into the index. Use OpenCursor on Txn object to create a new cursor.
llrb/cursor.go:11
Struct
Cursor
Cursor object maintains an active pointer into index. Use OpenCursor on Txn object to create a new cursor.
bubt/cursor.go:8
Interface
Disksnapshot
Disksnapshot provides read-only API to fetch snapshot information.
api/index.go:151
FuncType
EntryIterator
EntryIterator function to iterate on each indexed entry in sort order. Returned IndexEntry is valid only till next call to the EntryIterator.
api/index.go:11
FuncType
Getter
Getter function, given a key, returns indexed entry.
api/index.go:4
Struct
HistogramInt64
HistogramInt64 statistical histogram.
lib/htgint.go:10
Interface
Index
Index defines basic set of index operations that are mandated.
api/index.go:14
Interface
IndexEntry
IndexEntry interface can be used to access individual fields in an entry.
api/index.go:134
FuncType
Iterator
Iterator function to iterate on each indexed entry in sort order.
api/index.go:7
Struct
LLRB
LLRB to manage a single instance of in-memory sorted index using left-leaning-red-black tree. LLRB instance shall implement api.Index interface, and c
llrb/llrb.go:22
Struct
Llrbnode
Llrbnode defines a node in LLRB tree.
llrb/node.go:22
Struct
MVCC
MVCC manages a single instance of in-memory sorted index using left-leaning-red-black tree. This implementations supports copy on write for all write
llrb/mvcc.go:25
Interface
Mallocer
Mallocer interface for custom memory management.
api/alloc.go:6
Class
Node
papers/Sedgewick-RedBlackBST.java:17
Struct
RWMutex
RWMutex is equivalent to sync.RWMutex, but synchronizes across processes.
flock/mutex_windows.go:51
Struct
RWMutex
RWMutex is equivalent to sync.RWMutex, but synchronizes across processes.
flock/mutex_unix.go:9
Class
RedBlackBST
papers/Sedgewick-RedBlackBST.java:1
Struct
Snapshot
Snapshot to read index entries persisted using Bubt builder. Since no writes are allowed on the btree, any number of snapshots can be opened for readi
bubt/snapshot.go:23
Interface
Transactor
Transaction definition. Transactions give a gaurantee of isolation and atomicity on the latest snapshot. For iteration, use OpenCursor(). If Transacto
api/index.go:70
Struct
Txn
Txn transaction definition. Transaction gives a gaurantee of isolation and atomicity on the latest snapshot.
bogn/txn.go:10
Struct
Txn
Txn transaction definition. Transaction gives a gaurantee of isolation and atomicity on the latest snapshot.
llrb/txn.go:11
Struct
View
View transaction definition. Read only version of Txn.
bogn/view.go:9
Struct
View
View transaction definition. Read only version of Txn.
llrb/view.go:6
Struct
View
View read only transaction instance.
bubt/view.go:6
Struct
blockdata
bubt/blockpool.go:19
Struct
blockpool
bubt/blockpool.go:9
Struct
bubtflusher
bubt/go_buildflush.go:9
Struct
disksnap
bogn/disk.go:5
Struct
eofentry
lsm/eofentry.go:5
Struct
eofentry
bogn/eofentry.go:5
Struct
fbitPools
malloc/.pool_fbit.go:113
Struct
flistPools
malloc/pool_flist.go:155
Struct
freebits
malloc/.freebits.go:10
Struct
indexentry
llrb/indexentry.go:5
Struct
indexentry
bubt/indexentry.go:5
Struct
lazyvalue
bubt/lazyvalue.go:7
Struct
llrbstats
llrb/common.go:11
Struct
mblock
bubt/buildmblock.go:7
Struct
mvccsnapshot
mvccsnapshot refers to MVCC snapshot of LLRB tree. Snapshots can be used for concurrent reads.
llrb/snapshot.go:13
Struct
nodevalue
+ valuesize
llrb/value.go:12
Struct
poolfbit
import "fmt" poolfbit manages a memory block sliced up into equal sized chunks.
malloc/.pool_fbit.go:17
Struct
poolflist
poolflist manages a memory block sliced up into equal sized chunks.
malloc/pool_flist.go:15
Struct
readbuffers
bubt/readerpool.go:22
Struct
readerpool
bubt/readerpool.go:7
Struct
record
llrb/txn.go:221
Struct
scanbuf
llrb/scanner.go:7
Struct
setcache
setcache commands to cacher routine.
bogn/go_cache.go:11
Struct
snapshot
bogn/snapshot.go:15
Struct
testalloc
malloc/concur_test.go:12
Struct
txnmeta
bogn/acid.go:6
Struct
txnsmeta
---- embed
llrb/common.go:132
Struct
vlogentry
bubt/vlogentry.go:6
Struct
zblock
bubt/buildzblock.go:10