aboutsummaryrefslogtreecommitdiff
path: root/node/node.hpp
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-12-01 18:24:41 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2016-12-01 18:24:41 +0100
commit7ee347e13ced7f1a84e7b325e65616b169e238a0 (patch)
tree316fbdba8a8526a3093157d2462ac8a55d6ca20b /node/node.hpp
parentbc39d05453340257fff986edfdd728f2a89d13ad (diff)
downloadcmix-7ee347e13ced7f1a84e7b325e65616b169e238a0.tar.gz
cmix-7ee347e13ced7f1a84e7b325e65616b169e238a0.tar.bz2
cmix-7ee347e13ced7f1a84e7b325e65616b169e238a0.zip
Use the new protobuf arena allocator.
Run script now takes a parameter tool to for instance "benchmark"
Diffstat (limited to 'node/node.hpp')
-rw-r--r--node/node.hpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/node/node.hpp b/node/node.hpp
index a058916..3233ba2 100644
--- a/node/node.hpp
+++ b/node/node.hpp
@@ -9,6 +9,7 @@
#include "cmix.h"
#include "cmix.pb.h"
+#include <google/protobuf/arena.h>
#include <boost/asio/io_service.hpp>
@@ -49,6 +50,15 @@ struct NodeNetworkSettings {
unsigned int minimum_nr_messages; ///< The minimum number of available messages before starting to run a mix;
};
+template <typename T>
+struct ArenaMessage {
+ google::protobuf::Arena arena;
+
+ T& get() {
+ return *google::protobuf::Arena::CreateMessage<T>(&arena);
+ }
+};
+
/*!
* \brief The Node class
*/