-/* Copyright (c) 2012-2019. The SimGrid Team.
+/* Copyright (c) 2012-2020. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#define BITTORRENT_BITTORRENT_HPP_
#include <simgrid/s4u.hpp>
-#include <xbt/RngStream.h>
+#include <xbt/random.hpp>
constexpr char TRACKER_MAILBOX[] = "tracker_mailbox";
/** Max number of peers sent by the tracker to clients */
, block_length(block_length){};
Message(e_message_type type, int peer_id, simgrid::s4u::Mailbox* return_mailbox, int piece)
: type(type), peer_id(peer_id), return_mailbox(return_mailbox), piece(piece){};
- ~Message() = default;
-};
-
-class HostBittorrent {
- RngStream stream_;
- simgrid::s4u::Host* host = nullptr;
-
-public:
- static simgrid::xbt::Extension<simgrid::s4u::Host, HostBittorrent> EXTENSION_ID;
-
- explicit HostBittorrent(simgrid::s4u::Host* ptr) : host(ptr)
- {
- std::string descr = std::string("RngSream<") + host->get_cname() + ">";
- stream_ = RngStream_CreateStream(descr.c_str());
- }
- HostBittorrent(const HostBittorrent&) = delete;
- HostBittorrent& operator=(const HostBittorrent&) = delete;
-
- ~HostBittorrent() { RngStream_DeleteStream(&stream_); };
-
- RngStream getStream() { return stream_; };
};
#endif /* BITTORRENT_BITTORRENT_HPP_ */