added test_stream_big to make check tests
[oweals/gnunet.git] / src / stream / stream_protocol.h
index 1b3a6838a57a81a1cf9e98e7f11990cdc9ad4426..d1c43b778ea93a41986f8f6d0a78bdcaf8cc2296 100644 (file)
@@ -97,6 +97,12 @@ struct GNUNET_STREAM_DataMessage
    */
 };
 
+
+/**
+ * Number of bits in GNUNET_STREAM_AckBitmap
+ */
+#define GNUNET_STREAM_ACK_BITMAP_BIT_LENGTH 64
+
 /**
  * The Selective Acknowledgement Bitmap
  */
@@ -121,10 +127,8 @@ struct GNUNET_STREAM_AckMessage
   GNUNET_STREAM_AckBitmap bitmap GNUNET_PACKED;
 
   /**
-   * The sequence number of the Data Message upto which the receiver has filled
-   * its buffer without any missing packets
-   *
-   * FIXME: Do we need this?
+   * The sequence number of the next Data Message receiver is
+   * anticipating. Data messages less than this number are received by receiver
    */
   uint32_t base_sequence_number GNUNET_PACKED;
 
@@ -136,6 +140,9 @@ struct GNUNET_STREAM_AckMessage
 };
 
 
+/**
+ * Message for Acknowledging HELLO
+ */
 struct GNUNET_STREAM_HelloAckMessage
 {
   /**
@@ -147,12 +154,32 @@ struct GNUNET_STREAM_HelloAckMessage
    * The selected sequence number. Following data tranmissions from the sender
    * start with this sequence
    */
-  uint32_t sequence_number;
+  uint32_t sequence_number GNUNET_PACKED;
 
   /**
    * The size(in bytes) of the receive window on the peer sending this message
+   *
+   * FIXME: Remove if not needed
+   */
+  uint32_t receiver_window_size GNUNET_PACKED;
+};
+
+
+/**
+ * The Transmit close message(used to signal transmission is closed)
+ */
+struct GNUNET_STREAM_TransmitCloseMessage
+{
+  /**
+   * The stream message header
+   */
+  struct GNUNET_STREAM_MessageHeader header;
+
+  /**
+   * The last sequence number of the packet after which the transmission has
+   * ended 
    */
-  uint32_t receive_window_size;
+  uint32_t final_sequence_number GNUNET_PACKED;
 };
 
 GNUNET_NETWORK_STRUCT_END