MADARA  3.4.1
Hive.cpp
Go to the documentation of this file.
1 
48 #include "Hive.h"
51 
52 
54 {
55 }
56 
58 {
59 }
60 
61 void
63 {
64  size_t old_size = kbs_.size();
65 
66  if (new_size != old_size)
67  {
68  kbs_.resize(new_size);
69 
70  for (auto transport : transports_)
71  {
72  if (transport != 0)
73  {
74  transport->set(kbs_);
75  }
76  }
77 
78  transports_.resize(new_size);
79 
80  if (old_size < new_size)
81  {
83 
84  for (size_t i = old_size; i < new_size; ++i)
85  {
86  transports_[i] = new madara::transport::SharedMemoryPush(
87  kbs_[i].get_id(), settings, kbs_[i]);
88 
89  transports_[i]->set(kbs_);
90 
91  kbs_[i].attach_transport(transports_[i]);
92  } // for old -> new
93  } // if old < new
94  } // if new != old
95 }
Hive()
Default constructor.
Definition: Hive.cpp:53
~Hive()
Destructor.
Definition: Hive.cpp:57
void resize(size_t new_size)
Resizes the hive to a certain number of shared knowledge bases.
Definition: Hive.cpp:62
Container for quality-of-service settings.
Custom network transport generated by gpc.pl.