}
try {
- auto* answer = static_cast<TrackerAnswer*>(mailbox_->get(GET_PEERS_TIMEOUT));
+ auto* answer = mailbox_->get<TrackerAnswer>(GET_PEERS_TIMEOUT);
// Add the peers the tracker gave us to our peer list.
for (auto const& peer_id : answer->getPeers())
if (id != peer_id)
sendHandshakeToAllPeers();
XBT_DEBUG("Starting main leech loop listening on mailbox: %s", mailbox_->get_cname());
- void* data = nullptr;
while (simgrid::s4u::Engine::get_clock() < deadline && countPieces(bitfield_) < FILE_PIECES) {
if (comm_received == nullptr) {
- comm_received = mailbox_->get_async(&data);
+ comm_received = mailbox_->get_async<Message>(&message);
}
if (comm_received->test()) {
- message = static_cast<Message*>(data);
handleMessage();
delete message;
comm_received = nullptr;
double next_choked_update = simgrid::s4u::Engine::get_clock() + UPDATE_CHOKED_INTERVAL;
XBT_DEBUG("Start seeding.");
// start the main seed loop
- void* data = nullptr;
while (simgrid::s4u::Engine::get_clock() < deadline) {
if (comm_received == nullptr) {
- comm_received = mailbox_->get_async(&data);
+ comm_received = mailbox_->get_async<Message>(&message);
}
if (comm_received->test()) {
- message = static_cast<Message*>(data);
handleMessage();
delete message;
comm_received = nullptr;