iface

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IBufferManager

type IBufferManager interface {
	sync.Locker
	RLock()
	RUnlock()
	buf.IMemoryPool

	String() string
	NodeCount() int
	GetNextID() uint64
	GetNextTransientID() uint64

	RegisterMemory(vf common.IVFile, spillable bool, constructor buf.MemoryNodeConstructor) nif.INodeHandle
	RegisterSpillableNode(vf common.IVFile, nodeID uint64, constructor buf.MemoryNodeConstructor) nif.INodeHandle
	RegisterNode(vf common.IVFile, useCompress bool, nodeID uint64, constructor buf.MemoryNodeConstructor) nif.INodeHandle
	UnregisterNode(nif.INodeHandle)

	CreateNode(vf common.IVFile, useCompress bool, constructor buf.MemoryNodeConstructor) INode

	Pin(h nif.INodeHandle) nif.IBufferHandle
	Unpin(h nif.INodeHandle)
}

type INode

type INode interface {
	io.Closer
	GetManagedNode() MangaedNode
	GetBufferHandle() nif.IBufferHandle
}

type MangaedNode

type MangaedNode struct {
	Handle   nif.IBufferHandle
	DataNode buf.IMemoryNode
}

func (*MangaedNode) Close

func (h *MangaedNode) Close() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL