container

package
v0.50.1 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2025 License: GPL-3.0 Imports: 27 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Contract added in v0.45.0

type Contract interface {
	// Put sends transaction creating container with provided credentials. If
	// accepted, transaction is processed async. Returns container ID to check the
	// creation status.
	Put(_ container.Container, pub, sig []byte, _ *session.Container) (cid.ID, error)
	// Get returns container by its ID. Returns [apistatus.ErrContainerNotFound]
	// error if container is missing.
	Get(cid.ID) (container.Container, error)
	// List returns IDs of all container belonging to the given user.
	//
	// Callers do not modify the result.
	List(user.ID) ([]cid.ID, error)
	// PutEACL sends transaction setting container's eACL with provided credentials.
	// If accepted, transaction is processed async.
	PutEACL(_ eacl.Table, pub, sig []byte, _ *session.Container) error
	// GetEACL returns eACL of the container by its ID. Returns
	// [apistatus.ErrEACLNotFound] error if eACL is missing.
	GetEACL(cid.ID) (eacl.Table, error)
	// Delete sends transaction removing referenced container with provided
	// credentials. If accepted, transaction is processed async.
	Delete(_ cid.ID, pub, sig []byte, _ *session.Container) error
}

Contract groups ops of the Container contract deployed in the FS chain required to serve NeoFS API Container service.

type FSChain added in v0.46.0

type FSChain interface {
	InvokeContainedScript(tx *transaction.Transaction, header *block.Header, _ *trigger.Type, _ *bool) (*result.Invoke, error)
}

FSChain provides base non-contract functionality of the FS chain required to serve NeoFS API Container service.

type NetmapContract added in v0.46.0

type NetmapContract interface {
	// GetEpochBlock returns FS chain height when given NeoFS epoch was ticked.
	GetEpochBlock(epoch uint64) (uint32, error)
}

NetmapContract represents Netmap contract deployed in the FS chain required to serve NeoFS API Container service.

type Server added in v0.17.0

type Server struct {
	protocontainer.UnimplementedContainerServiceServer
	// contains filtered or unexported fields
}

Server provides NeoFS API Container service.

func New added in v0.45.0

func New(s *ecdsa.PrivateKey, net netmap.State, fsChain FSChain, c Contract, nc NetmapContract) *Server

New provides protocontainer.ContainerServiceServer based on specified Contract.

All response messages are signed using specified signer and have current epoch in the meta header.

func (*Server) Delete added in v0.17.0

Delete forwards container removal request to the underlying Contract for further processing. If session token is attached, it's verified.

func (*Server) Get added in v0.17.0

Get requests container from the underlying Contract and returns it in the response.

func (*Server) GetExtendedACL added in v0.17.0

GetExtendedACL read eACL of the requested container from the underlying Contract and returns the result in the response.

func (*Server) List added in v0.17.0

List lists user containers from the underlying Contract and returns their IDs in the response.

func (*Server) Put added in v0.17.0

Put forwards container creation request to the underlying Contract for further processing. If session token is attached, it's verified. Returns ID to check request status in the response.

func (*Server) ResetSessionTokenCheckCache added in v0.50.0

func (s *Server) ResetSessionTokenCheckCache()

ResetSessionTokenCheckCache resets cache of session token check results.

func (*Server) SetExtendedACL added in v0.17.0

SetExtendedACL forwards eACL setting request to the underlying Contract for further processing. If session token is attached, it's verified.

Jump to

Keyboard shortcuts

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