aboutsummaryrefslogtreecommitdiff
path: root/node/node.cpp
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2018-02-04 12:47:09 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2018-02-04 12:47:09 +0100
commit21474893efe0ab38461c3d08727c7c778caa9323 (patch)
tree8d48ec3353c84155dcf7daf67d8ade1dd1fd480d /node/node.cpp
parent126021b3766e6fb33333b7939d78dadd1c632eb4 (diff)
downloadcmix-21474893efe0ab38461c3d08727c7c778caa9323.tar.gz
cmix-21474893efe0ab38461c3d08727c7c778caa9323.tar.bz2
cmix-21474893efe0ab38461c3d08727c7c778caa9323.zip
Both algorithms are now batchable.
Diffstat (limited to 'node/node.cpp')
-rw-r--r--node/node.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/node/node.cpp b/node/node.cpp
index 0249b77..b9006e9 100644
--- a/node/node.cpp
+++ b/node/node.cpp
@@ -23,7 +23,7 @@ Node::Node(ListenSettings const& listen_settings, NodeNetworkSettings network_se
, network_settings(network_settings)
, prev_node(SSLReceiver(std::unique_ptr<boost::asio::ssl::stream<tcp::socket>>(new boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(io_service, *ssl_ctx))))
, next_node(SSLSender(std::unique_ptr<boost::asio::ssl::stream<tcp::socket>>(new boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(io_service, *ssl_ctx))))
-, cmix_ctx(initialize_cmix_context(get_implementation()))
+, cmix_ctx(initialize_cmix_context(get_implementation(), network_settings.nr_mixes))
, shutting_down(false)
{
if(performance_settings.run) {
@@ -31,8 +31,6 @@ Node::Node(ListenSettings const& listen_settings, NodeNetworkSettings network_se
}
initialize_keypair(&cmix_ctx);
-
- cmix_ctx.nr_mixes = 1;
GOOGLE_PROTOBUF_VERIFY_VERSION;
@@ -179,7 +177,7 @@ void Node::start_precomputation() {
ArenaMessage<cmix_proto::PrePre> arena;
cmix_proto::PrePre& prepre = arena.get();
- size_t len = get_group_element_array_size(&cmix_ctx);
+ size_t len = cmix_ctx.nr_mixes * get_group_element_array_size(&cmix_ctx);
std::vector<char*> r_er(cmix_ctx.nr_participants, nullptr);
std::vector<char*> m_er(cmix_ctx.nr_participants, nullptr);
@@ -187,7 +185,7 @@ void Node::start_precomputation() {
std::string* r = prepre.add_r_er();
r->resize(len);
r_er[i] = &(*r)[0];
-
+
std::string* m = prepre.add_m_er();
m->resize(len);
m_er[i] = &(*m)[0];
@@ -227,7 +225,7 @@ void Node::start_realtime_phase() {
ArenaMessage<cmix_proto::RealPre> arena;
cmix_proto::RealPre& realpre = arena.get();
- size_t len = get_group_element_array_size(&cmix_ctx);
+ size_t len = cmix_ctx.nr_mixes * get_group_element_array_size(&cmix_ctx);
std::vector<char*> ms(participants.size(), nullptr);
std::vector<char const*> msv(participants.size(), nullptr);