|
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.
1.8.7