Versions in this module Expand all Collapse all v0 v0.4.0 May 5, 2022 Changes in this version + const EVICT_HOLDER_CAPACITY + var MockVFile = mockVFile + var TRANSIENT_START_ID = ^(uint64(0)) / 2 + func MockBufMgr(capacity uint64) mgrif.IBufferManager + func NewBufferManager(dir string, capacity uint64, evict_ctx ...interface{}) mgrif.IBufferManager + type BufferManager struct + Dir []byte + EvictHolder IEvictHolder + EvictTimes int64 + LoadTimes int64 + NextID uint64 + NextTransientID uint64 + Nodes map[uint64]iface.INodeHandle + UnregisterTimes int64 + func (mgr *BufferManager) CreateNode(vf common.IVFile, useCompress bool, constructor buf.MemoryNodeConstructor) mgrif.INode + func (mgr *BufferManager) GetNextID() uint64 + func (mgr *BufferManager) GetNextTransientID() uint64 + func (mgr *BufferManager) NodeCount() int + func (mgr *BufferManager) Pin(handle nif.INodeHandle) nif.IBufferHandle + func (mgr *BufferManager) RegisterMemory(vf common.IVFile, spillable bool, constructor buf.MemoryNodeConstructor) nif.INodeHandle + func (mgr *BufferManager) RegisterNode(vf common.IVFile, useCompress bool, node_id uint64, ...) nif.INodeHandle + func (mgr *BufferManager) RegisterSpillableNode(vf common.IVFile, node_id uint64, constructor buf.MemoryNodeConstructor) nif.INodeHandle + func (mgr *BufferManager) String() string + func (mgr *BufferManager) Unpin(handle nif.INodeHandle) + func (mgr *BufferManager) UnregisterNode(h nif.INodeHandle) + type EvictNode struct + Handle IEvictHandle + Iter uint64 + func (node *EvictNode) String() string + func (node *EvictNode) Unloadable(h IEvictHandle) bool + type IEvictHandle interface + IsClosed func() bool + Iteration func() uint64 + Unload func() + Unloadable func() bool + type IEvictHolder interface + Dequeue func() *EvictNode + Enqueue func(n *EvictNode) + func NewSimpleEvictHolder(ctx ...interface{}) IEvictHolder + type Node struct + BufMgr bmgrif.IBufferManager + BufNode nif.INodeHandle + Constructor buf.MemoryNodeConstructor + VFile common.IVFile + func (n *Node) Close() error + func (n *Node) GetBufferHandle() nif.IBufferHandle + func (n *Node) GetManagedNode() bmgrif.MangaedNode + type SimpleEvictHolder struct + Queue *sq.EsQueue + func (holder *SimpleEvictHolder) Dequeue() *EvictNode + func (holder *SimpleEvictHolder) Enqueue(node *EvictNode) + type SimpleEvictHolderCtx struct + QCapacity uint64