MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | List of all members
encrypto::motion::Register Class Reference

#include <register.h>

Public Member Functions

 Register (std::shared_ptr< Logger > logger)
 
 ~Register ()
 
std::shared_ptr< LoggerGetLogger ()
 
std::size_t NextGateId () noexcept
 
std::size_t NextWireId () noexcept
 
std::size_t NextArithmeticSharingId (std::size_t number_of_parallel_values)
 
std::size_t NextBooleanGmwSharingId (std::size_t number_of_parallel_values)
 
void RegisterNextGate (GatePointer gate)
 
void RegisterNextInputGate (GatePointer gate)
 
const GatePointerGetGate (std::size_t gate_id) const
 
const auto & GetInputGates () const
 
auto & GetGates () const
 
void UnregisterGate (std::size_t gate_id)
 
void RegisterNextWire (WirePointer wire)
 
WirePointer GetWire (std::size_t wire_id) const
 
void UnregisterWire (std::size_t wire_id)
 
void AddToActiveQueue (std::size_t gate_id)
 
void ClearActiveQueue ()
 
std::int64_t GetNextGateFromActiveQueue ()
 
void IncrementEvaluatedGatesSetupCounter ()
 
void IncrementEvaluatedGatesOnlineCounter ()
 
std::size_t GetNumberOfEvaluatedGateSetups () const
 
std::size_t GetNumberOfEvaluatedGates () const
 
std::size_t GetTotalNumberOfGates () const
 
void Reset ()
 
void Clear ()
 
std::shared_ptr< FiberConditionGetGatesSetupDoneCondition ()
 
std::shared_ptr< FiberConditionGetGatesOnlineDoneCondition ()
 
bool AddCachedAlgorithmDescription (std::string path, const std::shared_ptr< AlgorithmDescription > &algorithm_description)
 Tries to insert an AlgorithmDescription object read from a file into cached_algos_. More...
 
std::shared_ptr< AlgorithmDescriptionGetCachedAlgorithmDescription (const std::string &path)
 Gets cached AlgorithmDescription object read from a file and placed into cached_algos_. More...
 

Constructor & Destructor Documentation

◆ Register()

encrypto::motion::Register::Register ( std::shared_ptr< Logger logger)

◆ ~Register()

encrypto::motion::Register::~Register ( )

Member Function Documentation

◆ AddCachedAlgorithmDescription()

bool encrypto::motion::Register::AddCachedAlgorithmDescription ( std::string  path,
const std::shared_ptr< AlgorithmDescription > &  algorithm_description 
)

Tries to insert an AlgorithmDescription object read from a file into cached_algos_.

Parameters
pathabsolute path to the corresponding file
algorithm_descriptionAlgorithmDescription object corresponding to the parsed file
Returns
true if the insertion was successful and false if the object is already in the cache

◆ AddToActiveQueue()

void encrypto::motion::Register::AddToActiveQueue ( std::size_t  gate_id)

◆ Clear()

void encrypto::motion::Register::Clear ( )

◆ ClearActiveQueue()

void encrypto::motion::Register::ClearActiveQueue ( )
Here is the caller graph for this function:

◆ GetCachedAlgorithmDescription()

std::shared_ptr< AlgorithmDescription > encrypto::motion::Register::GetCachedAlgorithmDescription ( const std::string &  path)

Gets cached AlgorithmDescription object read from a file and placed into cached_algos_.

Returns
shared_ptr to the algorithm description or to nullptr if not in the hash table

◆ GetGate()

const GatePointer& encrypto::motion::Register::GetGate ( std::size_t  gate_id) const
inline

◆ GetGates()

auto& encrypto::motion::Register::GetGates ( ) const
inline
Here is the caller graph for this function:

◆ GetGatesOnlineDoneCondition()

std::shared_ptr<FiberCondition> encrypto::motion::Register::GetGatesOnlineDoneCondition ( )
inline
Here is the caller graph for this function:

◆ GetGatesSetupDoneCondition()

std::shared_ptr<FiberCondition> encrypto::motion::Register::GetGatesSetupDoneCondition ( )
inline
Here is the caller graph for this function:

◆ GetInputGates()

const auto& encrypto::motion::Register::GetInputGates ( ) const
inline

◆ GetLogger()

std::shared_ptr<Logger> encrypto::motion::Register::GetLogger ( )
inline

◆ GetNextGateFromActiveQueue()

std::int64_t encrypto::motion::Register::GetNextGateFromActiveQueue ( )

◆ GetNumberOfEvaluatedGates()

std::size_t encrypto::motion::Register::GetNumberOfEvaluatedGates ( ) const
inline
Here is the caller graph for this function:

◆ GetNumberOfEvaluatedGateSetups()

std::size_t encrypto::motion::Register::GetNumberOfEvaluatedGateSetups ( ) const
inline
Here is the caller graph for this function:

◆ GetTotalNumberOfGates()

std::size_t encrypto::motion::Register::GetTotalNumberOfGates ( ) const
inline
Here is the caller graph for this function:

◆ GetWire()

WirePointer encrypto::motion::Register::GetWire ( std::size_t  wire_id) const
inline

◆ IncrementEvaluatedGatesOnlineCounter()

void encrypto::motion::Register::IncrementEvaluatedGatesOnlineCounter ( )
Here is the caller graph for this function:

◆ IncrementEvaluatedGatesSetupCounter()

void encrypto::motion::Register::IncrementEvaluatedGatesSetupCounter ( )
Here is the caller graph for this function:

◆ NextArithmeticSharingId()

std::size_t encrypto::motion::Register::NextArithmeticSharingId ( std::size_t  number_of_parallel_values)
Here is the caller graph for this function:

◆ NextBooleanGmwSharingId()

std::size_t encrypto::motion::Register::NextBooleanGmwSharingId ( std::size_t  number_of_parallel_values)

◆ NextGateId()

std::size_t encrypto::motion::Register::NextGateId ( )
noexcept
Here is the caller graph for this function:

◆ NextWireId()

std::size_t encrypto::motion::Register::NextWireId ( )
noexcept

◆ RegisterNextGate()

void encrypto::motion::Register::RegisterNextGate ( GatePointer  gate)
Here is the caller graph for this function:

◆ RegisterNextInputGate()

void encrypto::motion::Register::RegisterNextInputGate ( GatePointer  gate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterNextWire()

void encrypto::motion::Register::RegisterNextWire ( WirePointer  wire)
inline
Here is the caller graph for this function:

◆ Reset()

void encrypto::motion::Register::Reset ( )

◆ UnregisterGate()

void encrypto::motion::Register::UnregisterGate ( std::size_t  gate_id)
inline

◆ UnregisterWire()

void encrypto::motion::Register::UnregisterWire ( std::size_t  wire_id)
inline

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