drum

package module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: May 22, 2021 License: MIT Imports: 7 Imported by: 0

README

DRUM

GoDoc

Golang implementation of the disk repository with update management (DRUM) framework as presented by Hsin-Tsang Lee, Derek Leonard, Xiaoming Wang, and Dmitri Loguinov in the paper "IRLbot: Scaling to 6 Billion Pages and Beyond". Disk-based bloom filter alternative with storage capabilities.

Credits

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB interface {
	Has(uint64) bool
	Put(uint64, []byte)
	Get(uint64) []byte
	Sync()
}

type DRUM

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

func Open added in v1.0.1

func Open(bucketsPath string, buckets, elements int, size int64, db DB, dispatcher Dispatcher) *DRUM

func (*DRUM) Check

func (d *DRUM) Check(key uint64, aux []byte)

func (*DRUM) CheckUpdate

func (d *DRUM) CheckUpdate(key uint64, value, aux []byte)

func (*DRUM) Sync

func (d *DRUM) Sync()

func (*DRUM) Update

func (d *DRUM) Update(key uint64, value, aux []byte)

type Dispatcher

type Dispatcher interface {
	UniqueKeyCheckEvent(*UniqueKeyCheckEvent)
	DuplicateKeyCheckEvent(*DuplicateKeyCheckEvent)
	UniqueKeyUpdateEvent(*UniqueKeyUpdateEvent)
	DuplicateKeyUpdateEvent(*DuplicateKeyUpdateEvent)
	UpdateEvent(*UpdateEvent)
}

type DispatcherFunc added in v1.0.1

type DispatcherFunc func(interface{})

func (DispatcherFunc) DuplicateKeyCheckEvent added in v1.0.1

func (d DispatcherFunc) DuplicateKeyCheckEvent(event *DuplicateKeyCheckEvent)

func (DispatcherFunc) DuplicateKeyUpdateEvent added in v1.0.1

func (d DispatcherFunc) DuplicateKeyUpdateEvent(event *DuplicateKeyUpdateEvent)

func (DispatcherFunc) UniqueKeyCheckEvent added in v1.0.1

func (d DispatcherFunc) UniqueKeyCheckEvent(event *UniqueKeyCheckEvent)

func (DispatcherFunc) UniqueKeyUpdateEvent added in v1.0.1

func (d DispatcherFunc) UniqueKeyUpdateEvent(event *UniqueKeyUpdateEvent)

func (DispatcherFunc) UpdateEvent added in v1.0.1

func (d DispatcherFunc) UpdateEvent(event *UpdateEvent)

type DuplicateKeyCheckEvent added in v1.0.1

type DuplicateKeyCheckEvent baseEvent

type DuplicateKeyUpdateEvent added in v1.0.1

type DuplicateKeyUpdateEvent baseEvent

type UniqueKeyCheckEvent added in v1.0.1

type UniqueKeyCheckEvent struct {
	Key uint64
	Aux []byte
}

type UniqueKeyUpdateEvent added in v1.0.1

type UniqueKeyUpdateEvent baseEvent

type UpdateEvent added in v1.0.1

type UpdateEvent baseEvent

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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