Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
greatly reduce the amount of atoi in our codebase
[simgrid.git] / examples / msg / bittorrent / peer.c
index fc3e27fe66ce1ae42a6035d8eab218683a432a11..fcd1a0ffdeea0ff8fbf46fb60a73138dbae19a7a 100644 (file)
@@ -1,13 +1,14 @@
-/* Copyright (c) 2012. The SimGrid Team.
+/* Copyright (c) 2012-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include "peer.h"
 #include "tracker.h"
 #include "connection.h"
 #include "messages.h"
-#include <msg/msg.h>
+#include <simgrid/msg.h>
 #include <xbt/RngStream.h>
 #include <limits.h>
 
@@ -46,12 +47,12 @@ int peer(int argc, char *argv[])
   xbt_assert(argc == 3 || argc == 4, "Wrong number of arguments");
   //Build peer object
   if (argc == 4) {
-    peer_init(&peer, atoi(argv[1]), 1);
+    peer_init(&peer, xbt_str_parse_int(argv[1],"Invalid ID: %s"), 1);
   } else {
-    peer_init(&peer, atoi(argv[1]), 0);
+    peer_init(&peer, xbt_str_parse_int(argv[1],"Invalid ID: %s"), 0);
   }
   //Retrieve deadline
-  double deadline = atof(argv[2]);
+  double deadline = xbt_str_parse_double(argv[2],"Invalid deadline: %s");
   xbt_assert(deadline > 0, "Wrong deadline supplied");
   XBT_INFO("Hi, I'm joining the network with id %d", peer.id);
   //Getting peer data from the tracker.
@@ -241,7 +242,8 @@ void peer_init(peer_t peer, int id, int seed)
 
   peer->current_pieces = xbt_dynar_new(sizeof(int), NULL);
 
-  peer->stream = RngStream_CreateStream("");
+  peer->stream =
+    (RngStream)MSG_host_get_property_value(MSG_host_self(), "stream");
   peer->comm_received = NULL;
 
   peer->round = 0;
@@ -265,8 +267,6 @@ void peer_free(peer_t peer)
   xbt_free(peer->pieces_count);
   xbt_free(peer->bitfield);
   xbt_free(peer->bitfield_blocks);
-
-  RngStream_DeleteStream(&peer->stream);
 }
 
 /**