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
NullClient Class Reference

A PIR client that does nothing except send random data to the servers and receive the responses. More...

#include <nullclient.h>

Inheritance diagram for NullClient:
PercyClient

Public Member Functions

 NullClient (const PercyClientParams *params, nservers_t num_servers)
 Constructor. More...
 
virtual ~NullClient ()
 Destructor. More...
 
- Public Member Functions inherited from PercyClient
virtual ~PercyClient ()
 Destructor. More...
 
nqueries_t encode_request (vector< dbsize_t > block_numbers, nqueries_t querybsize=1)
 Encode a request for the given block numbers. More...
 
dbsize_t send_request (nqueries_t request_identifier, std::vector< ostream * > &osvec, bool send_num_queries=true)
 Send the request for the given request ID. More...
 
dbsize_t receive_replies (nqueries_t request_identifier, std::vector< istream * > &isvec)
 Receive the servers' replies for a given request ID. More...
 
nqueries_t process_replies (nservers_t h)
 Process the servers' replies for all undecoded replies. More...
 
bool get_result (nqueries_t request_identifier, vector< PercyBlockResults > &results)
 Get the result for a given request ID. More...
 
bool fetch_blocks (nqueries_t &request_identifier, vector< dbsize_t > block_numbers, vector< ostream * > &osvec, vector< istream * > &isvec, vector< PercyBlockResults > &results, nqueries_t querybsize=1)
 Do encode_request(), send_request(), receive_replies(), process_replies(), and get_result() all in one shot. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from PercyClient
static PercyClientmake_client (const PercyClientParams *clientparams, nservers_t num_servers, nservers_t t, sid_t *sids=NULL, PercyStats *stats=NULL)
 Factory method called to get a client object for the given parameters. More...
 
- Protected Member Functions inherited from PercyClient
const vector< dbsize_t > & get_block_numbers (nqueries_t request_identifier)
 Get the block numbers for a given request ID. More...
 
nqueries_t get_qbs (nqueries_t request_identifier)
 Get the number of blocks to request in a single query for a given request ID. More...
 
 PercyClient (const PercyClientParams *clientparams, nservers_t num_servers, nservers_t t, PercyStats *stats=NULL)
 Constructor. More...
 
- Protected Attributes inherited from PercyClient
const PercyClientParamsclientparams
 Parameters for the client. More...
 
nservers_t num_servers
 The number of servers. More...
 
nservers_t t
 The privacy level. More...
 
vector< nservers_t > goodservers
 The server indices of servers that have not acted up. More...
 
- Static Protected Attributes inherited from PercyClient
static const bool randomize = true
 Randomize the requests for IT-PIR clients. More...
 

Detailed Description

A PIR client that does nothing except send random data to the servers and receive the responses.

Constructor & Destructor Documentation

NullClient ( const PercyClientParams params,
nservers_t  num_servers 
)

Constructor.

Can only be called by derived classes. Use make_client() to create a client object.

Parameters
paramsParameters for the client.
num_serversThe number of servers used
virtual ~NullClient ( )
virtual

Destructor.


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