container

package
v0.0.0-...-79ba347 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsErrNotFound

func IsErrNotFound(err error) bool

IsErrNotFound checks if the error returned by Source.Get corresponds to the missing container.

Types

type Container

type Container struct {
	// Container structure.
	Value container.Container

	// Signature of the Value.
	Signature frostfscrypto.Signature

	// Session within which Value was created. Nil means session absence.
	Session *session.Container
}

Container groups information about the FrostFS container stored in the FrostFS network.

type EACL

type EACL struct {
	// Extended ACL structure.
	Value *eacl.Table

	// Signature of the Value.
	Signature frostfscrypto.Signature

	// Session within which Value was set. Nil means session absence.
	Session *session.Container
}

EACL groups information about the FrostFS container's extended ACL stored in the FrostFS network.

type EACLSource

type EACLSource interface {
	// GetEACL reads the table from the source by identifier.
	// It returns any error encountered.
	//
	// GetEACL must return exactly one non-nil value.
	//
	// Must return apistatus.ErrEACLNotFound if requested
	// eACL table is not in source.
	GetEACL(cid.ID) (*EACL, error)
}

EACLSource is the interface that wraps basic methods of extended ACL table source.

type RemovalWitness

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

RemovalWitness groups the information required to prove and verify the removal of a container.

func (RemovalWitness) ContainerID

func (x RemovalWitness) ContainerID() cid.ID

ContainerID returns the identifier of the container to be removed.

func (RemovalWitness) SessionToken

func (x RemovalWitness) SessionToken() *session.Container

SessionToken returns the token of the session within which the container was removed.

func (*RemovalWitness) SetContainerID

func (x *RemovalWitness) SetContainerID(id cid.ID)

SetContainerID sets the identifier of the container to be removed.

func (*RemovalWitness) SetSessionToken

func (x *RemovalWitness) SetSessionToken(tok *session.Container)

SetSessionToken sets the token of the session within which the container was removed.

func (*RemovalWitness) SetSignature

func (x *RemovalWitness) SetSignature(sig []byte)

SetSignature sets a signature of the container identifier.

func (RemovalWitness) Signature

func (x RemovalWitness) Signature() []byte

Signature returns the signature of the container identifier.

type Source

type Source interface {
	// Get reads the container from the storage by its identifier.
	// It returns the pointer to the requested container and any error encountered.
	//
	// Get must return exactly one non-nil value.
	// Get must return an error of type apistatus.ContainerNotFound if the container is not in the storage.
	//
	// Implementations must not retain the container pointer and modify
	// the container through it.
	Get(cid.ID) (*Container, error)
}

Source is an interface that wraps basic container receiving method.

Jump to

Keyboard shortcuts

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