Documentation ¶
Index ¶
- func NewHoardServer(des DeterministicEncryptedStore, gs GrantService) *grpcService
- func RegisterCleartextServer(s *grpc.Server, srv CleartextServer)
- func RegisterEncryptionServer(s *grpc.Server, srv EncryptionServer)
- func RegisterGrantServer(s *grpc.Server, srv GrantServer)
- func RegisterStorageServer(s *grpc.Server, srv StorageServer)
- type Address
- func (*Address) Descriptor() ([]byte, []int)
- func (m *Address) GetAddress() []byte
- func (*Address) ProtoMessage()
- func (m *Address) ProtoSize() (n int)
- func (m *Address) Reset()
- func (m *Address) String() string
- func (m *Address) XXX_DiscardUnknown()
- func (m *Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Address) XXX_Merge(src proto.Message)
- func (m *Address) XXX_Size() int
- func (m *Address) XXX_Unmarshal(b []byte) error
- type Ciphertext
- func (*Ciphertext) Descriptor() ([]byte, []int)
- func (m *Ciphertext) GetEncryptedData() []byte
- func (*Ciphertext) ProtoMessage()
- func (m *Ciphertext) ProtoSize() (n int)
- func (m *Ciphertext) Reset()
- func (m *Ciphertext) String() string
- func (m *Ciphertext) XXX_DiscardUnknown()
- func (m *Ciphertext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Ciphertext) XXX_Merge(src proto.Message)
- func (m *Ciphertext) XXX_Size() int
- func (m *Ciphertext) XXX_Unmarshal(b []byte) error
- type CleartextClient
- type CleartextServer
- type DeterministicEncryptedStore
- type DeterministicEncryptor
- type EncryptionClient
- type EncryptionServer
- type GrantAndGrantSpec
- func (*GrantAndGrantSpec) Descriptor() ([]byte, []int)
- func (m *GrantAndGrantSpec) GetGrant() *grant.Grant
- func (m *GrantAndGrantSpec) GetGrantSpec() *grant.Spec
- func (*GrantAndGrantSpec) ProtoMessage()
- func (m *GrantAndGrantSpec) ProtoSize() (n int)
- func (m *GrantAndGrantSpec) Reset()
- func (m *GrantAndGrantSpec) String() string
- func (m *GrantAndGrantSpec) XXX_DiscardUnknown()
- func (m *GrantAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *GrantAndGrantSpec) XXX_Merge(src proto.Message)
- func (m *GrantAndGrantSpec) XXX_Size() int
- func (m *GrantAndGrantSpec) XXX_Unmarshal(b []byte) error
- type GrantClient
- type GrantServer
- type GrantService
- type Hoard
- func (hrd *Hoard) Decrypt(ref *reference.Ref, encryptedData []byte) ([]byte, error)
- func (hrd *Hoard) Encrypt(data, salt []byte) (*reference.Ref, []byte, error)
- func (hrd *Hoard) Get(ref *reference.Ref) ([]byte, error)
- func (hrd *Hoard) Name() string
- func (hrd *Hoard) Put(data, salt []byte) (*reference.Ref, error)
- func (hrd *Hoard) Seal(ref *reference.Ref, spec *grant.Spec) (*grant.Grant, error)
- func (hrd *Hoard) Store() storage.ContentAddressedStore
- func (hrd *Hoard) Unseal(grt *grant.Grant) (*reference.Ref, error)
- type Plaintext
- func (*Plaintext) Descriptor() ([]byte, []int)
- func (m *Plaintext) GetData() []byte
- func (m *Plaintext) GetSalt() []byte
- func (*Plaintext) ProtoMessage()
- func (m *Plaintext) ProtoSize() (n int)
- func (m *Plaintext) Reset()
- func (m *Plaintext) String() string
- func (m *Plaintext) XXX_DiscardUnknown()
- func (m *Plaintext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Plaintext) XXX_Merge(src proto.Message)
- func (m *Plaintext) XXX_Size() int
- func (m *Plaintext) XXX_Unmarshal(b []byte) error
- type PlaintextAndGrantSpec
- func (*PlaintextAndGrantSpec) Descriptor() ([]byte, []int)
- func (m *PlaintextAndGrantSpec) GetGrantSpec() *grant.Spec
- func (m *PlaintextAndGrantSpec) GetPlaintext() *Plaintext
- func (*PlaintextAndGrantSpec) ProtoMessage()
- func (m *PlaintextAndGrantSpec) ProtoSize() (n int)
- func (m *PlaintextAndGrantSpec) Reset()
- func (m *PlaintextAndGrantSpec) String() string
- func (m *PlaintextAndGrantSpec) XXX_DiscardUnknown()
- func (m *PlaintextAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *PlaintextAndGrantSpec) XXX_Merge(src proto.Message)
- func (m *PlaintextAndGrantSpec) XXX_Size() int
- func (m *PlaintextAndGrantSpec) XXX_Unmarshal(b []byte) error
- type ReferenceAndCiphertext
- func (*ReferenceAndCiphertext) Descriptor() ([]byte, []int)
- func (m *ReferenceAndCiphertext) GetCiphertext() *Ciphertext
- func (m *ReferenceAndCiphertext) GetReference() *reference.Ref
- func (*ReferenceAndCiphertext) ProtoMessage()
- func (m *ReferenceAndCiphertext) ProtoSize() (n int)
- func (m *ReferenceAndCiphertext) Reset()
- func (m *ReferenceAndCiphertext) String() string
- func (m *ReferenceAndCiphertext) XXX_DiscardUnknown()
- func (m *ReferenceAndCiphertext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ReferenceAndCiphertext) XXX_Merge(src proto.Message)
- func (m *ReferenceAndCiphertext) XXX_Size() int
- func (m *ReferenceAndCiphertext) XXX_Unmarshal(b []byte) error
- type ReferenceAndGrantSpec
- func (*ReferenceAndGrantSpec) Descriptor() ([]byte, []int)
- func (m *ReferenceAndGrantSpec) GetGrantSpec() *grant.Spec
- func (m *ReferenceAndGrantSpec) GetReference() *reference.Ref
- func (*ReferenceAndGrantSpec) ProtoMessage()
- func (m *ReferenceAndGrantSpec) ProtoSize() (n int)
- func (m *ReferenceAndGrantSpec) Reset()
- func (m *ReferenceAndGrantSpec) String() string
- func (m *ReferenceAndGrantSpec) XXX_DiscardUnknown()
- func (m *ReferenceAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ReferenceAndGrantSpec) XXX_Merge(src proto.Message)
- func (m *ReferenceAndGrantSpec) XXX_Size() int
- func (m *ReferenceAndGrantSpec) XXX_Unmarshal(b []byte) error
- type StorageClient
- type StorageServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewHoardServer ¶
func NewHoardServer(des DeterministicEncryptedStore, gs GrantService) *grpcService
func RegisterCleartextServer ¶
func RegisterCleartextServer(s *grpc.Server, srv CleartextServer)
func RegisterEncryptionServer ¶
func RegisterEncryptionServer(s *grpc.Server, srv EncryptionServer)
func RegisterGrantServer ¶
func RegisterGrantServer(s *grpc.Server, srv GrantServer)
func RegisterStorageServer ¶
func RegisterStorageServer(s *grpc.Server, srv StorageServer)
Types ¶
type Address ¶
type Address struct { Address []byte `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Address) Descriptor ¶
func (*Address) GetAddress ¶
func (*Address) ProtoMessage ¶
func (*Address) ProtoMessage()
func (*Address) XXX_DiscardUnknown ¶
func (m *Address) XXX_DiscardUnknown()
func (*Address) XXX_Marshal ¶
func (*Address) XXX_Unmarshal ¶
type Ciphertext ¶
type Ciphertext struct { EncryptedData []byte `protobuf:"bytes,1,opt,name=EncryptedData,proto3" json:"EncryptedData,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Ciphertext) Descriptor ¶
func (*Ciphertext) Descriptor() ([]byte, []int)
func (*Ciphertext) GetEncryptedData ¶
func (m *Ciphertext) GetEncryptedData() []byte
func (*Ciphertext) ProtoMessage ¶
func (*Ciphertext) ProtoMessage()
func (*Ciphertext) ProtoSize ¶
func (m *Ciphertext) ProtoSize() (n int)
func (*Ciphertext) Reset ¶
func (m *Ciphertext) Reset()
func (*Ciphertext) String ¶
func (m *Ciphertext) String() string
func (*Ciphertext) XXX_DiscardUnknown ¶
func (m *Ciphertext) XXX_DiscardUnknown()
func (*Ciphertext) XXX_Marshal ¶
func (m *Ciphertext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Ciphertext) XXX_Merge ¶
func (dst *Ciphertext) XXX_Merge(src proto.Message)
func (*Ciphertext) XXX_Size ¶
func (m *Ciphertext) XXX_Size() int
func (*Ciphertext) XXX_Unmarshal ¶
func (m *Ciphertext) XXX_Unmarshal(b []byte) error
type CleartextClient ¶
type CleartextClient interface { // Push some plaintext data into storage and get its deterministically // generated secret reference. Put(ctx context.Context, in *Plaintext, opts ...grpc.CallOption) (*reference.Ref, error) // Provide a secret reference to an encrypted blob and get the plaintext // data back. Get(ctx context.Context, in *reference.Ref, opts ...grpc.CallOption) (*Plaintext, error) }
CleartextClient is the client API for Cleartext service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewCleartextClient ¶
func NewCleartextClient(cc *grpc.ClientConn) CleartextClient
type CleartextServer ¶
type CleartextServer interface { // Push some plaintext data into storage and get its deterministically // generated secret reference. Put(context.Context, *Plaintext) (*reference.Ref, error) // Provide a secret reference to an encrypted blob and get the plaintext // data back. Get(context.Context, *reference.Ref) (*Plaintext, error) }
CleartextServer is the server API for Cleartext service.
type DeterministicEncryptedStore ¶
type DeterministicEncryptedStore interface { DeterministicEncryptor // Get encrypted data from underlying storage at address and decrypt it using // secretKey Get(ref *reference.Ref) (data []byte, err error) // Encrypt data and put it in underlying storage Put(data, salt []byte) (*reference.Ref, error) // Get the underlying ContentAddressedStore Store() storage.ContentAddressedStore }
type DeterministicEncryptor ¶
type EncryptionClient ¶
type EncryptionClient interface { // Encrypt some data and get its deterministically generated // secret reference including its address without storing the data. Encrypt(ctx context.Context, in *Plaintext, opts ...grpc.CallOption) (*ReferenceAndCiphertext, error) // Decrypt the provided data by supplying it alongside its secret // reference. The address is not used for decryption and may be omitted. Decrypt(ctx context.Context, in *ReferenceAndCiphertext, opts ...grpc.CallOption) (*Plaintext, error) }
EncryptionClient is the client API for Encryption service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewEncryptionClient ¶
func NewEncryptionClient(cc *grpc.ClientConn) EncryptionClient
type EncryptionServer ¶
type EncryptionServer interface { // Encrypt some data and get its deterministically generated // secret reference including its address without storing the data. Encrypt(context.Context, *Plaintext) (*ReferenceAndCiphertext, error) // Decrypt the provided data by supplying it alongside its secret // reference. The address is not used for decryption and may be omitted. Decrypt(context.Context, *ReferenceAndCiphertext) (*Plaintext, error) }
EncryptionServer is the server API for Encryption service.
type GrantAndGrantSpec ¶
type GrantAndGrantSpec struct { Grant *grant.Grant `protobuf:"bytes,1,opt,name=Grant" json:"Grant,omitempty"` // The type of grant to output GrantSpec *grant.Spec `protobuf:"bytes,2,opt,name=GrantSpec" json:"GrantSpec,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*GrantAndGrantSpec) Descriptor ¶
func (*GrantAndGrantSpec) Descriptor() ([]byte, []int)
func (*GrantAndGrantSpec) GetGrant ¶
func (m *GrantAndGrantSpec) GetGrant() *grant.Grant
func (*GrantAndGrantSpec) GetGrantSpec ¶
func (m *GrantAndGrantSpec) GetGrantSpec() *grant.Spec
func (*GrantAndGrantSpec) ProtoMessage ¶
func (*GrantAndGrantSpec) ProtoMessage()
func (*GrantAndGrantSpec) ProtoSize ¶
func (m *GrantAndGrantSpec) ProtoSize() (n int)
func (*GrantAndGrantSpec) Reset ¶
func (m *GrantAndGrantSpec) Reset()
func (*GrantAndGrantSpec) String ¶
func (m *GrantAndGrantSpec) String() string
func (*GrantAndGrantSpec) XXX_DiscardUnknown ¶
func (m *GrantAndGrantSpec) XXX_DiscardUnknown()
func (*GrantAndGrantSpec) XXX_Marshal ¶
func (m *GrantAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GrantAndGrantSpec) XXX_Merge ¶
func (dst *GrantAndGrantSpec) XXX_Merge(src proto.Message)
func (*GrantAndGrantSpec) XXX_Size ¶
func (m *GrantAndGrantSpec) XXX_Size() int
func (*GrantAndGrantSpec) XXX_Unmarshal ¶
func (m *GrantAndGrantSpec) XXX_Unmarshal(b []byte) error
type GrantClient ¶
type GrantClient interface { // Seal a Reference to create a Grant Seal(ctx context.Context, in *ReferenceAndGrantSpec, opts ...grpc.CallOption) (*grant.Grant, error) // Unseal a Grant to recover the Reference Unseal(ctx context.Context, in *grant.Grant, opts ...grpc.CallOption) (*reference.Ref, error) // Convert one grant to another grant to re-share with another party or just // to change grant type Reseal(ctx context.Context, in *GrantAndGrantSpec, opts ...grpc.CallOption) (*grant.Grant, error) // Put a Plaintext and returned the sealed Reference as a Grant PutSeal(ctx context.Context, in *PlaintextAndGrantSpec, opts ...grpc.CallOption) (*grant.Grant, error) // Unseal a Grant and follow the Reference to return a Plaintext UnsealGet(ctx context.Context, in *grant.Grant, opts ...grpc.CallOption) (*Plaintext, error) }
GrantClient is the client API for Grant service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewGrantClient ¶
func NewGrantClient(cc *grpc.ClientConn) GrantClient
type GrantServer ¶
type GrantServer interface { // Seal a Reference to create a Grant Seal(context.Context, *ReferenceAndGrantSpec) (*grant.Grant, error) // Unseal a Grant to recover the Reference Unseal(context.Context, *grant.Grant) (*reference.Ref, error) // Convert one grant to another grant to re-share with another party or just // to change grant type Reseal(context.Context, *GrantAndGrantSpec) (*grant.Grant, error) // Put a Plaintext and returned the sealed Reference as a Grant PutSeal(context.Context, *PlaintextAndGrantSpec) (*grant.Grant, error) // Unseal a Grant and follow the Reference to return a Plaintext UnsealGet(context.Context, *grant.Grant) (*Plaintext, error) }
GrantServer is the server API for Grant service.
type GrantService ¶
type Hoard ¶
type Hoard struct {
// contains filtered or unexported fields
}
This is our top level API object providing library acting as a deterministic encrypted store and a grant issuer. It can be consumed as a Go library or as a GRPC service through grpcService which just plumbs this object into the hoard.proto interface.
func (*Hoard) Store ¶
func (hrd *Hoard) Store() storage.ContentAddressedStore
type Plaintext ¶
type Plaintext struct { Data []byte `protobuf:"bytes,1,opt,name=Data,proto3" json:"Data,omitempty"` Salt []byte `protobuf:"bytes,2,opt,name=Salt,proto3" json:"Salt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Plaintext) Descriptor ¶
func (*Plaintext) ProtoMessage ¶
func (*Plaintext) ProtoMessage()
func (*Plaintext) XXX_DiscardUnknown ¶
func (m *Plaintext) XXX_DiscardUnknown()
func (*Plaintext) XXX_Marshal ¶
func (*Plaintext) XXX_Unmarshal ¶
type PlaintextAndGrantSpec ¶
type PlaintextAndGrantSpec struct { Plaintext *Plaintext `protobuf:"bytes,1,opt,name=Plaintext" json:"Plaintext,omitempty"` // The type of grant to output GrantSpec *grant.Spec `protobuf:"bytes,2,opt,name=GrantSpec" json:"GrantSpec,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*PlaintextAndGrantSpec) Descriptor ¶
func (*PlaintextAndGrantSpec) Descriptor() ([]byte, []int)
func (*PlaintextAndGrantSpec) GetGrantSpec ¶
func (m *PlaintextAndGrantSpec) GetGrantSpec() *grant.Spec
func (*PlaintextAndGrantSpec) GetPlaintext ¶
func (m *PlaintextAndGrantSpec) GetPlaintext() *Plaintext
func (*PlaintextAndGrantSpec) ProtoMessage ¶
func (*PlaintextAndGrantSpec) ProtoMessage()
func (*PlaintextAndGrantSpec) ProtoSize ¶
func (m *PlaintextAndGrantSpec) ProtoSize() (n int)
func (*PlaintextAndGrantSpec) Reset ¶
func (m *PlaintextAndGrantSpec) Reset()
func (*PlaintextAndGrantSpec) String ¶
func (m *PlaintextAndGrantSpec) String() string
func (*PlaintextAndGrantSpec) XXX_DiscardUnknown ¶
func (m *PlaintextAndGrantSpec) XXX_DiscardUnknown()
func (*PlaintextAndGrantSpec) XXX_Marshal ¶
func (m *PlaintextAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PlaintextAndGrantSpec) XXX_Merge ¶
func (dst *PlaintextAndGrantSpec) XXX_Merge(src proto.Message)
func (*PlaintextAndGrantSpec) XXX_Size ¶
func (m *PlaintextAndGrantSpec) XXX_Size() int
func (*PlaintextAndGrantSpec) XXX_Unmarshal ¶
func (m *PlaintextAndGrantSpec) XXX_Unmarshal(b []byte) error
type ReferenceAndCiphertext ¶
type ReferenceAndCiphertext struct { Reference *reference.Ref `protobuf:"bytes,1,opt,name=Reference" json:"Reference,omitempty"` Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=Ciphertext" json:"Ciphertext,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ReferenceAndCiphertext) Descriptor ¶
func (*ReferenceAndCiphertext) Descriptor() ([]byte, []int)
func (*ReferenceAndCiphertext) GetCiphertext ¶
func (m *ReferenceAndCiphertext) GetCiphertext() *Ciphertext
func (*ReferenceAndCiphertext) GetReference ¶
func (m *ReferenceAndCiphertext) GetReference() *reference.Ref
func (*ReferenceAndCiphertext) ProtoMessage ¶
func (*ReferenceAndCiphertext) ProtoMessage()
func (*ReferenceAndCiphertext) ProtoSize ¶
func (m *ReferenceAndCiphertext) ProtoSize() (n int)
func (*ReferenceAndCiphertext) Reset ¶
func (m *ReferenceAndCiphertext) Reset()
func (*ReferenceAndCiphertext) String ¶
func (m *ReferenceAndCiphertext) String() string
func (*ReferenceAndCiphertext) XXX_DiscardUnknown ¶
func (m *ReferenceAndCiphertext) XXX_DiscardUnknown()
func (*ReferenceAndCiphertext) XXX_Marshal ¶
func (m *ReferenceAndCiphertext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ReferenceAndCiphertext) XXX_Merge ¶
func (dst *ReferenceAndCiphertext) XXX_Merge(src proto.Message)
func (*ReferenceAndCiphertext) XXX_Size ¶
func (m *ReferenceAndCiphertext) XXX_Size() int
func (*ReferenceAndCiphertext) XXX_Unmarshal ¶
func (m *ReferenceAndCiphertext) XXX_Unmarshal(b []byte) error
type ReferenceAndGrantSpec ¶
type ReferenceAndGrantSpec struct { Reference *reference.Ref `protobuf:"bytes,1,opt,name=Reference" json:"Reference,omitempty"` // The type of grant to output GrantSpec *grant.Spec `protobuf:"bytes,2,opt,name=GrantSpec" json:"GrantSpec,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ReferenceAndGrantSpec) Descriptor ¶
func (*ReferenceAndGrantSpec) Descriptor() ([]byte, []int)
func (*ReferenceAndGrantSpec) GetGrantSpec ¶
func (m *ReferenceAndGrantSpec) GetGrantSpec() *grant.Spec
func (*ReferenceAndGrantSpec) GetReference ¶
func (m *ReferenceAndGrantSpec) GetReference() *reference.Ref
func (*ReferenceAndGrantSpec) ProtoMessage ¶
func (*ReferenceAndGrantSpec) ProtoMessage()
func (*ReferenceAndGrantSpec) ProtoSize ¶
func (m *ReferenceAndGrantSpec) ProtoSize() (n int)
func (*ReferenceAndGrantSpec) Reset ¶
func (m *ReferenceAndGrantSpec) Reset()
func (*ReferenceAndGrantSpec) String ¶
func (m *ReferenceAndGrantSpec) String() string
func (*ReferenceAndGrantSpec) XXX_DiscardUnknown ¶
func (m *ReferenceAndGrantSpec) XXX_DiscardUnknown()
func (*ReferenceAndGrantSpec) XXX_Marshal ¶
func (m *ReferenceAndGrantSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ReferenceAndGrantSpec) XXX_Merge ¶
func (dst *ReferenceAndGrantSpec) XXX_Merge(src proto.Message)
func (*ReferenceAndGrantSpec) XXX_Size ¶
func (m *ReferenceAndGrantSpec) XXX_Size() int
func (*ReferenceAndGrantSpec) XXX_Unmarshal ¶
func (m *ReferenceAndGrantSpec) XXX_Unmarshal(b []byte) error
type StorageClient ¶
type StorageClient interface { // Insert the (presumably) encrypted data provided and get the its address. Push(ctx context.Context, in *Ciphertext, opts ...grpc.CallOption) (*Address, error) // Retrieve the (presumably) encrypted data stored at address. Pull(ctx context.Context, in *Address, opts ...grpc.CallOption) (*Ciphertext, error) // Get some information about the encrypted blob stored at an address, // including whether it exists. Stat(ctx context.Context, in *Address, opts ...grpc.CallOption) (*storage.StatInfo, error) }
StorageClient is the client API for Storage service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewStorageClient ¶
func NewStorageClient(cc *grpc.ClientConn) StorageClient
type StorageServer ¶
type StorageServer interface { // Insert the (presumably) encrypted data provided and get the its address. Push(context.Context, *Ciphertext) (*Address, error) // Retrieve the (presumably) encrypted data stored at address. Pull(context.Context, *Address) (*Ciphertext, error) // Get some information about the encrypted blob stored at an address, // including whether it exists. Stat(context.Context, *Address) (*storage.StatInfo, error) }
StorageServer is the server API for Storage service.