Documentation
¶
Index ¶
- Constants
- Variables
- func ProcessRequestTTL(req MetaHeader, cond ...TTLCondition) error
- func SignRequestHeader(key *ecdsa.PrivateKey, msg VerifiableRequest) error
- func VerifyRequestHeader(msg VerifiableRequest) error
- type EpochHeader
- type MaintainableRequest
- type MetaHeader
- type NodeRole
- type RequestMetaHeader
- func (*RequestMetaHeader) Descriptor() ([]byte, []int)
- func (m *RequestMetaHeader) GetEpoch() uint64
- func (m *RequestMetaHeader) GetTTL() uint32
- func (m *RequestMetaHeader) GetVersion() uint32
- func (m *RequestMetaHeader) Marshal() (dAtA []byte, err error)
- func (m *RequestMetaHeader) MarshalTo(dAtA []byte) (int, error)
- func (m *RequestMetaHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RequestMetaHeader) ProtoMessage()
- func (m *RequestMetaHeader) Reset()
- func (m *RequestMetaHeader) ResetMeta() RequestMetaHeader
- func (m *RequestMetaHeader) RestoreMeta(v RequestMetaHeader)
- func (m *RequestMetaHeader) SetEpoch(v uint64)
- func (m *RequestMetaHeader) SetTTL(v uint32)
- func (m *RequestMetaHeader) SetVersion(v uint32)
- func (m *RequestMetaHeader) Size() (n int)
- func (m *RequestMetaHeader) String() string
- func (m *RequestMetaHeader) Unmarshal(dAtA []byte) error
- func (m *RequestMetaHeader) XXX_DiscardUnknown()
- func (m *RequestMetaHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RequestMetaHeader) XXX_Merge(src proto.Message)
- func (m *RequestMetaHeader) XXX_Size() int
- func (m *RequestMetaHeader) XXX_Unmarshal(b []byte) error
- type RequestVerificationHeader
- func (m *RequestVerificationHeader) AddSignature(sig *RequestVerificationHeader_Signature)
- func (m *RequestVerificationHeader) CheckOwner(owner refs.OwnerID) error
- func (*RequestVerificationHeader) Descriptor() ([]byte, []int)
- func (m *RequestVerificationHeader) GetLastPeer() (*ecdsa.PublicKey, error)
- func (m *RequestVerificationHeader) GetOwner() (*ecdsa.PublicKey, error)
- func (m *RequestVerificationHeader) GetSignatures() []*RequestVerificationHeader_Signature
- func (m *RequestVerificationHeader) Marshal() (dAtA []byte, err error)
- func (m *RequestVerificationHeader) MarshalTo(dAtA []byte) (int, error)
- func (m *RequestVerificationHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RequestVerificationHeader) ProtoMessage()
- func (m *RequestVerificationHeader) Reset()
- func (m *RequestVerificationHeader) SetOwner(pub *ecdsa.PublicKey, sign []byte)
- func (m *RequestVerificationHeader) SetSignatures(signatures []*RequestVerificationHeader_Signature)
- func (m *RequestVerificationHeader) Size() (n int)
- func (m *RequestVerificationHeader) String() string
- func (m *RequestVerificationHeader) Unmarshal(dAtA []byte) error
- func (m *RequestVerificationHeader) XXX_DiscardUnknown()
- func (m *RequestVerificationHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RequestVerificationHeader) XXX_Merge(src proto.Message)
- func (m *RequestVerificationHeader) XXX_Size() int
- func (m *RequestVerificationHeader) XXX_Unmarshal(b []byte) error
- type RequestVerificationHeader_Sign
- func (*RequestVerificationHeader_Sign) Descriptor() ([]byte, []int)
- func (m *RequestVerificationHeader_Sign) GetPeer() []byte
- func (m *RequestVerificationHeader_Sign) GetSign() []byte
- func (m *RequestVerificationHeader_Sign) Marshal() (dAtA []byte, err error)
- func (m *RequestVerificationHeader_Sign) MarshalTo(dAtA []byte) (int, error)
- func (m *RequestVerificationHeader_Sign) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RequestVerificationHeader_Sign) ProtoMessage()
- func (m *RequestVerificationHeader_Sign) Reset()
- func (m *RequestVerificationHeader_Sign) Size() (n int)
- func (m *RequestVerificationHeader_Sign) String() string
- func (m *RequestVerificationHeader_Sign) Unmarshal(dAtA []byte) error
- func (m *RequestVerificationHeader_Sign) XXX_DiscardUnknown()
- func (m *RequestVerificationHeader_Sign) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RequestVerificationHeader_Sign) XXX_Merge(src proto.Message)
- func (m *RequestVerificationHeader_Sign) XXX_Size() int
- func (m *RequestVerificationHeader_Sign) XXX_Unmarshal(b []byte) error
- type RequestVerificationHeader_Signature
- func (*RequestVerificationHeader_Signature) Descriptor() ([]byte, []int)
- func (m *RequestVerificationHeader_Signature) GetOrigin() *RequestVerificationHeader_Sign
- func (m *RequestVerificationHeader_Signature) Marshal() (dAtA []byte, err error)
- func (m *RequestVerificationHeader_Signature) MarshalTo(dAtA []byte) (int, error)
- func (m *RequestVerificationHeader_Signature) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RequestVerificationHeader_Signature) ProtoMessage()
- func (m *RequestVerificationHeader_Signature) Reset()
- func (m *RequestVerificationHeader_Signature) Size() (n int)
- func (m *RequestVerificationHeader_Signature) String() string
- func (m *RequestVerificationHeader_Signature) Unmarshal(dAtA []byte) error
- func (m *RequestVerificationHeader_Signature) XXX_DiscardUnknown()
- func (m *RequestVerificationHeader_Signature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RequestVerificationHeader_Signature) XXX_Merge(src proto.Message)
- func (m *RequestVerificationHeader_Signature) XXX_Size() int
- func (m *RequestVerificationHeader_Signature) XXX_Unmarshal(b []byte) error
- type ResponseMetaHeader
- func (*ResponseMetaHeader) Descriptor() ([]byte, []int)
- func (m *ResponseMetaHeader) GetEpoch() uint64
- func (m *ResponseMetaHeader) GetVersion() uint32
- func (m *ResponseMetaHeader) Marshal() (dAtA []byte, err error)
- func (m *ResponseMetaHeader) MarshalTo(dAtA []byte) (int, error)
- func (m *ResponseMetaHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ResponseMetaHeader) ProtoMessage()
- func (m *ResponseMetaHeader) Reset()
- func (m *ResponseMetaHeader) SetEpoch(v uint64)
- func (m *ResponseMetaHeader) SetVersion(v uint32)
- func (m *ResponseMetaHeader) Size() (n int)
- func (m *ResponseMetaHeader) String() string
- func (m *ResponseMetaHeader) Unmarshal(dAtA []byte) error
- func (m *ResponseMetaHeader) XXX_DiscardUnknown()
- func (m *ResponseMetaHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ResponseMetaHeader) XXX_Merge(src proto.Message)
- func (m *ResponseMetaHeader) XXX_Size() int
- func (m *ResponseMetaHeader) XXX_Unmarshal(b []byte) error
- type TTLCondition
- type TestRequest
- func (*TestRequest) Descriptor() ([]byte, []int)
- func (m *TestRequest) GetBytesField() []byte
- func (m *TestRequest) GetIntField() int32
- func (m *TestRequest) GetStringField() string
- func (m *TestRequest) Marshal() (dAtA []byte, err error)
- func (m *TestRequest) MarshalTo(dAtA []byte) (int, error)
- func (m *TestRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*TestRequest) ProtoMessage()
- func (m *TestRequest) Reset()
- func (m *TestRequest) Size() (n int)
- func (m *TestRequest) String() string
- func (m *TestRequest) Unmarshal(dAtA []byte) error
- func (m *TestRequest) XXX_DiscardUnknown()
- func (m *TestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *TestRequest) XXX_Merge(src proto.Message)
- func (m *TestRequest) XXX_Size() int
- func (m *TestRequest) XXX_Unmarshal(b []byte) error
- type VerifiableRequest
- type VersionHeader
Constants ¶
const ( // ZeroTTL is empty ttl, should produce ErrZeroTTL. ZeroTTL = iota // NonForwardingTTL is a ttl that allows direct connections only. NonForwardingTTL // SingleForwardingTTL is a ttl that allows connections through another node. SingleForwardingTTL )
const ( // ErrZeroTTL is raised when zero ttl is passed. ErrZeroTTL = internal.Error("zero ttl") // ErrIncorrectTTL is raised when NonForwardingTTL is passed and NodeRole != InnerRingNode. ErrIncorrectTTL = internal.Error("incorrect ttl") )
const ( // ErrCannotLoadPublicKey is raised when cannot unmarshal public key from RequestVerificationHeader_Sign. ErrCannotLoadPublicKey = internal.Error("cannot load public key") // ErrCannotFindOwner is raised when signatures empty in GetOwner. ErrCannotFindOwner = internal.Error("cannot find owner public key") // ErrWrongOwner is raised when passed OwnerID not equal to present PublicKey ErrWrongOwner = internal.Error("wrong owner") )
Variables ¶
var ( ErrInvalidLengthMeta = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMeta = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupMeta = fmt.Errorf("proto: unexpected end of group") )
Functions ¶
func ProcessRequestTTL ¶
func ProcessRequestTTL(req MetaHeader, cond ...TTLCondition) error
ProcessRequestTTL validates and update ttl requests.
func SignRequestHeader ¶
func SignRequestHeader(key *ecdsa.PrivateKey, msg VerifiableRequest) error
SignRequestHeader receives private key and request with RequestVerificationHeader, tries to marshal and sign request with passed PrivateKey, after that adds new signature to headers. If something went wrong, returns error.
func VerifyRequestHeader ¶
func VerifyRequestHeader(msg VerifiableRequest) error
VerifyRequestHeader receives request with RequestVerificationHeader, tries to marshal and verify each signature from request. If something went wrong, returns error.
Types ¶
type EpochHeader ¶
EpochHeader interface gives possibility to get or set epoch in RPC Requests.
type MaintainableRequest ¶
type MaintainableRequest interface { GetOwner() (*ecdsa.PublicKey, error) SetOwner(*ecdsa.PublicKey, []byte) GetLastPeer() (*ecdsa.PublicKey, error) }
MaintainableRequest adds possibility to set and get (+validate) owner (client) public key from RequestVerificationHeader.
type MetaHeader ¶
type MetaHeader interface { ResetMeta() RequestMetaHeader RestoreMeta(RequestMetaHeader) // TTLRequest to verify and update ttl requests. GetTTL() uint32 SetTTL(uint32) // EpochHeader gives possibility to get or set epoch in RPC Requests. EpochHeader // VersionHeader allows get or set version of protocol request VersionHeader }
MetaHeader contains meta information of request. It provides methods to get or set meta information meta header. Also contains methods to reset and restore meta header. Also contains methods to get or set request protocol version
type NodeRole ¶
type NodeRole int32
NodeRole to identify in Bootstrap service.
const ( // InnerRingNode that work like IR node. InnerRingNode NodeRole // StorageNode that work like a storage node. StorageNode )
type RequestMetaHeader ¶
type RequestMetaHeader struct { // TTL must be larger than zero, it decreased in every NeoFS Node TTL uint32 `protobuf:"varint,1,opt,name=TTL,proto3" json:"TTL,omitempty"` // Epoch for user can be empty, because node sets epoch to the actual value Epoch uint64 `protobuf:"varint,2,opt,name=Epoch,proto3" json:"Epoch,omitempty"` // Version defines protocol version // TODO: not used for now, should be implemented in future Version uint32 `protobuf:"varint,3,opt,name=Version,proto3" json:"Version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
RequestMetaHeader contains information about request meta headers (should be embedded into message)
func (*RequestMetaHeader) Descriptor ¶
func (*RequestMetaHeader) Descriptor() ([]byte, []int)
func (*RequestMetaHeader) GetEpoch ¶
func (m *RequestMetaHeader) GetEpoch() uint64
func (*RequestMetaHeader) GetTTL ¶
func (m *RequestMetaHeader) GetTTL() uint32
func (*RequestMetaHeader) GetVersion ¶
func (m *RequestMetaHeader) GetVersion() uint32
func (*RequestMetaHeader) Marshal ¶
func (m *RequestMetaHeader) Marshal() (dAtA []byte, err error)
func (*RequestMetaHeader) MarshalTo ¶
func (m *RequestMetaHeader) MarshalTo(dAtA []byte) (int, error)
func (*RequestMetaHeader) MarshalToSizedBuffer ¶
func (m *RequestMetaHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RequestMetaHeader) ProtoMessage ¶
func (*RequestMetaHeader) ProtoMessage()
func (*RequestMetaHeader) Reset ¶
func (m *RequestMetaHeader) Reset()
func (*RequestMetaHeader) ResetMeta ¶
func (m *RequestMetaHeader) ResetMeta() RequestMetaHeader
ResetMeta returns current value and sets RequestMetaHeader to empty value.
func (*RequestMetaHeader) RestoreMeta ¶
func (m *RequestMetaHeader) RestoreMeta(v RequestMetaHeader)
RestoreMeta sets current RequestMetaHeader to passed value.
func (*RequestMetaHeader) SetEpoch ¶
func (m *RequestMetaHeader) SetEpoch(v uint64)
SetEpoch sets Epoch to RequestMetaHeader.
func (*RequestMetaHeader) SetTTL ¶
func (m *RequestMetaHeader) SetTTL(v uint32)
SetTTL sets TTL to RequestMetaHeader.
func (*RequestMetaHeader) SetVersion ¶
func (m *RequestMetaHeader) SetVersion(v uint32)
SetVersion sets protocol version to RequestMetaHeader.
func (*RequestMetaHeader) Size ¶
func (m *RequestMetaHeader) Size() (n int)
func (*RequestMetaHeader) String ¶
func (m *RequestMetaHeader) String() string
func (*RequestMetaHeader) Unmarshal ¶
func (m *RequestMetaHeader) Unmarshal(dAtA []byte) error
func (*RequestMetaHeader) XXX_DiscardUnknown ¶
func (m *RequestMetaHeader) XXX_DiscardUnknown()
func (*RequestMetaHeader) XXX_Marshal ¶
func (m *RequestMetaHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RequestMetaHeader) XXX_Merge ¶
func (m *RequestMetaHeader) XXX_Merge(src proto.Message)
func (*RequestMetaHeader) XXX_Size ¶
func (m *RequestMetaHeader) XXX_Size() int
func (*RequestMetaHeader) XXX_Unmarshal ¶
func (m *RequestMetaHeader) XXX_Unmarshal(b []byte) error
type RequestVerificationHeader ¶
type RequestVerificationHeader struct { // Signatures is a set of signatures of every passed NeoFS Node Signatures []*RequestVerificationHeader_Signature `protobuf:"bytes,1,rep,name=Signatures,proto3" json:"Signatures,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message).
func (*RequestVerificationHeader) AddSignature ¶
func (m *RequestVerificationHeader) AddSignature(sig *RequestVerificationHeader_Signature)
AddSignature adds new Signature into RequestVerificationHeader.
func (*RequestVerificationHeader) CheckOwner ¶
func (m *RequestVerificationHeader) CheckOwner(owner refs.OwnerID) error
CheckOwner validates, that passed OwnerID is equal to present PublicKey of owner.
func (*RequestVerificationHeader) Descriptor ¶
func (*RequestVerificationHeader) Descriptor() ([]byte, []int)
func (*RequestVerificationHeader) GetLastPeer ¶
func (m *RequestVerificationHeader) GetLastPeer() (*ecdsa.PublicKey, error)
GetLastPeer tries to get last peer public key from signatures. If signatures has zero length, returns ErrCannotFindOwner. If signatures has length equal to one, uses GetOwner. Otherwise tries to unmarshal last peer public key.
func (*RequestVerificationHeader) GetOwner ¶
func (m *RequestVerificationHeader) GetOwner() (*ecdsa.PublicKey, error)
GetOwner tries to get owner (client) public key from signatures. If signatures contains not empty Origin, we should try to validate, that session key was signed by owner (client), otherwise return error.
func (*RequestVerificationHeader) GetSignatures ¶
func (m *RequestVerificationHeader) GetSignatures() []*RequestVerificationHeader_Signature
func (*RequestVerificationHeader) Marshal ¶
func (m *RequestVerificationHeader) Marshal() (dAtA []byte, err error)
func (*RequestVerificationHeader) MarshalTo ¶
func (m *RequestVerificationHeader) MarshalTo(dAtA []byte) (int, error)
func (*RequestVerificationHeader) MarshalToSizedBuffer ¶
func (m *RequestVerificationHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RequestVerificationHeader) ProtoMessage ¶
func (*RequestVerificationHeader) ProtoMessage()
func (*RequestVerificationHeader) Reset ¶
func (m *RequestVerificationHeader) Reset()
func (*RequestVerificationHeader) SetOwner ¶
func (m *RequestVerificationHeader) SetOwner(pub *ecdsa.PublicKey, sign []byte)
SetOwner adds origin (sign and public key) of owner (client) into first signature.
func (*RequestVerificationHeader) SetSignatures ¶
func (m *RequestVerificationHeader) SetSignatures(signatures []*RequestVerificationHeader_Signature)
SetSignatures replaces signatures stored in RequestVerificationHeader.
func (*RequestVerificationHeader) Size ¶
func (m *RequestVerificationHeader) Size() (n int)
func (*RequestVerificationHeader) String ¶
func (m *RequestVerificationHeader) String() string
func (*RequestVerificationHeader) Unmarshal ¶
func (m *RequestVerificationHeader) Unmarshal(dAtA []byte) error
func (*RequestVerificationHeader) XXX_DiscardUnknown ¶
func (m *RequestVerificationHeader) XXX_DiscardUnknown()
func (*RequestVerificationHeader) XXX_Marshal ¶
func (m *RequestVerificationHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RequestVerificationHeader) XXX_Merge ¶
func (m *RequestVerificationHeader) XXX_Merge(src proto.Message)
func (*RequestVerificationHeader) XXX_Size ¶
func (m *RequestVerificationHeader) XXX_Size() int
func (*RequestVerificationHeader) XXX_Unmarshal ¶
func (m *RequestVerificationHeader) XXX_Unmarshal(b []byte) error
type RequestVerificationHeader_Sign ¶
type RequestVerificationHeader_Sign struct { // Sign is signature of the request or session key. Sign []byte `protobuf:"bytes,1,opt,name=Sign,proto3" json:"Sign,omitempty"` // Peer is compressed public key used for signature. Peer []byte `protobuf:"bytes,2,opt,name=Peer,proto3" json:"Peer,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*RequestVerificationHeader_Sign) Descriptor ¶
func (*RequestVerificationHeader_Sign) Descriptor() ([]byte, []int)
func (*RequestVerificationHeader_Sign) GetPeer ¶
func (m *RequestVerificationHeader_Sign) GetPeer() []byte
func (*RequestVerificationHeader_Sign) GetSign ¶
func (m *RequestVerificationHeader_Sign) GetSign() []byte
func (*RequestVerificationHeader_Sign) Marshal ¶
func (m *RequestVerificationHeader_Sign) Marshal() (dAtA []byte, err error)
func (*RequestVerificationHeader_Sign) MarshalTo ¶
func (m *RequestVerificationHeader_Sign) MarshalTo(dAtA []byte) (int, error)
func (*RequestVerificationHeader_Sign) MarshalToSizedBuffer ¶
func (m *RequestVerificationHeader_Sign) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RequestVerificationHeader_Sign) ProtoMessage ¶
func (*RequestVerificationHeader_Sign) ProtoMessage()
func (*RequestVerificationHeader_Sign) Reset ¶
func (m *RequestVerificationHeader_Sign) Reset()
func (*RequestVerificationHeader_Sign) Size ¶
func (m *RequestVerificationHeader_Sign) Size() (n int)
func (*RequestVerificationHeader_Sign) String ¶
func (m *RequestVerificationHeader_Sign) String() string
func (*RequestVerificationHeader_Sign) Unmarshal ¶
func (m *RequestVerificationHeader_Sign) Unmarshal(dAtA []byte) error
func (*RequestVerificationHeader_Sign) XXX_DiscardUnknown ¶
func (m *RequestVerificationHeader_Sign) XXX_DiscardUnknown()
func (*RequestVerificationHeader_Sign) XXX_Marshal ¶
func (m *RequestVerificationHeader_Sign) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RequestVerificationHeader_Sign) XXX_Merge ¶
func (m *RequestVerificationHeader_Sign) XXX_Merge(src proto.Message)
func (*RequestVerificationHeader_Sign) XXX_Size ¶
func (m *RequestVerificationHeader_Sign) XXX_Size() int
func (*RequestVerificationHeader_Sign) XXX_Unmarshal ¶
func (m *RequestVerificationHeader_Sign) XXX_Unmarshal(b []byte) error
type RequestVerificationHeader_Signature ¶
type RequestVerificationHeader_Signature struct { // Sign is a signature and public key of the request. RequestVerificationHeader_Sign `protobuf:"bytes,1,opt,name=Sign,proto3,embedded=Sign" json:"Sign"` // Origin used for requests, when trusted node changes it and re-sign with session key. // If session key used for signature request, then Origin should contain // public key of user and signed session key. Origin *RequestVerificationHeader_Sign `protobuf:"bytes,2,opt,name=Origin,proto3" json:"Origin,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*RequestVerificationHeader_Signature) Descriptor ¶
func (*RequestVerificationHeader_Signature) Descriptor() ([]byte, []int)
func (*RequestVerificationHeader_Signature) GetOrigin ¶
func (m *RequestVerificationHeader_Signature) GetOrigin() *RequestVerificationHeader_Sign
func (*RequestVerificationHeader_Signature) Marshal ¶
func (m *RequestVerificationHeader_Signature) Marshal() (dAtA []byte, err error)
func (*RequestVerificationHeader_Signature) MarshalTo ¶
func (m *RequestVerificationHeader_Signature) MarshalTo(dAtA []byte) (int, error)
func (*RequestVerificationHeader_Signature) MarshalToSizedBuffer ¶
func (m *RequestVerificationHeader_Signature) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RequestVerificationHeader_Signature) ProtoMessage ¶
func (*RequestVerificationHeader_Signature) ProtoMessage()
func (*RequestVerificationHeader_Signature) Reset ¶
func (m *RequestVerificationHeader_Signature) Reset()
func (*RequestVerificationHeader_Signature) Size ¶
func (m *RequestVerificationHeader_Signature) Size() (n int)
func (*RequestVerificationHeader_Signature) String ¶
func (m *RequestVerificationHeader_Signature) String() string
func (*RequestVerificationHeader_Signature) Unmarshal ¶
func (m *RequestVerificationHeader_Signature) Unmarshal(dAtA []byte) error
func (*RequestVerificationHeader_Signature) XXX_DiscardUnknown ¶
func (m *RequestVerificationHeader_Signature) XXX_DiscardUnknown()
func (*RequestVerificationHeader_Signature) XXX_Marshal ¶
func (m *RequestVerificationHeader_Signature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RequestVerificationHeader_Signature) XXX_Merge ¶
func (m *RequestVerificationHeader_Signature) XXX_Merge(src proto.Message)
func (*RequestVerificationHeader_Signature) XXX_Size ¶
func (m *RequestVerificationHeader_Signature) XXX_Size() int
func (*RequestVerificationHeader_Signature) XXX_Unmarshal ¶
func (m *RequestVerificationHeader_Signature) XXX_Unmarshal(b []byte) error
type ResponseMetaHeader ¶ added in v0.4.0
type ResponseMetaHeader struct { // Current NeoFS epoch on server Epoch uint64 `protobuf:"varint,1,opt,name=Epoch,proto3" json:"Epoch,omitempty"` // Version defines protocol version // TODO: not used for now, should be implemented in future Version uint32 `protobuf:"varint,2,opt,name=Version,proto3" json:"Version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
ResponseMetaHeader contains meta information based on request processing by server (should be embedded into message)
func (*ResponseMetaHeader) Descriptor ¶ added in v0.4.0
func (*ResponseMetaHeader) Descriptor() ([]byte, []int)
func (*ResponseMetaHeader) GetEpoch ¶ added in v0.4.0
func (m *ResponseMetaHeader) GetEpoch() uint64
func (*ResponseMetaHeader) GetVersion ¶ added in v0.4.0
func (m *ResponseMetaHeader) GetVersion() uint32
func (*ResponseMetaHeader) Marshal ¶ added in v0.4.0
func (m *ResponseMetaHeader) Marshal() (dAtA []byte, err error)
func (*ResponseMetaHeader) MarshalTo ¶ added in v0.4.0
func (m *ResponseMetaHeader) MarshalTo(dAtA []byte) (int, error)
func (*ResponseMetaHeader) MarshalToSizedBuffer ¶ added in v0.4.0
func (m *ResponseMetaHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ResponseMetaHeader) ProtoMessage ¶ added in v0.4.0
func (*ResponseMetaHeader) ProtoMessage()
func (*ResponseMetaHeader) Reset ¶ added in v0.4.0
func (m *ResponseMetaHeader) Reset()
func (*ResponseMetaHeader) SetEpoch ¶ added in v0.4.0
func (m *ResponseMetaHeader) SetEpoch(v uint64)
SetEpoch sets Epoch to ResponseMetaHeader.
func (*ResponseMetaHeader) SetVersion ¶ added in v0.4.0
func (m *ResponseMetaHeader) SetVersion(v uint32)
SetVersion sets protocol version to ResponseMetaHeader.
func (*ResponseMetaHeader) Size ¶ added in v0.4.0
func (m *ResponseMetaHeader) Size() (n int)
func (*ResponseMetaHeader) String ¶ added in v0.4.0
func (m *ResponseMetaHeader) String() string
func (*ResponseMetaHeader) Unmarshal ¶ added in v0.4.0
func (m *ResponseMetaHeader) Unmarshal(dAtA []byte) error
func (*ResponseMetaHeader) XXX_DiscardUnknown ¶ added in v0.4.0
func (m *ResponseMetaHeader) XXX_DiscardUnknown()
func (*ResponseMetaHeader) XXX_Marshal ¶ added in v0.4.0
func (m *ResponseMetaHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ResponseMetaHeader) XXX_Merge ¶ added in v0.4.0
func (m *ResponseMetaHeader) XXX_Merge(src proto.Message)
func (*ResponseMetaHeader) XXX_Size ¶ added in v0.4.0
func (m *ResponseMetaHeader) XXX_Size() int
func (*ResponseMetaHeader) XXX_Unmarshal ¶ added in v0.4.0
func (m *ResponseMetaHeader) XXX_Unmarshal(b []byte) error
type TTLCondition ¶
TTLCondition is closure, that allows to validate request with ttl.
func IRNonForwarding ¶
func IRNonForwarding(role NodeRole) TTLCondition
IRNonForwarding condition that allows NonForwardingTTL only for IR
type TestRequest ¶
type TestRequest struct { IntField int32 `protobuf:"varint,1,opt,name=IntField,proto3" json:"IntField,omitempty"` StringField string `protobuf:"bytes,2,opt,name=StringField,proto3" json:"StringField,omitempty"` BytesField []byte `protobuf:"bytes,3,opt,name=BytesField,proto3" json:"BytesField,omitempty"` CustomField *testCustomField `protobuf:"bytes,4,opt,name=CustomField,proto3,customtype=testCustomField" json:"CustomField,omitempty"` RequestMetaHeader `protobuf:"bytes,98,opt,name=Meta,proto3,embedded=Meta" json:"Meta"` RequestVerificationHeader `protobuf:"bytes,99,opt,name=Header,proto3,embedded=Header" json:"Header"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*TestRequest) Descriptor ¶
func (*TestRequest) Descriptor() ([]byte, []int)
func (*TestRequest) GetBytesField ¶
func (m *TestRequest) GetBytesField() []byte
func (*TestRequest) GetIntField ¶
func (m *TestRequest) GetIntField() int32
func (*TestRequest) GetStringField ¶
func (m *TestRequest) GetStringField() string
func (*TestRequest) Marshal ¶
func (m *TestRequest) Marshal() (dAtA []byte, err error)
func (*TestRequest) MarshalToSizedBuffer ¶
func (m *TestRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*TestRequest) ProtoMessage ¶
func (*TestRequest) ProtoMessage()
func (*TestRequest) Reset ¶
func (m *TestRequest) Reset()
func (*TestRequest) Size ¶
func (m *TestRequest) Size() (n int)
func (*TestRequest) String ¶
func (m *TestRequest) String() string
func (*TestRequest) Unmarshal ¶
func (m *TestRequest) Unmarshal(dAtA []byte) error
func (*TestRequest) XXX_DiscardUnknown ¶
func (m *TestRequest) XXX_DiscardUnknown()
func (*TestRequest) XXX_Marshal ¶
func (m *TestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*TestRequest) XXX_Merge ¶
func (m *TestRequest) XXX_Merge(src proto.Message)
func (*TestRequest) XXX_Size ¶
func (m *TestRequest) XXX_Size() int
func (*TestRequest) XXX_Unmarshal ¶
func (m *TestRequest) XXX_Unmarshal(b []byte) error
type VerifiableRequest ¶
type VerifiableRequest interface { Size() int MarshalTo([]byte) (int, error) AddSignature(*RequestVerificationHeader_Signature) GetSignatures() []*RequestVerificationHeader_Signature SetSignatures([]*RequestVerificationHeader_Signature) }
VerifiableRequest adds possibility to sign and verify request header.
type VersionHeader ¶
VersionHeader allows get or set version of protocol request