Documentation ¶
Index ¶
- func DecodeRiceIntegers(rice *RiceDeltaEncoding) ([]uint32, error)
- func EncodeRiceIntegers(values []uint32) (*RiceDeltaEncoding, error)
- func EncodeRiceIntegersWithParam(values []uint32, riceParam int32) (*RiceDeltaEncoding, error)
- func NewRiceDecoder(br *bitReader, k uint32) *riceDecoder
- func NewRiceEncoder(bw *bitWriter, k uint32) *riceEncoder
- func RiceEncodedHashes(hashInts []uint32) (*RiceDeltaEncoding, error)
- type Client
- type KeyUpdatesReq
- type KeyUpdatesResp
- type Server
- func (s *Server) AddRows(keys []uint32, rows []pir.Row)
- func (s *Server) DeleteRows(keys []uint32)
- func (s *Server) KeyUpdates(req KeyUpdatesReq, resp *KeyUpdatesResp) error
- func (s *Server) NumKeys() int
- func (s *Server) Row(idx int) (uint32, pir.Row, error)
- func (s *Server) SomeKeys(num int) []uint32
- type UpdatableHintReq
- type UpdatableQueryReq
- type UpdatableQueryResp
- type UpdatableServer
- type WaterfallClient
- func (c *WaterfallClient) HintUpdateReq(numNewRows int, rowLen int) (*UpdatableHintReq, error)
- func (c *WaterfallClient) InitHint(resp pir.HintResp) error
- func (c *WaterfallClient) LayersMaxSize(nRows int) []int
- func (c *WaterfallClient) Query(pos int) ([]pir.QueryReq, pir.ReconstructFunc)
- func (c *WaterfallClient) State() (bitsPerKey, fixedBytes int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeRiceIntegers ¶
Copied from Google's code
func EncodeRiceIntegers ¶
func NewRiceDecoder ¶
func NewRiceDecoder(br *bitReader, k uint32) *riceDecoder
func NewRiceEncoder ¶
func NewRiceEncoder(bw *bitWriter, k uint32) *riceEncoder
func RiceEncodedHashes ¶
Types ¶
type Client ¶
type Client struct { // For testing CallAsync bool // contains filtered or unexported fields }
func (*Client) StorageNumBytes ¶
type KeyUpdatesReq ¶
type KeyUpdatesResp ¶
type Server ¶
func NewUpdatableServer ¶
func NewUpdatableServer() *Server
func (*Server) DeleteRows ¶
func (*Server) KeyUpdates ¶
func (s *Server) KeyUpdates(req KeyUpdatesReq, resp *KeyUpdatesResp) error
type UpdatableHintReq ¶
type UpdatableQueryReq ¶
type UpdatableQueryResp ¶
type UpdatableQueryResp []interface{}
type UpdatableServer ¶
type UpdatableServer interface { pir.Server KeyUpdates(req KeyUpdatesReq, resp *KeyUpdatesResp) error }
type WaterfallClient ¶
type WaterfallClient struct {
// contains filtered or unexported fields
}
func NewWaterfallClient ¶
func NewWaterfallClient(source *rand.Rand, pirType pir.PirType) *WaterfallClient
func (*WaterfallClient) HintUpdateReq ¶
func (c *WaterfallClient) HintUpdateReq(numNewRows int, rowLen int) (*UpdatableHintReq, error)
func (*WaterfallClient) LayersMaxSize ¶
func (c *WaterfallClient) LayersMaxSize(nRows int) []int
func (*WaterfallClient) Query ¶
func (c *WaterfallClient) Query(pos int) ([]pir.QueryReq, pir.ReconstructFunc)
func (*WaterfallClient) State ¶
func (c *WaterfallClient) State() (bitsPerKey, fixedBytes int)
Click to show internal directories.
Click to hide internal directories.