wrapper

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2020 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNilWrapper = errors.New("netmap contract client wrapper is nil")

ErrNilWrapper is returned by functions that expect a non-nil Wrapper pointer, but received nil.

Functions

This section is empty.

Types

type Client

type Client = netmap.Client

Client represents the Netmap contract client.

It is a type alias of github.com/nspcc-dev/neofs-node/pkg/morph/client/netmap.Client.

type Epoch added in v0.12.0

type Epoch struct{}

Epoch represents the NeoFS epoch. FIXME: correct the definition.

type NodeState

type NodeState int64

NodeState is a type of node states enumeration.

const (

	// StateOffline is an offline node state value.
	StateOffline NodeState
)

type Wrapper

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

Wrapper is a wrapper over netmap contract client which implements:

  • network map storage;
  • tool for peer state updating.

Working wrapper must be created via constructor New. Using the Wrapper that has been created with new(Wrapper) expression (or just declaring a Wrapper variable) is unsafe and can lead to panic.

func New

func New(c *Client) (*Wrapper, error)

New creates, initializes and returns the Wrapper instance.

If Client is nil, netmap.ErrNilClient is returned.

func (*Wrapper) AddPeer

func (w *Wrapper) AddPeer(nodeInfo *netmap.NodeInfo) error

AddPeer registers peer in NeoFS network through Netmap contract call.

func (*Wrapper) Epoch added in v0.12.0

func (w *Wrapper) Epoch() (uint64, error)

Epoch receives number of current NeoFS epoch through the Netmap contract call.

func (Wrapper) GetNetMap

func (w Wrapper) GetNetMap(diff uint64) (*netmap.Netmap, error)

GetNetMap receives information list about storage nodes through the Netmap contract call, composes network map from them and returns it. With diff == 0 returns current network map, else return snapshot of previous network map.

func (*Wrapper) InnerRingKeys

func (w *Wrapper) InnerRingKeys() ([][]byte, error)

InnerRingKeys receives public key list of inner ring nodes through Netmap contract call and returns it.

func (*Wrapper) MaxObjectSize added in v0.12.0

func (w *Wrapper) MaxObjectSize() (uint64, error)

MaxObjectSize receives max object size configuration value through the Netmap contract call.

func (*Wrapper) NewEpoch

func (w *Wrapper) NewEpoch(e Epoch) error

NewEpoch updates NeoFS epoch number through Netmap contract call.

func (*Wrapper) UpdatePeerState

func (w *Wrapper) UpdatePeerState(key []byte, state NodeState) error

UpdatePeerState changes peer status through Netmap contract call.

Jump to

Keyboard shortcuts

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