Percy++
A C++ implementation of Private Information Retrieval (PIR) protocols
|
Public Member Functions | |
RecursiveServerParams (const RecursiveParams *rparams, nservers_t sid, bool is_worker=false, bool be_byzantine=false) | |
RecursiveServerParams (const RecursiveParams *rparams, nservers_t sid, nservers_t num_threads=0, DistSplit tsplit=DIST_SPLIT_RECORDS, nservers_t num_workers=0, DistSplit wsplit=DIST_SPLIT_RECORDS, std::vector< nservers_t > worker_sids=std::vector< nservers_t >(), bool fork=false, bool first_only=false, bool be_byzantine=false, bool is_worker=false) | |
const RecursiveParams * | recursive_params () const |
bool | dist_first_only () const |
bool | is_worker () const |
std::vector< const PercyServerParams * > | get_iterations () const |
const PercyServerParams * | get_iteration (nqueries_t index) const |
nqueries_t | depth () const |
std::vector< const RecursiveParams * > | get_worker_rparams () const |
virtual void | print_distributed (std::ostream &os) const |
Print the distributed properties of the server. More... | |
Public Member Functions inherited from PercyServerParams | |
PercyServerParams (const PercyParams *params, nservers_t sid, bool be_byzantine=false) | |
Constructor. More... | |
PercyServerParams (const PercyParams *params, nservers_t sid, nservers_t num_threads=0, DistSplit tsplit=DIST_SPLIT_RECORDS, nservers_t num_workers=0, DistSplit wsplit=DIST_SPLIT_RECORDS, std::vector< nservers_t > worker_sids=std::vector< nservers_t >(), bool fork=false, bool be_byzantine=false) | |
Constructor for parallel server computation. More... | |
virtual | ~PercyServerParams () |
Destructor. More... | |
void | send (std::ostream &os, bool to_worker=false) const |
Send parameters and sid to client to test compatibility. More... | |
bool | is_compatible (std::istream &is) const |
Test compatibility with client. More... | |
bool | is_recursive () const |
Check if the server is recursive. More... | |
nservers_t | get_sid () const |
Get the server ID. More... | |
bool | is_byzantine () const |
Check if the server is Byzantine (responses incorrectly/maliciously). More... | |
bool | is_threaded () const |
Check if the server is using multithreading. More... | |
nservers_t | num_threads () const |
Get the number of threads being used. More... | |
DistSplit | thread_split () const |
Get the method of partitioning work amoung threads. More... | |
bool | use_forked_threads () const |
Check if the server is using forked processes instead of threading. More... | |
bool | is_distributed () const |
Check if the server is using distributed computation. More... | |
nservers_t | num_workers () const |
Get the number of worker processes being used. More... | |
DistSplit | worker_split () const |
Get the method of partitioning work amoung workers. More... | |
const PercyParams * | get_worker_params (nservers_t wid) const |
Get the protocol parameters for a worker. More... | |
std::vector< const PercyParams * > | get_all_worker_params () const |
Get the protocol parameters for all workers. More... | |
const PercyServerParams * | get_worker_serverparams (nservers_t wid) const |
Get the server parameters for a worker. More... | |
std::vector< const PercyServerParams * > | get_all_worker_serverparams () const |
Get the server parameters for all workers. More... | |
const PercyParams * | get_thread_params (nservers_t wid) const |
Get the protocol parameters for a thread. More... | |
std::vector< const PercyParams * > | get_all_thread_params () const |
Get the protocol parameters for all threads. More... | |
const PercyServerParams * | get_thread_serverparams (nservers_t wid) const |
Get the server parameters for a thread. More... | |
std::vector< const PercyServerParams * > | get_all_thread_serverparams () const |
Get the server parameters for all threads. More... | |
void | print (std::ostream &os) const |
Prints the parameters in CSV form. More... | |
const PercyParams * | percy_params () const |
Get the protocol parameters. More... | |
Protected Attributes | |
const RecursiveParams * | rparams |
std::vector< const PercyServerParams * > | iterations |
bool | first_only |
bool | _is_worker |
std::vector< const RecursiveParams * > | worker_rparams |
Protected Attributes inherited from PercyServerParams | |
const PercyParams * | params |
The protocol parameters. More... | |
nservers_t | sid |
Server ID. More... | |
bool | be_byzantine |
Whether or not the server is Byzantine. More... | |
nservers_t | _num_threads |
The number of threads. More... | |
DistSplit | tsplit |
The method of partitioning work between threads. More... | |
bool | is_forked |
Whether or not the server is using forked processes instead of threading. More... | |
nservers_t | _num_workers |
The number of workers. More... | |
DistSplit | wsplit |
The method of partitioning work between workers. More... | |
std::vector< const PercyParams * > | worker_params |
The workers' protocol parameters. More... | |
std::vector< const PercyServerParams * > | worker_serverparams |
The workers' server parameters. More... | |
std::vector< const PercyParams * > | thread_params |
The threads' protocol parameters. More... | |
std::vector< const PercyServerParams * > | thread_serverparams |
The threads' server parameters. More... | |
|
virtual |
Print the distributed properties of the server.
Reimplemented from PercyServerParams.