fixed byte conversion bugs
authorSree Harsha Totakura <totakura@in.tum.de>
Fri, 9 Mar 2012 12:53:56 +0000 (12:53 +0000)
committerSree Harsha Totakura <totakura@in.tum.de>
Fri, 9 Mar 2012 12:53:56 +0000 (12:53 +0000)
src/stream/stream_api.c
src/stream/stream_protocol.h
src/stream/test_stream_local.c

index 8d09474c49ab82140661281d2b5a877a7eaed00d..bb50f69bc3fc11949b6c3bd748b5f1f121919ae8 100644 (file)
@@ -315,7 +315,7 @@ struct GNUNET_STREAM_Socket
   /**
    * receiver's available buffer after the last acknowledged packet
    */
-  uint32_t receive_window_available;
+  uint32_t receiver_window_available;
 
   /**
    * The offset pointer used during write operation
@@ -595,16 +595,16 @@ send_ack_notify (void *cls, size_t size, void *buf)
                   "%s called with size 0\n", __func__);
       return 0;
     }
-  GNUNET_assert (ack_msg->header.header.size <= size);
+  GNUNET_assert (ntohs (ack_msg->header.header.size) <= size);
   
-  size = ack_msg->header.header.size;
+  size = ntohs (ack_msg->header.header.size);
   memcpy (buf, ack_msg, size);
   return size;
 }
 
 /**
  * Writes data using the given socket. The amount of data written is limited by
- * the receive_window_size
+ * the receiver_window_size
  *
  * @param socket the socket to use
  */
@@ -735,7 +735,7 @@ write_data_finish_cb (void *cls,
 
 /**
  * Writes data using the given socket. The amount of data written is limited by
- * the receive_window_size
+ * the receiver_window_size
  *
  * @param socket the socket to use
  */
@@ -765,8 +765,7 @@ write_data (struct GNUNET_STREAM_Socket *socket)
           GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                       "%x: Placing DATA message with sequence %u in send queue\n",
                       socket->our_id,
-                      (unsigned int) 
-                      io_handle->messages[packet]->sequence_number);
+                      ntohl (io_handle->messages[packet]->sequence_number));
 
           copy_and_queue_message (socket,
                                   &io_handle->messages[packet]->header,
@@ -777,15 +776,14 @@ write_data (struct GNUNET_STREAM_Socket *socket)
   packet = ack_packet + 1;
   /* Now send new packets if there is enough buffer space */
   while ( (NULL != io_handle->messages[packet]) &&
-         (socket->receive_window_available >= ntohs (io_handle->messages[packet]->header.header.size)) )
+         (socket->receiver_window_available >= ntohs (io_handle->messages[packet]->header.header.size)) )
     {
-      socket->receive_window_available -= 
+      socket->receiver_window_available -= 
         ntohs (io_handle->messages[packet]->header.header.size);
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                   "%x: Placing DATA message with sequence %u in send queue\n",
                   socket->our_id,
-                  (unsigned int) 
-                  io_handle->messages[packet]->sequence_number);
+                  ntohl (io_handle->messages[packet]->sequence_number));
       copy_and_queue_message (socket,
                               &io_handle->messages[packet]->header,
                               &write_data_finish_cb,
@@ -985,8 +983,7 @@ handle_data (struct GNUNET_STREAM_Socket *socket,
         }
 
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                  "%x: Receiving DATA with sequence number: %u and size: %d "
-                  "from %x\n",
+                  "%x: Receiving DATA with sequence number: %u and size: %d from %x\n",
                   socket->our_id,
                   ntohl (msg->sequence_number),
                   ntohs (msg->header.header.size),
@@ -1178,7 +1175,7 @@ client_handle_hello_ack (void *cls,
                 "%x: Read sequence number %u\n",
                 socket->our_id,
                 (unsigned int) socket->read_sequence_number);
-    socket->receive_window_available = ntohl (ack_msg->receive_window_size);
+    socket->receiver_window_available = ntohl (ack_msg->receiver_window_size);
     /* Get the random sequence number */
     socket->write_sequence_number = 
       GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE, UINT32_MAX);
@@ -1193,7 +1190,7 @@ client_handle_hello_ack (void *cls,
     reply->header.header.type = 
       htons (GNUNET_MESSAGE_TYPE_STREAM_HELLO_ACK);
     reply->sequence_number = htonl (socket->write_sequence_number);
-    reply->receive_window_size = htonl (RECEIVE_BUFFER_SIZE);
+    reply->receiver_window_size = htonl (RECEIVE_BUFFER_SIZE);
     queue_message (socket, 
                    &reply->header, 
                    &set_state_established, 
@@ -1532,6 +1529,7 @@ server_handle_hello (void *cls,
       reply->header.header.type = 
         htons (GNUNET_MESSAGE_TYPE_STREAM_HELLO_ACK);
       reply->sequence_number = htonl (socket->write_sequence_number);
+      reply->receiver_window_size = htonl (RECEIVE_BUFFER_SIZE);
       queue_message (socket, 
                     &reply->header,
                      &set_state_hello_wait, 
@@ -1586,8 +1584,8 @@ server_handle_hello_ack (void *cls,
                   "%x: Read sequence number %u\n",
                   socket->our_id,
                   (unsigned int) socket->read_sequence_number);
-      socket->receive_window_available = 
-        ntohl (ack_message->receive_window_size);
+      socket->receiver_window_available = 
+        ntohl (ack_message->receiver_window_size);
       /* Attain ESTABLISHED state */
       set_state_established (NULL, socket);
     }
@@ -1849,7 +1847,7 @@ handle_ack (struct GNUNET_STREAM_Socket *socket,
         }
          
       socket->write_handle->ack_bitmap = GNUNET_ntohll (ack->bitmap);
-      socket->receive_window_available = 
+      socket->receiver_window_available = 
         ntohl (ack->receive_window_remaining);
 
       /* Check if we have received all acknowledgements */
@@ -2452,8 +2450,8 @@ GNUNET_STREAM_write (struct GNUNET_STREAM_Socket *socket,
       io_handle->messages[packet]->header.header.type =
         htons (GNUNET_MESSAGE_TYPE_STREAM_DATA);
       io_handle->messages[packet]->sequence_number =
-        htons (socket->write_sequence_number++);
-      io_handle->messages[packet]->offset = htons (socket->write_offset);
+        htonl (socket->write_sequence_number++);
+      io_handle->messages[packet]->offset = htonl (socket->write_offset);
 
       /* FIXME: Remove the fixed delay for ack deadline; Set it to the value
          determined from RTT */
index 0c1987e5dfe7e5ec6f6d8e60d5d4ca16fcdb2fb3..b9ceb2da7c1522a425724164fdc906ea6f9dec6e 100644 (file)
@@ -163,7 +163,7 @@ struct GNUNET_STREAM_HelloAckMessage
    *
    * FIXME: Remove if not needed
    */
-  uint32_t receive_window_size;
+  uint32_t receiver_window_size;
 };
 
 
index 927194e3f5a69534a849f145e37db6fdf48cf37e..af4e057d796fa2f0e1b51c5a607b363475f5fbe0 100644 (file)
@@ -201,7 +201,7 @@ write_completion (void *cls,
 
   peer = (struct PeerData *) cls;
   GNUNET_assert (GNUNET_STREAM_OK == status);
-  GNUNET_assert (size < strlen (data));
+  GNUNET_assert (size <= strlen (data));
   peer->bytes_wrote += size;
 
   if (peer->bytes_wrote < strlen(data)) /* Have more data to send */