Percy++
A C++ implementation of Private Information Retrieval (PIR) protocols
|
A PIR client that does nothing except send random data to the servers and receive the responses. More...
#include <nullclient.h>
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 PercyClient * | make_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 PercyClientParams * | clientparams |
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... | |
A PIR client that does nothing except send random data to the servers and receive the responses.
NullClient | ( | const PercyClientParams * | params, |
nservers_t | num_servers | ||
) |
Constructor.
Can only be called by derived classes. Use make_client() to create a client object.
params | Parameters for the client. |
num_servers | The number of servers used |
|
virtual |
Destructor.