+void process::receive()
+{
+ bool received;
+ do {
+ double amount;
+ m_host_t from;
+ received = false;
+ if (comm.recv_info(amount, from)) {
+ // fixme: update neighbor
+ received = true;
+ }
+ if (comm.recv_credit(amount, from)) {
+ expected_load += amount;
+ received = true;
+ }
+ if (comm.recv_load(amount, from)) {
+ load += amount;
+ received = true;
+ }
+ } while (received);
+}
+