partition

package
v0.0.0-...-ac41614 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultPartition

type DefaultPartition struct {
	// contains filtered or unexported fields
}

func NewDefaultPartition

func NewDefaultPartition(partition uint64, sitePool SitePool) *DefaultPartition

func (*DefaultPartition) Iterator

func (partition *DefaultPartition) Iterator() PartitionIterator

func (*DefaultPartition) LockReads

func (partition *DefaultPartition) LockReads()

func (*DefaultPartition) LockWrites

func (partition *DefaultPartition) LockWrites()

func (*DefaultPartition) Partition

func (partition *DefaultPartition) Partition() uint64

func (*DefaultPartition) Sites

func (partition *DefaultPartition) Sites() SitePool

func (*DefaultPartition) UnlockReads

func (partition *DefaultPartition) UnlockReads()

func (*DefaultPartition) UnlockWrites

func (partition *DefaultPartition) UnlockWrites()

type DefaultPartitionFactory

type DefaultPartitionFactory struct {
}

func NewDefaultPartitionFactory

func NewDefaultPartitionFactory() *DefaultPartitionFactory

func (*DefaultPartitionFactory) CreatePartition

func (partitionFactory *DefaultPartitionFactory) CreatePartition(partitionNumber uint64, sitePool SitePool) Partition

type DefaultPartitionPool

type DefaultPartitionPool struct {
	// contains filtered or unexported fields
}

func NewDefaultPartitionPool

func NewDefaultPartitionPool() *DefaultPartitionPool

func (*DefaultPartitionPool) Add

func (partitionPool *DefaultPartitionPool) Add(partition Partition)

func (*DefaultPartitionPool) Get

func (partitionPool *DefaultPartitionPool) Get(partitionNumber uint64) Partition

func (*DefaultPartitionPool) Remove

func (partitionPool *DefaultPartitionPool) Remove(partitionNumber uint64)

type Partition

type Partition interface {
	Partition() uint64
	Sites() SitePool
	Iterator() PartitionIterator
	LockWrites()
	UnlockWrites()
	LockReads()
	UnlockReads()
}

type PartitionFactory

type PartitionFactory interface {
	CreatePartition(partitionNumber uint64, sitePool SitePool) Partition
}

type PartitionIterator

type PartitionIterator interface {
	Next() bool
	// The site that the current entry belongs to
	Site() string
	// The bucket that the current entry belongs to within its site
	Bucket() string
	// The key of the current entry
	Key() string
	// The value of the current entry
	Value() *SiblingSet
	// The checksum of the current entry
	Release()
	Error() error
}

type PartitionPool

type PartitionPool interface {
	Add(partition Partition)
	Remove(partitionNumber uint64)
	Get(partitionNumber uint64) Partition
}

Jump to

Keyboard shortcuts

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