Documentation
¶
Index ¶
- Constants
- Variables
- func CalculateID(c *Container) *cid.ID
- type Attribute
- type Attributes
- type Container
- func (c *Container) Attributes() Attributes
- func (c *Container) BasicACL() uint32
- func (c *Container) Marshal(b ...[]byte) ([]byte, error)
- func (c *Container) MarshalJSON() ([]byte, error)
- func (c *Container) Nonce() []bytedeprecated
- func (c *Container) NonceUUID() (uuid.UUID, error)
- func (c *Container) OwnerID() *owner.ID
- func (c *Container) PlacementPolicy() *netmap.PlacementPolicy
- func (c Container) SessionToken() *session.Token
- func (c *Container) SetAttributes(v Attributes)
- func (c *Container) SetBasicACL(v uint32)
- func (c *Container) SetNonce(v []byte)deprecated
- func (c *Container) SetNonceUUID(v uuid.UUID)
- func (c *Container) SetOwnerID(v *owner.ID)
- func (c *Container) SetPlacementPolicy(v *netmap.PlacementPolicy)
- func (c *Container) SetSessionToken(t *session.Token)
- func (c *Container) SetSignature(sig *pkg.Signature)
- func (c *Container) SetVersion(v *pkg.Version)
- func (c Container) Signature() *pkg.Signature
- func (c *Container) ToV2() *container.Container
- func (c *Container) Unmarshal(data []byte) error
- func (c *Container) UnmarshalJSON(data []byte) error
- func (c *Container) Version() *pkg.Version
- type IDdeprecated
- type NewOption
- func WithAttribute(key, value string) NewOption
- func WithCustomBasicACL(acl uint32) NewOption
- func WithNEO3Wallet(w *owner.NEO3Wallet) NewOption
- func WithNonce(nonce uuid.UUID) NewOption
- func WithOwnerID(id *owner.ID) NewOption
- func WithPolicy(policy *netmap.PlacementPolicy) NewOption
- func WithPublicBasicACL() NewOption
- func WithReadOnlyBasicACL() NewOption
- type UsedSpaceAnnouncement
- func (a *UsedSpaceAnnouncement) ContainerID() *cid.ID
- func (a *UsedSpaceAnnouncement) Epoch() uint64
- func (a *UsedSpaceAnnouncement) Marshal(b ...[]byte) ([]byte, error)
- func (a *UsedSpaceAnnouncement) SetContainerID(cid *cid.ID)
- func (a *UsedSpaceAnnouncement) SetEpoch(epoch uint64)
- func (a *UsedSpaceAnnouncement) SetUsedSpace(value uint64)
- func (a *UsedSpaceAnnouncement) ToV2() *container.UsedSpaceAnnouncement
- func (a *UsedSpaceAnnouncement) Unmarshal(data []byte) error
- func (a *UsedSpaceAnnouncement) UsedSpace() uint64
Constants ¶
const ( // AttributeName is an attribute key that is commonly used to denote // human-friendly name. AttributeName = "Name" // AttributeTimestamp is an attribute key that is commonly used to denote // user-defined local time of container creation in Unix Timestamp format. AttributeTimestamp = "Timestamp" )
Variables ¶
var NewID = cid.New
NewID creates and initializes blank ID.
Works similar to NewIDFromV2(new(ContainerID)).
Deprecated: use cid.New instead.
var NewIDFromV2 = cid.NewFromV2
NewIDFromV2 wraps v2 ContainerID message to ID.
Deprecated: use cid.NewFromV2 instead.
Functions ¶
func CalculateID ¶
CalculateID calculates container identifier based on its structure.
Types ¶
type Attribute ¶
func NewAttribute ¶
func NewAttribute() *Attribute
NewAttribute creates and initializes blank Attribute.
Defaults:
- key: "";
- value: "".
func NewAttributeFromV2 ¶
NewAttributeFromV2 wraps protocol dependent version of Attribute message.
Nil container.Attribute converts to nil.
type Attributes ¶
type Attributes []*Attribute
func NewAttributesFromV2 ¶
func NewAttributesFromV2(v []*container.Attribute) Attributes
func (Attributes) ToV2 ¶
func (a Attributes) ToV2() []*container.Attribute
type Container ¶
type Container struct {
// contains filtered or unexported fields
}
func New ¶
New creates, initializes and returns blank Container instance.
Defaults:
- token: nil;
- sig: nil;
- basicACL: acl.PrivateBasicRule;
- version: nil;
- nonce: random UUID;
- attr: nil;
- policy: nil;
- ownerID: nil.
func NewContainerFromV2 ¶
NewVerifiedFromV2 constructs Container from NeoFS API V2 Container message.
Does not perform if message meets NeoFS API V2 specification. To do this use NewVerifiedFromV2 constructor.
func (*Container) Attributes ¶
func (c *Container) Attributes() Attributes
func (*Container) Marshal ¶
Marshal marshals Container into a protobuf binary form.
Buffer is allocated when the argument is empty. Otherwise, the first buffer is used.
func (*Container) MarshalJSON ¶
MarshalJSON encodes Container to protobuf JSON format.
func (*Container) NonceUUID ¶
Returns container nonce in UUID format.
Returns error if container nonce is not a valid UUID.
func (*Container) PlacementPolicy ¶
func (c *Container) PlacementPolicy() *netmap.PlacementPolicy
func (Container) SessionToken ¶
SessionToken returns token of the session within which container was created.
func (*Container) SetAttributes ¶
func (c *Container) SetAttributes(v Attributes)
func (*Container) SetBasicACL ¶
func (*Container) SetNonce
deprecated
func (*Container) SetNonceUUID ¶
SetNonceUUID sets container nonce as UUID.
func (*Container) SetOwnerID ¶
func (*Container) SetPlacementPolicy ¶
func (c *Container) SetPlacementPolicy(v *netmap.PlacementPolicy)
func (*Container) SetSessionToken ¶
SetSessionToken sets token of the session within which container was created.
func (*Container) SetSignature ¶
SetSignature sets signature of the marshaled container.
func (*Container) SetVersion ¶
func (*Container) UnmarshalJSON ¶
UnmarshalJSON decodes Container from protobuf JSON format.
type NewOption ¶
type NewOption interface {
// contains filtered or unexported methods
}
func WithAttribute ¶
func WithCustomBasicACL ¶
func WithNEO3Wallet ¶
func WithNEO3Wallet(w *owner.NEO3Wallet) NewOption
func WithOwnerID ¶
func WithPolicy ¶
func WithPolicy(policy *netmap.PlacementPolicy) NewOption
func WithPublicBasicACL ¶
func WithPublicBasicACL() NewOption
func WithReadOnlyBasicACL ¶
func WithReadOnlyBasicACL() NewOption
type UsedSpaceAnnouncement ¶
type UsedSpaceAnnouncement container.UsedSpaceAnnouncement
UsedSpaceAnnouncement is an announcement message used by storage nodes to estimate actual container sizes.
func NewAnnouncement ¶
func NewAnnouncement() *UsedSpaceAnnouncement
NewAnnouncement initialize empty UsedSpaceAnnouncement message.
Defaults:
- epoch: 0;
- usedSpace: 0;
- cid: nil.
func NewAnnouncementFromV2 ¶
func NewAnnouncementFromV2(v *container.UsedSpaceAnnouncement) *UsedSpaceAnnouncement
NewAnnouncementFromV2 wraps protocol dependent version of UsedSpaceAnnouncement message.
Nil container.UsedSpaceAnnouncement converts to nil.
func (*UsedSpaceAnnouncement) ContainerID ¶
func (a *UsedSpaceAnnouncement) ContainerID() *cid.ID
ContainerID of the announcement.
func (*UsedSpaceAnnouncement) Epoch ¶
func (a *UsedSpaceAnnouncement) Epoch() uint64
Epoch of the announcement.
func (*UsedSpaceAnnouncement) Marshal ¶
func (a *UsedSpaceAnnouncement) Marshal(b ...[]byte) ([]byte, error)
Marshal marshals UsedSpaceAnnouncement into a protobuf binary form.
Buffer is allocated when the argument is empty. Otherwise, the first buffer is used.
func (*UsedSpaceAnnouncement) SetContainerID ¶
func (a *UsedSpaceAnnouncement) SetContainerID(cid *cid.ID)
SetContainerID sets announcement container value.
func (*UsedSpaceAnnouncement) SetEpoch ¶
func (a *UsedSpaceAnnouncement) SetEpoch(epoch uint64)
SetEpoch sets announcement epoch value.
func (*UsedSpaceAnnouncement) SetUsedSpace ¶
func (a *UsedSpaceAnnouncement) SetUsedSpace(value uint64)
SetUsedSpace sets used space value by specified container.
func (*UsedSpaceAnnouncement) ToV2 ¶
func (a *UsedSpaceAnnouncement) ToV2() *container.UsedSpaceAnnouncement
ToV2 returns protocol dependent version of UsedSpaceAnnouncement message.
Nil UsedSpaceAnnouncement converts to nil.
func (*UsedSpaceAnnouncement) Unmarshal ¶
func (a *UsedSpaceAnnouncement) Unmarshal(data []byte) error
Unmarshal unmarshals protobuf binary representation of UsedSpaceAnnouncement.
func (*UsedSpaceAnnouncement) UsedSpace ¶
func (a *UsedSpaceAnnouncement) UsedSpace() uint64
UsedSpace in container.