Percy++
A C++ implementation of Private Information Retrieval (PIR) protocols
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | List of all members
ChorParams Class Reference
Inheritance diagram for ChorParams:
PercyParams

Public Member Functions

 ChorParams (dbsize_t num_blocks, dbsize_t block_size, dbsize_t virtual_block_size=1)
 
virtual dbsize_t request_size (nqueries_t num_queries=1) const
 Get the size of a client to server request. More...
 
virtual dbsize_t response_size (nqueries_t num_queries=1) const
 Get the size of a server to client response. More...
 
virtual std::vector< const
PercyParams * > 
create_worker_params (std::vector< Dimension > worker_dims) const
 Create protocol parameters for threads/workers. More...
 
- Public Member Functions inherited from PercyParams
 PercyParams (dbsize_t num_blocks, dbsize_t block_size, dbsize_t word_size, PercyMode mode, nservers_t tau=0, dbsize_t virtual_block_size=1)
 Constructor. More...
 
virtual ~PercyParams ()
 Destructor. More...
 
dbsize_t num_blocks () const
 Get the number of blocks in the database. More...
 
dbsize_t block_size () const
 Get the size of each block in the database in bytes. More...
 
virtual dbsize_t server_block_size () const
 Get the size of each block in the database that the datastore will actually use. More...
 
dbsize_t word_size () const
 Get the word size used to split blocks. More...
 
dbsize_t words_per_block () const
 Get the number of words per database block. More...
 
PercyMode get_mode () const
 Get the protocol being used. More...
 
nservers_t tau () const
 Get the level of tau-independence. More...
 
dbsize_t num_virtual_blocks () const
 Get the number of virtual blocks when being used as one iteration of a recursive protocol. More...
 
dbsize_t virtual_block_size () const
 Get the number of actual blocks in a virtual block when being used as one iteration of a recursive protocol. More...
 
void print (std::ostream &os) const
 Prints the parameters in CSV form. More...
 
virtual void print_mode_specific (std::ostream &os) const
 Print mode-specific parameters. More...
 
virtual void write (std::ostream &os) const
 Write the parameters to a stream to check compatibility. More...
 
virtual bool check_compatible (std::istream &is) const
 Read the parameters from a stream (as written by write()) and check that they are compatible with these parameters. More...
 
virtual bool is_recursive () const
 Check if the protocol is recursive. More...
 

Additional Inherited Members

- Protected Attributes inherited from PercyParams
unsigned char version [3]
 Percy++ version. More...
 
dbsize_t _num_blocks
 Number of database blocks. More...
 
dbsize_t _block_size
 Size of database blocks in bytes. More...
 
dbsize_t _word_size
 Word size used to split blocks. More...
 
dbsize_t _words_per_block
 Number of words per database block. More...
 
PercyMode mode
 Protocol being used. More...
 
nservers_t _tau
 Level of tau-independence. More...
 
dbsize_t _num_virtual_blocks
 Number of virtual blocks when part of a recursive protocol. More...
 
dbsize_t _virtual_block_size
 Number of actual blocks per virtual block when part of a recursive protocol. More...
 

Member Function Documentation

virtual std::vector<const PercyParams*> create_worker_params ( std::vector< Dimension worker_dims) const
virtual

Create protocol parameters for threads/workers.

worker_dims The database dimensions for each thread/worker.

Returns
The protocol parameters for each thread/worker.

Implements PercyParams.

virtual dbsize_t request_size ( nqueries_t  num_queries = 1) const
virtual

Get the size of a client to server request.

Parameters
num_queriesThe number of queries in the request. (Default: 1)

Implements PercyParams.

virtual dbsize_t response_size ( nqueries_t  num_queries = 1) const
virtual

Get the size of a server to client response.

Parameters
num_queriesThe number of queries in the request. (Default: 1)

Implements PercyParams.


The documentation for this class was generated from the following file: