aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-10-20 13:18:19 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-10-20 13:18:19 +0200
commit640e0ad7a762d0473581c2114c2c945961bea80f (patch)
treea4106db4724b0e4d987e9f801bff05a9e7ed0b01
parent02b48a4f83f5c6bcc5c1ac0afbbddcdaeb685af0 (diff)
downloadcmix-640e0ad7a762d0473581c2114c2c945961bea80f.tar.gz
cmix-640e0ad7a762d0473581c2114c2c945961bea80f.tar.bz2
cmix-640e0ad7a762d0473581c2114c2c945961bea80f.zip
First node now wait untill it is connected to, to start initialisation.
-rw-r--r--node/node.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/node/node.cpp b/node/node.cpp
index c9d23cf..04ed4f1 100644
--- a/node/node.cpp
+++ b/node/node.cpp
@@ -26,9 +26,6 @@ Node::Node(ListenSettings const& listen_settings, NodeNetworkSettings network_se
auto on_connect = [this, network_settings](){
next_node.async_send(cmix_proto::ImANode());
- if(network_settings.is_first) {
- start_initialisation();
- }
};
next_node.async_connect(network_settings.next_host, network_settings.next_port, on_connect);
@@ -178,6 +175,11 @@ void Node::handle_imanode(Purgatory::iterator handle) {
handle->on_done([]{});
prev_node = Receiver(std::move(*handle));
purgatory.erase(handle);
+
+ if(network_settings.is_first) {
+ start_initialisation();
+ }
+
prev_node.async_receive([this](cmix_proto::CMixMessage message){
handle_node_message(message);
});