*/
};
+
+/**
+ * Number of bits in GNUNET_STREAM_AckBitmap
+ */
+#define GNUNET_STREAM_ACK_BITMAP_BIT_LENGTH 64
+
/**
* The Selective Acknowledgement Bitmap
*/
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;
};
+/**
+ * Message for Acknowledging HELLO
+ */
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