bloombits

package
v0.0.0-...-f8b7a73 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2019 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

包BloomBits对成批数据执行Bloom过滤。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Generator

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

发电机接收许多布卢姆滤波器并生成旋转的布卢姆位 用于批量过滤。

func NewGenerator

func NewGenerator(sections uint) (*Generator, error)

NewGenerator创建一个旋转的Bloom Generator,它可以迭代填充 批量布卢姆过滤器的钻头。

func (*Generator) AddBloom

func (b *Generator) AddBloom(index uint, bloom types.Bloom) error

addbloom接受一个bloom过滤器并设置相应的位列 在记忆中。

func (*Generator) Bitset

func (b *Generator) Bitset(idx uint) ([]byte, error)

位集返回属于给定位索引的位向量。 花开了。

type Matcher

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

Matcher是一个由调度程序和逻辑匹配程序组成的流水线系统,执行 位流上的二进制和/或操作,创建一个潜在的流 要检查数据内容的块。

func NewMatcher

func NewMatcher(sectionSize uint64, filters [][][]byte) *Matcher

NewMatcher创建了一个新的管道,用于检索Bloom位流并执行 地址和主题过滤。将筛选器组件设置为“nil”是 允许并将导致跳过该筛选规则(或0x11…1)。

func (*Matcher) Start

func (m *Matcher) Start(ctx context.Context, begin, end uint64, results chan uint64) (*MatcherSession, error)

Start启动匹配过程并返回一个bloom匹配流 给定的块范围。如果范围内没有更多匹配项,则返回结果 通道关闭。

type MatcherSession

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

MatcherSession由已启动的Matcher返回,用作终止符 对于正在运行的匹配操作。

func (*MatcherSession) AllocateRetrieval

func (s *MatcherSession) AllocateRetrieval() (uint, bool)

allocateretrieval将一个bloom位索引分配给一个客户端进程,该进程可以 立即请求并获取分配给该位的节内容或等待 有一段时间需要更多的部分。

func (*MatcherSession) AllocateSections

func (s *MatcherSession) AllocateSections(bit uint, count int) []uint64

分配操作分配已分配的位任务队列的全部或部分 到请求过程。

func (*MatcherSession) Close

func (s *MatcherSession) Close()

关闭停止匹配进程并等待所有子进程终止 返回前。超时可用于正常关机,允许 当前正在运行要在此时间之前完成的检索。

func (*MatcherSession) DeliverSections

func (s *MatcherSession) DeliverSections(bit uint, sections []uint64, bitsets [][]byte)

deliversections为特定的bloom提供一批区段位向量 要注入处理管道的位索引。

func (*MatcherSession) Error

func (s *MatcherSession) Error() error

错误返回匹配会话期间遇到的任何失败。

func (*MatcherSession) Multiplex

func (s *MatcherSession) Multiplex(batch int, wait time.Duration, mux chan chan *Retrieval)

多路复用轮询匹配器会话以执行检索任务,并将其多路复用到 请求的检索队列将与其他会话一起提供服务。

此方法将在会话的生存期内阻塞。即使在终止之后 在会议期间,任何在飞行中的请求都需要得到响应!空响应 不过在那种情况下还是可以的。

func (*MatcherSession) PendingSections

func (s *MatcherSession) PendingSections(bit uint) int

PendingSections返回属于 给定的牙轮钻头指数。

type Retrieval

type Retrieval struct {
	Bit      uint
	Sections []uint64
	Bitsets  [][]byte

	Context context.Context
	Error   error
}

检索表示对给定任务的检索任务分配的请求 具有给定数量的提取元素的位,或对这种请求的响应。 它还可以将实际结果集用作传递数据结构。

“竞赛”和“错误”字段由轻型客户端用于终止匹配 如果在管道的某个路径上遇到错误,则为早期。

Jump to

Keyboard shortcuts

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