1 /* Copyright (c) 2012-2017. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #include "s4u-bittorrent.hpp"
8 #include "s4u-peer.hpp"
9 #include "s4u-tracker.hpp"
11 simgrid::xbt::Extension<simgrid::s4u::Host, HostBittorrent> HostBittorrent::EXTENSION_ID;
13 int main(int argc, char* argv[])
15 simgrid::s4u::Engine e(&argc, argv);
17 /* Check the arguments */
18 xbt_assert(argc > 2, "Usage: %s platform_file deployment_file", argv[0]);
20 e.loadPlatform(argv[1]);
22 HostBittorrent::EXTENSION_ID = simgrid::s4u::Host::extension_create<HostBittorrent>();
24 std::vector<simgrid::s4u::Host*> list;
25 simgrid::s4u::Engine::getInstance()->getHostList(&list);
26 for (auto const& host : list)
27 host->extension_set(new HostBittorrent(host));
29 e.registerFunction<Tracker>("tracker");
30 e.registerFunction<Peer>("peer");
31 e.loadDeployment(argv[2]);