container

package
v0.44.4 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: GPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AsContainerSource

func AsContainerSource(w *Client) containercore.Source

AsContainerSource provides container Source interface from Wrapper instance.

func Delete

func Delete(ctx context.Context, c *Client, witness core.RemovalWitness) error

Delete marshals container ID, and passes it to Wrapper's Delete method along with signature and session token.

Returns error if container ID is nil.

func DeletionInfo added in v0.37.0

func DeletionInfo(c deletionInfo, cnr cid.ID) (*containercore.DelInfo, error)

func Get

func Get(c getContainer, cnr cid.ID) (*containercore.Container, error)

Get marshals container ID, and passes it to Wrapper's Get method.

func Put

func Put(ctx context.Context, c *Client, cnr containercore.Container) (*cid.ID, error)

Put marshals container, and passes it to Wrapper's Put method along with sig.Key() and sig.Sign().

Returns error if container is nil.

Types

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 FrostFS Container 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 NewFromMorph

func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...Option) (*Client, error)

NewFromMorph returns the wrapper instance from the raw morph client.

Specified fee is used for all operations by default. If WithCustomFeeForNamedPut is provided, the customized fee is used for Put operations with named containers.

func (*Client) ContainersOf

func (c *Client) ContainersOf(idUser *user.ID) ([]cid.ID, error)

ContainersOf returns a list of container identifiers belonging to the specified user of FrostFS system. If idUser is nil, returns the list of all containers.

If remote RPC does not support neo-go session API, fallback to List() method.

func (Client) ContractAddress

func (c Client) ContractAddress() util.Uint160

ContractAddress returns the address of the associated contract.

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, p DeletePrm) (uint32, error)

Delete removes the container from FrostFS system through Container contract call.

Returns valid until block and any error encountered that caused the removal to interrupt.

If TryNotary is provided, calls notary contract.

func (*Client) DeletionInfo added in v0.37.0

func (c *Client) DeletionInfo(cid []byte) (*containercore.DelInfo, error)

func (*Client) Get

func (c *Client) Get(cid []byte) (*containercore.Container, error)

Get reads the container from FrostFS system by binary identifier through Container contract call.

If an empty slice is returned for the requested identifier, storage.ErrNotFound error is returned.

func (Client) Morph

func (c Client) Morph() *client.Client

Morph returns raw morph client.

func (*Client) Put

func (c *Client) Put(ctx context.Context, p PutPrm) error

Put saves binary container with its session token, key and signature in FrostFS system through Container contract call.

Returns calculated container identifier and any error encountered that caused the saving to interrupt.

If TryNotary is provided, calls notary contract.

type DeletePrm

type DeletePrm struct {
	client.InvokePrmOptional
	// contains filtered or unexported fields
}

DeletePrm groups parameters of Delete client operation.

func (*DeletePrm) SetCID

func (d *DeletePrm) SetCID(cid []byte)

SetCID sets container ID.

func (*DeletePrm) SetKey added in v0.37.0

func (d *DeletePrm) SetKey(key []byte)

SetKey sets public key.

func (*DeletePrm) SetSignature

func (d *DeletePrm) SetSignature(signature []byte)

SetSignature sets signature.

func (*DeletePrm) SetToken

func (d *DeletePrm) SetToken(token []byte)

SetToken sets session token.

type Option

type Option func(*opts)

Option allows to set an optional parameter of Wrapper.

func AsAlphabet

func AsAlphabet() Option

AsAlphabet returns option to sign main TX of notary requests with client's private key.

Considered to be used by IR nodes only.

func TryNotary

func TryNotary() Option

TryNotary returns option to enable notary invocation tries.

type PutPrm

type PutPrm struct {
	client.InvokePrmOptional
	// contains filtered or unexported fields
}

PutPrm groups parameters of Put operation.

func (*PutPrm) SetContainer

func (p *PutPrm) SetContainer(cnr []byte)

SetContainer sets container data.

func (*PutPrm) SetKey

func (p *PutPrm) SetKey(key []byte)

SetKey sets public key.

func (*PutPrm) SetName

func (p *PutPrm) SetName(name string)

SetName sets native name.

func (*PutPrm) SetSignature

func (p *PutPrm) SetSignature(sig []byte)

SetSignature sets signature.

func (*PutPrm) SetToken

func (p *PutPrm) SetToken(token []byte)

SetToken sets session token.

func (*PutPrm) SetZone

func (p *PutPrm) SetZone(zone string)

SetZone sets zone.

Jump to

Keyboard shortcuts

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