Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 19 Mar 2020 15:23:27 +0000 (16:23 +0100)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 19 Mar 2020 15:23:27 +0000 (16:23 +0100)
examples/c/app-bittorrent/app-bittorrent.h
examples/c/app-bittorrent/bittorrent-peer.c
examples/c/app-bittorrent/bittorrent-peer.h
examples/c/app-bittorrent/tracker.c
examples/c/app-bittorrent/tracker.h

index 2afbfbb..05ee76b 100644 (file)
@@ -73,16 +73,10 @@ typedef s_message_t* message_t;
 message_t message_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox);
 /** Builds a new "have/piece" message */
 message_t message_index_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, int index);
 message_t message_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox);
 /** Builds a new "have/piece" message */
 message_t message_index_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, int index);
-
 message_t message_other_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield);
 message_t message_other_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield);
-/** Builds a new bitfield message */
-message_t message_bitfield_new(int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield);
 /** Builds a new "request" message */
 message_t message_request_new(int peer_id, sg_mailbox_t return_mailbox, int piece, int block_index, int block_length);
 /** Build a new "piece" message */
 message_t message_piece_new(int peer_id, sg_mailbox_t return_mailbox, int index, int block_index, int block_length);
 
 /** Builds a new "request" message */
 message_t message_request_new(int peer_id, sg_mailbox_t return_mailbox, int piece, int block_index, int block_length);
 /** Build a new "piece" message */
 message_t message_piece_new(int peer_id, sg_mailbox_t return_mailbox, int index, int block_index, int block_length);
 
-/** Free a message task */
-void message_free(void*);
-
 #endif /* BITTORRENT_BITTORRENT_H_ */
 #endif /* BITTORRENT_BITTORRENT_H_ */
index 05d4e2f..a91d555 100644 (file)
@@ -64,7 +64,7 @@ static void peer_free(peer_t peer)
   connection_t connection;
   xbt_dict_cursor_t cursor;
   xbt_dict_foreach (peer->connected_peers, cursor, key, connection)
   connection_t connection;
   xbt_dict_cursor_t cursor;
   xbt_dict_foreach (peer->connected_peers, cursor, key, connection)
-    connection_free(connection);
+    xbt_free(connection);
 
   xbt_dict_free(&peer->connected_peers);
   xbt_dict_free(&peer->active_peers);
 
   xbt_dict_free(&peer->connected_peers);
   xbt_dict_free(&peer->active_peers);
@@ -185,7 +185,7 @@ void send_message(const_peer_t peer, sg_mailbox_t mailbox, e_message_type type,
 void send_bitfield(const_peer_t peer, sg_mailbox_t mailbox)
 {
   XBT_DEBUG("Sending a BITFIELD to %s", sg_mailbox_get_name(mailbox));
 void send_bitfield(const_peer_t peer, sg_mailbox_t mailbox)
 {
   XBT_DEBUG("Sending a BITFIELD to %s", sg_mailbox_get_name(mailbox));
-  message_t message = message_bitfield_new(peer->id, peer->mailbox, peer->bitfield);
+  message_t message = message_other_new(MESSAGE_BITFIELD, peer->id, peer->mailbox, peer->bitfield);
   sg_comm_t comm    = sg_mailbox_put_init(mailbox, message, MESSAGE_BITFIELD_SIZE + BITS_TO_BYTES(FILE_PIECES));
   sg_comm_detach(comm, NULL);
 }
   sg_comm_t comm    = sg_mailbox_put_init(mailbox, message, MESSAGE_BITFIELD_SIZE + BITS_TO_BYTES(FILE_PIECES));
   sg_comm_detach(comm, NULL);
 }
@@ -308,7 +308,7 @@ void leech(peer_t peer)
     if (sg_comm_test(peer->comm_received)) {
       peer->message = (message_t)data;
       handle_message(peer, peer->message);
     if (sg_comm_test(peer->comm_received)) {
       peer->message = (message_t)data;
       handle_message(peer, peer->message);
-      message_free(peer->message);
+      xbt_free(peer->message);
       peer->comm_received = NULL;
     } else {
       // We don't execute the choke algorithm if we don't already have a piece
       peer->comm_received = NULL;
     } else {
       // We don't execute the choke algorithm if we don't already have a piece
@@ -338,7 +338,7 @@ void seed(peer_t peer)
     if (sg_comm_test(peer->comm_received)) {
       peer->message = (message_t)data;
       handle_message(peer, peer->message);
     if (sg_comm_test(peer->comm_received)) {
       peer->message = (message_t)data;
       handle_message(peer, peer->message);
-      message_free(data);
+      xbt_free(peer->message);
       peer->comm_received = NULL;
     } else {
       if (simgrid_get_clock() >= next_choked_update) {
       peer->comm_received = NULL;
     } else {
       if (simgrid_get_clock() >= next_choked_update) {
@@ -814,12 +814,6 @@ void connection_add_speed_value(connection_t connection, double speed)
   connection->peer_speed = connection->peer_speed * 0.6 + speed * 0.4;
 }
 
   connection->peer_speed = connection->peer_speed * 0.6 + speed * 0.4;
 }
 
-void connection_free(void* data)
-{
-  connection_t co = (connection_t)data;
-  xbt_free(co);
-}
-
 int connection_has_piece(const_connection_t connection, unsigned int piece)
 {
   return (connection->bitfield & 1U << piece);
 int connection_has_piece(const_connection_t connection, unsigned int piece)
 {
   return (connection->bitfield & 1U << piece);
@@ -844,13 +838,6 @@ message_t message_index_new(e_message_type type, int peer_id, sg_mailbox_t retur
   return message;
 }
 
   return message;
 }
 
-message_t message_bitfield_new(int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield)
-{
-  message_t message = message_new(MESSAGE_BITFIELD, peer_id, return_mailbox);
-  message->bitfield = bitfield;
-  return message;
-}
-
 message_t message_other_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield)
 {
   message_t message = message_new(type, peer_id, return_mailbox);
 message_t message_other_new(e_message_type type, int peer_id, sg_mailbox_t return_mailbox, unsigned int bitfield)
 {
   message_t message = message_new(type, peer_id, return_mailbox);
@@ -873,9 +860,3 @@ message_t message_piece_new(int peer_id, sg_mailbox_t return_mailbox, int piece,
   message->block_length = block_length;
   return message;
 }
   message->block_length = block_length;
   return message;
 }
-
-void message_free(void* task)
-{
-  message_t message = (message_t)task;
-  xbt_free(message);
-}
index b1a88fb..6bbc120 100644 (file)
@@ -31,7 +31,6 @@ typedef s_connection_t* connection_t;
 typedef const s_connection_t* const_connection_t;
 
 connection_t connection_new(int id);
 typedef const s_connection_t* const_connection_t;
 
 connection_t connection_new(int id);
-void connection_free(void* data);
 void connection_add_speed_value(connection_t connection, double speed);
 int connection_has_piece(const_connection_t connection, unsigned int piece);
 
 void connection_add_speed_value(connection_t connection, double speed);
 int connection_has_piece(const_connection_t connection, unsigned int piece);
 
index 2492711..82f92ac 100644 (file)
@@ -25,11 +25,6 @@ static int is_in_list(const_xbt_dynar_t peers, int id)
   return xbt_dynar_member(peers, &id);
 }
 
   return xbt_dynar_member(peers, &id);
 }
 
-/**
- * Tracker main function
- * @param argc number of arguments
- * @param argv arguments
- */
 void tracker(int argc, char* argv[])
 {
   // Checking arguments
 void tracker(int argc, char* argv[])
 {
   // Checking arguments
@@ -106,37 +101,3 @@ tracker_answer_t tracker_answer_new(int interval)
   ;
   return ta;
 }
   ;
   return ta;
 }
-
-/**
- * Build a new task for the tracker.
- * @param issuer_host_name Hostname of the issuer. For debugging purposes
- */
-// tracker_task_data_t tracker_task_data_new(const char* issuer_host_name, sg_mailbox_t mailbox, int peer_id, int
-// uploaded,
-//                                          int downloaded, int left)
-//{
-//  tracker_task_data_t task = xbt_new(s_tracker_task_data_t, 1);
-//
-//  task->type             = TRACKER_TASK_QUERY;
-//  task->issuer_host_name = issuer_host_name;
-//  task->mailbox          = mailbox;
-//  task->peer_id          = peer_id;
-//  task->uploaded         = uploaded;
-//  task->downloaded       = downloaded;
-//  task->left             = left;
-//
-//  task->peers = xbt_dynar_new(sizeof(int), NULL);
-//
-//  return task;
-//}
-//
-///**
-// * Free the data structure of a tracker task.
-// * @param task data to free
-// */
-// void tracker_task_data_free(tracker_task_data_t task)
-//{
-//  xbt_dynar_free(&task->peers);
-//  xbt_free(task);
-//}
-//
index f285236..663f9ed 100644 (file)
 #include <xbt/dynar.h>
 
 void tracker(int argc, char* argv[]);
 #include <xbt/dynar.h>
 
 void tracker(int argc, char* argv[]);
-/**
- * Task types exchanged between a node and the tracker
- */
-typedef enum { TRACKER_TASK_QUERY, TRACKER_TASK_ANSWER } e_tracker_task_type_t;
-/**
- * Tasks exchanged between a tracker and peers.
- */
+/** Tasks exchanged between a tracker and peers. */
 typedef struct s_tracker_query {
   int peer_id;                 // peer id
   sg_mailbox_t return_mailbox; // mailbox where the tracker should answer
 typedef struct s_tracker_query {
   int peer_id;                 // peer id
   sg_mailbox_t return_mailbox; // mailbox where the tracker should answer