common

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: May 10, 2021 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Context

type Context interface {
	context.Context

	// Must return epoch number to select the values.
	Epoch() uint64
}

Context wraps stdlib context with accompanying meta values.

type ManagerBuilder

type ManagerBuilder interface {
	// BuildManagers must compose list of managers. It depends on
	// particular epoch and PeerID of the current route point.
	BuildManagers(epoch uint64, p reputation.PeerID) ([]ServerInfo, error)
}

ManagerBuilder defines an interface for providing a list of Managers for specific epoch. Implementation depends on trust value.

type ServerInfo

type ServerInfo interface {
	// PublicKey returns public key of the node
	// from the route in a binary representation.
	PublicKey() []byte

	// Returns network address of the node
	// in the route.
	//
	// Can be empty.
	Address() string
}

ServerInfo describes a set of characteristics of a point in a route.

type Writer

type Writer interface {
	// Write performs a write operation of reputation.Trust value
	// and returns any error encountered.
	//
	// All values after the Close call must be flushed to the
	// physical target. Implementations can cache values before
	// Close operation.
	//
	// Write must not be called after Close.
	Write(reputation.Trust) error

	// Close exits with method-providing Writer.
	//
	// All cached values must be flushed before
	// the Close's return.
	//
	// Methods must not be called after Close.
	io.Closer
}

Writer describes the interface for storing reputation.Trust values.

This interface is provided by both local storage of values and remote (wrappers over the RPC).

type WriterProvider

type WriterProvider interface {
	// InitWriter should return an initialized Writer.
	//
	// Initialization problems are reported via error.
	// If no error was returned, then the Writer must not be nil.
	//
	// Implementations can have different logic for different
	// contexts, so specific ones may document their own behavior.
	InitWriter(Context) (Writer, error)
}

WriterProvider is a group of methods provided by entity which generates keepers of reputation.Trust values.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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