43 std::shared_ptr<Logger> logger)
45 number_of_parties_(number_of_parties),
46 synchronization_states_(number_of_parties_, 0),
47 logger_(std::move(logger)) {}
49 void ReceivedMessage(std::size_t party_id, std::vector<std::uint8_t>&& message)
override;
51 std::mutex&
GetMutex() {
return this_party_mutex_; }
55 std::size_t number_of_parties_;
56 std::mutex this_party_mutex_;
57 std::mutex received_synchronization_states_mutex_;
58 std::condition_variable synchronization_states_condition_variable_;
59 std::vector<std::uint64_t> synchronization_states_;
60 std::shared_ptr<Logger> logger_;