MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Types | Public Member Functions | Public Attributes | List of all members
encrypto::motion::OtExtensionReceiverData Struct Reference

#include <ot_extension_data.h>

Collaboration diagram for encrypto::motion::OtExtensionReceiverData:
Collaboration graph
[legend]

Public Types

template<typename T >
using PromiseMapType = std::unordered_map< std::size_t, std::pair< std::size_t, ReusableFiberPromise< std::vector< T > >> >
 

Public Member Functions

 OtExtensionReceiverData ()
 
 ~OtExtensionReceiverData ()=default
 
ReusableFiberFuture< Block128VectorRegisterForBlock128SenderMessage (std::size_t ot_id, std::size_t size)
 
ReusableFiberFuture< BitVector<> > RegisterForBitSenderMessage (std::size_t ot_id, std::size_t size)
 
ReusableFiberFuture< std::vector< BitVector<> > > RegisterForGenericSenderMessage (std::size_t ot_id, std::size_t size, std::size_t bitlength)
 
template<typename T >
ReusableFiberFuture< std::vector< T > > RegisterForIntSenderMessage (std::size_t ot_id, std::size_t size)
 

Public Attributes

std::shared_ptr< BitMatrixT
 
std::unordered_set< std::size_t > received_outputs
 
std::vector< BitVector<> > outputs
 
std::unordered_map< std::size_t, std::unique_ptr< FiberCondition > > output_conditions
 
std::mutex received_outputs_mutex
 
std::vector< std::size_t > bitlengths
 
std::unordered_map< std::size_t, OtMessageTypemessage_type
 
std::unordered_map< std::size_t, std::pair< std::size_t, ReusableFiberPromise< BitVector<> > > > message_promises_bit
 
std::unordered_map< std::size_t, std::pair< std::size_t, ReusableFiberPromise< Block128Vector > > > message_promises_block128
 
std::unordered_map< std::size_t, std::tuple< std::size_t, std::size_t, ReusableFiberPromise< std::vector< BitVector<> > > > > message_promises_generic
 
TypeMap< PromiseMapType, std::uint8_t, std::uint16_t, std::uint32_t, std::uint64_t, __uint128_t > message_promises_int
 
std::unordered_set< std::size_t > set_real_choices
 
std::mutex real_choices_mutex
 
std::unique_ptr< AlignedBitVectorrandom_choices
 
std::unordered_map< std::size_t, std::size_t > number_of_ots_in_batch
 
std::unique_ptr< FiberConditionsetup_finished_condition
 
std::atomic< bool > setup_finished {false}
 
std::atomic< std::size_t > consumed_offset {0}
 

Member Typedef Documentation

◆ PromiseMapType

template<typename T >
using encrypto::motion::OtExtensionReceiverData::PromiseMapType = std::unordered_map<std::size_t, std::pair<std::size_t, ReusableFiberPromise<std::vector<T> >> >

Constructor & Destructor Documentation

◆ OtExtensionReceiverData()

encrypto::motion::OtExtensionReceiverData::OtExtensionReceiverData ( )

◆ ~OtExtensionReceiverData()

encrypto::motion::OtExtensionReceiverData::~OtExtensionReceiverData ( )
default

Member Function Documentation

◆ RegisterForBitSenderMessage()

ReusableFiberFuture< BitVector<> > encrypto::motion::OtExtensionReceiverData::RegisterForBitSenderMessage ( std::size_t  ot_id,
std::size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterForBlock128SenderMessage()

ReusableFiberFuture< Block128Vector > encrypto::motion::OtExtensionReceiverData::RegisterForBlock128SenderMessage ( std::size_t  ot_id,
std::size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterForGenericSenderMessage()

ReusableFiberFuture< std::vector< BitVector<> > > encrypto::motion::OtExtensionReceiverData::RegisterForGenericSenderMessage ( std::size_t  ot_id,
std::size_t  size,
std::size_t  bitlength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterForIntSenderMessage()

template<typename T >
template ReusableFiberFuture< std::vector< __uint128_t > > encrypto::motion::OtExtensionReceiverData::RegisterForIntSenderMessage ( std::size_t  ot_id,
std::size_t  size 
)
Here is the call graph for this function:

Member Data Documentation

◆ bitlengths

std::vector<std::size_t> encrypto::motion::OtExtensionReceiverData::bitlengths

◆ consumed_offset

std::atomic<std::size_t> encrypto::motion::OtExtensionReceiverData::consumed_offset {0}

◆ message_promises_bit

std::unordered_map<std::size_t, std::pair<std::size_t, ReusableFiberPromise<BitVector<> > > > encrypto::motion::OtExtensionReceiverData::message_promises_bit

◆ message_promises_block128

std::unordered_map<std::size_t, std::pair<std::size_t, ReusableFiberPromise<Block128Vector> > > encrypto::motion::OtExtensionReceiverData::message_promises_block128

◆ message_promises_generic

std::unordered_map<std::size_t, std::tuple<std::size_t, std::size_t, ReusableFiberPromise<std::vector<BitVector<> > > > > encrypto::motion::OtExtensionReceiverData::message_promises_generic

◆ message_promises_int

TypeMap<PromiseMapType, std::uint8_t, std::uint16_t, std::uint32_t, std::uint64_t, __uint128_t> encrypto::motion::OtExtensionReceiverData::message_promises_int

◆ message_type

std::unordered_map<std::size_t, OtMessageType> encrypto::motion::OtExtensionReceiverData::message_type

◆ number_of_ots_in_batch

std::unordered_map<std::size_t, std::size_t> encrypto::motion::OtExtensionReceiverData::number_of_ots_in_batch

◆ output_conditions

std::unordered_map<std::size_t, std::unique_ptr<FiberCondition> > encrypto::motion::OtExtensionReceiverData::output_conditions

◆ outputs

std::vector<BitVector<> > encrypto::motion::OtExtensionReceiverData::outputs

◆ random_choices

std::unique_ptr<AlignedBitVector> encrypto::motion::OtExtensionReceiverData::random_choices

◆ real_choices_mutex

std::mutex encrypto::motion::OtExtensionReceiverData::real_choices_mutex

◆ received_outputs

std::unordered_set<std::size_t> encrypto::motion::OtExtensionReceiverData::received_outputs

◆ received_outputs_mutex

std::mutex encrypto::motion::OtExtensionReceiverData::received_outputs_mutex

◆ set_real_choices

std::unordered_set<std::size_t> encrypto::motion::OtExtensionReceiverData::set_real_choices

◆ setup_finished

std::atomic<bool> encrypto::motion::OtExtensionReceiverData::setup_finished {false}

◆ setup_finished_condition

std::unique_ptr<FiberCondition> encrypto::motion::OtExtensionReceiverData::setup_finished_condition

◆ T

std::shared_ptr<BitMatrix> encrypto::motion::OtExtensionReceiverData::T

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