Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please sonar
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 10 Aug 2016 13:36:31 +0000 (15:36 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 10 Aug 2016 13:36:31 +0000 (15:36 +0200)
examples/msg/app-bittorrent/messages.h
examples/msg/app-bittorrent/peer.c
examples/msg/app-bittorrent/peer.h
examples/msg/app-bittorrent/tracker.h

index 98f140a..2d37c27 100644 (file)
@@ -47,7 +47,8 @@ typedef struct s_message {
   int index;
   int block_index;
   int block_length;
-} s_message_t, *message_t;
+} s_message_t;
+typedef s_message_t *message_t;
 
 /** Builds a new value-less message */
 msg_task_t task_message_new(e_message_type type, const char *issuer_host_name, const char *mailbox, int peer_id,
index 4aaf7c0..09fd875 100644 (file)
@@ -480,7 +480,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
       return -1;
     int i;
     int nb_interesting_pieces = 0;
-    int random_piece_index, current_index = 0;
+    int current_index = 0;
     // compute the number of interesting pieces
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->bitfield[i] == '0' && remote_peer->bitfield[i] == '1') {
@@ -489,7 +489,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
     }
     xbt_assert(nb_interesting_pieces != 0, "WTF !!!");
     // get a random interesting piece
-    random_piece_index = RngStream_RandInt(peer->stream, 0, nb_interesting_pieces - 1);
+    int random_piece_index = RngStream_RandInt(peer->stream, 0, nb_interesting_pieces - 1);
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->bitfield[i] == '0' && remote_peer->bitfield[i] == '1') {
         if (random_piece_index == current_index) {
@@ -506,7 +506,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
   if (peer->pieces < 4 && (is_interested_and_free(peer, remote_peer) != 0)) {
     int i;
     int nb_interesting_pieces = 0;
-    int random_piece_index, current_index = 0;
+    int current_index = 0;
     // compute the number of interesting pieces
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->bitfield[i] == '0' && remote_peer->bitfield[i] == '1' &&
@@ -516,7 +516,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
     }
     xbt_assert(nb_interesting_pieces != 0, "WTF !!!");
     // get a random interesting piece
-    random_piece_index = RngStream_RandInt(peer->stream, 0, nb_interesting_pieces - 1);
+    int random_piece_index = RngStream_RandInt(peer->stream, 0, nb_interesting_pieces - 1);
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->bitfield[i] == '0' && remote_peer->bitfield[i] == '1' &&
           (in_current_pieces(peer, i) == 0)) {
@@ -533,7 +533,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
     int i;
     short min = SHRT_MAX;
     int nb_min_pieces = 0;
-    int random_rarest_index, current_index = 0;
+    int current_index = 0;
     // compute the smallest number of copies of available pieces
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->pieces_count[i] < min && peer->bitfield[i] == '0' &&
@@ -551,7 +551,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
     xbt_assert(nb_min_pieces != 0 ||
                (is_interested_and_free(peer, remote_peer)==0), "WTF !!!");
     // get a random rarest piece
-    random_rarest_index = RngStream_RandInt(peer->stream, 0, nb_min_pieces - 1);
+    int random_rarest_index = RngStream_RandInt(peer->stream, 0, nb_min_pieces - 1);
     for (i = 0; i < FILE_PIECES; i++) {
       if (peer->pieces_count[i] == min && peer->bitfield[i] == '0' &&
           remote_peer->bitfield[i] == '1' && (in_current_pieces(peer, i)==0)) {
@@ -562,8 +562,7 @@ int select_piece_to_download(peer_t peer, connection_t remote_peer)
         current_index++;
       }
     }
-    xbt_assert(piece != -1 ||
-               (is_interested_and_free(peer, remote_peer) == 0), "WTF !!!");
+    xbt_assert(piece != -1 || (is_interested_and_free(peer, remote_peer) == 0), "WTF !!!");
     return piece;
   }
 }
@@ -578,7 +577,8 @@ void update_choked_peers(peer_t peer)
   XBT_DEBUG("(%d) update_choked peers %d active peers", peer->id, xbt_dict_size(peer->active_peers));
   //update the current round
   peer->round = (peer->round + 1) % 3;
-  char *key, *key_choked=NULL;
+  char *key;
+  char *key_choked=NULL;
   connection_t peer_choosed = NULL;
   connection_t peer_choked = NULL;
   //remove a peer from the list
@@ -773,12 +773,11 @@ int partially_downloaded_piece(peer_t peer, connection_t remote_peer)
 void send_request_to_peer(peer_t peer, connection_t remote_peer, int piece)
 {
   remote_peer->current_piece = piece;
-  int block_index, block_length;
   xbt_assert(remote_peer->bitfield, "bitfield not received");
   xbt_assert(remote_peer->bitfield[piece] == '1', "WTF !!!");
-  block_index = get_first_block(peer, piece);
+  int block_index = get_first_block(peer, piece);
   if (block_index != -1) {
-    block_length = PIECES_BLOCKS - block_index;
+    int block_length = PIECES_BLOCKS - block_index;
     block_length = MIN(BLOCKS_REQUESTED, block_length);
     send_request(peer, remote_peer->mailbox, piece, block_index, block_length);
   }
index 4ba13ae..409502d 100644 (file)
@@ -41,7 +41,8 @@ typedef struct s_peer {
 
   double begin_receive_time;    //time when the receiving communication has begun, useful for calculating host speed.
 
-} s_peer_t, *peer_t;
+} s_peer_t;
+typedef s_peer_t *peer_t;
 
 /** Peer main function */
 int peer(int argc, char *argv[]);
@@ -66,7 +67,6 @@ void update_bitfield_blocks(peer_t peer, int index, int block_index, int block_l
 int piece_complete(peer_t peer, int index);
 int get_first_block(peer_t peer, int piece);
 
-
 int nb_interested_peers(peer_t peer);
 int is_interested(peer_t peer, connection_t remote_peer);
 int is_interested_and_free(peer_t peer, connection_t remote_peer);
index e1b1fea..40e7d9d 100644 (file)
@@ -34,12 +34,11 @@ typedef struct s_tracker_task_data {
   //Answer data
   int interval;                 //how often the peer should contact the tracker (unused for now)
   xbt_dynar_t peers;            //the peer list the peer has asked for.
-} s_tracker_task_data_t, *tracker_task_data_t;
+} s_tracker_task_data_t;
+typedef s_tracker_task_data_t *tracker_task_data_t;
 
-tracker_task_data_t tracker_task_data_new(const char *issuer_host_name,
-                                          const char *mailbox, int peer_id,
-                                          int uploaded, int downloaded,
-                                          int left);
+tracker_task_data_t tracker_task_data_new(const char *issuer_host_name, const char *mailbox, int peer_id,
+                                          int uploaded, int downloaded, int left);
 void tracker_task_data_free(tracker_task_data_t task);
 
 int is_in_list(xbt_dynar_t peers, int id);