netmap

package
v0.13.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

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

ErrNilClient is returned by functions that expect a non-nil Client pointer, but received nil.

Functions

func IntegerAssert added in v0.12.0

func IntegerAssert(item stackitem.Item) (interface{}, error)

Types

type AddPeerArgs

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

AddPeerArgs groups the arguments of add peer invocation call.

func (*AddPeerArgs) SetInfo

func (a *AddPeerArgs) SetInfo(v []byte)

SetInfo sets the peer information.

type Client

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

Client is a wrapper over StaticClient which makes calls with the names and arguments of the NeoFS Netmap contract.

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

func New

func New(c *client.StaticClient, opts ...Option) (*Client, error)

New creates, initializes and returns the Client instance.

If StaticClient is nil, client.ErrNilStaticClient is returned.

Other values are set according to provided options, or by default:

  • add peer method name: AddPeer;
  • new epoch method name: NewEpoch;
  • get network map method name: Netmap;
  • update state method name: UpdateState;
  • inner ring list method name: InnerRingList.

If desired option satisfies the default value, it can be omitted. If multiple options of the same config value are supplied, the option with the highest index in the arguments will be used.

func (*Client) AddPeer

func (c *Client) AddPeer(args AddPeerArgs) error

AddPeer invokes the call of add peer method of NeoFS Netmap contract.

func (*Client) Config added in v0.12.0

func (c *Client) Config(args ConfigArgs, assert func(stackitem.Item) (interface{}, error)) (*ConfigValues, error)

Config performs the test invoke of get config value method of NeoFS Netmap contract.

func (*Client) Epoch added in v0.12.0

func (c *Client) Epoch(_ EpochArgs) (*EpochValues, error)

Epoch performs the test invoke of get epoch number method of NeoFS Netmap contract.

func (*Client) InnerRingList

func (c *Client) InnerRingList(args InnerRingListArgs) (*InnerRingListValues, error)

InnerRingList performs the test invoke of inner ring list method of NeoFS Netmap contract.

func (*Client) NetMap

func (c *Client) NetMap(_ GetNetMapArgs) (*GetNetMapValues, error)

NetMap performs the test invoke of get network map method of NeoFS Netmap contract.

func (*Client) NewEpoch

func (c *Client) NewEpoch(args NewEpochArgs) error

NewEpoch invokes the call of new epoch method of NeoFS Netmap contract.

func (*Client) Snapshot added in v0.12.0

func (c *Client) Snapshot(a GetSnapshotArgs) (*GetNetMapValues, error)

NetMap performs the test invoke of get snapshot of network map from NeoFS Netmap contract. Contract saves only one previous epoch, so all invokes with diff > 1 return error.

func (*Client) UpdateState

func (c *Client) UpdateState(args UpdateStateArgs) error

UpdateState invokes the call of update state method of NeoFS Netmap contract.

type ConfigArgs added in v0.12.0

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

ConfigArgs groups the arguments of get config value test invoke call.

func (*ConfigArgs) SetKey added in v0.12.0

func (c *ConfigArgs) SetKey(v []byte)

SetKey sets binary key to configuration parameter.

type ConfigValues added in v0.12.0

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

EpochValues groups the stack parameters returned by get epoch number test invoke.

func (ConfigValues) Value added in v0.12.0

func (c ConfigValues) Value() interface{}

Value returns configuration value.

type EpochArgs added in v0.12.0

type EpochArgs struct {
}

EpochArgs groups the arguments of get epoch number test invoke call.

type EpochValues added in v0.12.0

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

EpochValues groups the stack parameters returned by get epoch number test invoke.

func (EpochValues) Number added in v0.12.0

func (e EpochValues) Number() int64

Number return the number of NeoFS epoch.

type GetNetMapArgs

type GetNetMapArgs struct {
}

GetNetMapArgs groups the arguments of get network map test invoke call.

type GetNetMapValues

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

GetNetMapValues groups the stack parameters returned by get network map test invoke.

func (GetNetMapValues) Peers

func (g GetNetMapValues) Peers() [][]byte

Peers return the list of peers from network map in a binary format.

type GetSnapshotArgs added in v0.12.0

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

GetSnapshotArgs groups the arguments of get netmap snapshot test invoke call.

func (*GetSnapshotArgs) SetDiff added in v0.12.0

func (g *GetSnapshotArgs) SetDiff(d uint64)

SetDiff sets argument for snapshot method of netmap contract.

type InnerRingListArgs

type InnerRingListArgs struct {
}

InnerRingListArgs groups the arguments of inner ring list test invoke call.

type InnerRingListValues

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

InnerRingListValues groups the stack parameters returned by inner ring list test invoke.

func (InnerRingListValues) KeyList

func (g InnerRingListValues) KeyList() [][]byte

KeyList return the list of IR node keys in a binary format.

type NewEpochArgs

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

NewEpochArgs groups the arguments of new epoch invocation call.

func (*NewEpochArgs) SetEpochNumber

func (a *NewEpochArgs) SetEpochNumber(v int64)

SetEpochNumber sets the new epoch number.

type NodeInfo added in v0.12.0

type NodeInfo = netmap.NodeInfo

type Option

type Option func(*cfg)

Option is a client configuration change function.

func WithAddPeerMethod

func WithAddPeerMethod(n string) Option

WithAddPeerMethod returns a client constructor option that specifies the method name of adding peer operation.

Ignores empty value.

If option not provided, "AddPeer" is used.

func WithConfigMethod added in v0.12.0

func WithConfigMethod(n string) Option

WithConfigMethod returns a client constructor option that specifies the method name of config value receiving operation.

Ignores empty value.

If option not provided, "config" is used.

func WithEpochMethod added in v0.12.0

func WithEpochMethod(n string) Option

WithEpochMethod returns a client constructor option that specifies the method name of epoch number receiving operation.

Ignores empty value.

If option not provided, "epoch" is used.

func WithInnerRingListMethod

func WithInnerRingListMethod(n string) Option

WithInnerRingListMethod returns a client constructor option that specifies the method name of inner ring listing operation.

Ignores empty value.

If option not provided, "InnerRingList" is used.

func WithNetMapMethod

func WithNetMapMethod(n string) Option

WithNetMapMethod returns a client constructor option that specifies the method name of network map receiving operation.

Ignores empty value.

If option not provided, "Netmap" is used.

func WithNewEpochMethod

func WithNewEpochMethod(n string) Option

WithNewEpochMethod returns a client constructor option that specifies the method name of new epoch operation.

Ignores empty value.

If option not provided, "NewEpoch" is used.

func WithUpdateStateMethod

func WithUpdateStateMethod(n string) Option

WithUpdateStateMethod returns a client constructor option that specifies the method name of peer state updating operation.

Ignores empty value.

If option not provided, "UpdateState" is used.

type UpdateStateArgs

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

UpdateStateArgs groups the arguments of update state invocation call.

func (*UpdateStateArgs) SetPublicKey

func (u *UpdateStateArgs) SetPublicKey(v []byte)

SetPublicKey sets peer public key in a binary format.

func (*UpdateStateArgs) SetState

func (u *UpdateStateArgs) SetState(v int64)

SetState sets the new peer state.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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