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

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 RecursiveParamsrecursive_params () const
 
bool dist_first_only () const
 
bool is_worker () const
 
std::vector< const
PercyServerParams * > 
get_iterations () const
 
const PercyServerParamsget_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 PercyParamsget_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 PercyServerParamsget_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 PercyParamsget_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 PercyServerParamsget_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 PercyParamspercy_params () const
 Get the protocol parameters. More...
 

Protected Attributes

const RecursiveParamsrparams
 
std::vector< const
PercyServerParams * > 
iterations
 
bool first_only
 
bool _is_worker
 
std::vector< const
RecursiveParams * > 
worker_rparams
 
- Protected Attributes inherited from PercyServerParams
const PercyParamsparams
 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...
 

Member Function Documentation

virtual void print_distributed ( std::ostream &  os) const
virtual

Print the distributed properties of the server.

Reimplemented from PercyServerParams.


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