: prev_(prev), next_(next), num_pieces(num_pieces)
{
}
- ~ChainMessage() = default;
};
class FilePiece {
public:
FilePiece() = default;
- ~FilePiece() = default;
};
class Peer {
unsigned int total_pieces = 0;
Peer() { me = simgrid::s4u::Mailbox::by_name(simgrid::s4u::Host::current()->get_cname()); }
- ~Peer() = default;
void joinChain()
{
simgrid::s4u::CommPtr comm = me->get_async<FilePiece>(&received);
pending_recvs.push_back(comm);
- int idx = simgrid::s4u::Comm::wait_any(&pending_recvs);
+ int idx = simgrid::s4u::Comm::wait_any(pending_recvs);
if (idx != -1) {
comm = pending_recvs.at(idx);
XBT_DEBUG("Peer %s got a 'SEND_DATA' message", me->get_cname());
simgrid::s4u::CommPtr comm = first->put_async(new FilePiece(), MESSAGE_SEND_DATA_HEADER_SIZE + PIECE_SIZE);
pending_sends.push_back(comm);
}
- simgrid::s4u::Comm::wait_all(&pending_sends);
+ simgrid::s4u::Comm::wait_all(pending_sends);
}
Broadcaster(int hostcount, unsigned int piece_count) : piece_count(piece_count)
mailboxes.push_back(simgrid::s4u::Mailbox::by_name(name));
}
}
-
- ~Broadcaster() = default;
};
static void peer()
p.joinChain();
p.forwardFile();
- simgrid::s4u::Comm::wait_all(&p.pending_sends);
+ simgrid::s4u::Comm::wait_all(p.pending_sends);
double end_time = simgrid::s4u::Engine::get_clock();
XBT_INFO("### %f %llu bytes (Avg %f MB/s); copy finished (simulated).", end_time - start_time, p.received_bytes,