Add missing include
[oweals/gnunet.git] / src / transport / plugin_transport_udp.h
index 6f78a4169b9d635c0459c8583ee5fa4df1b9918e..6fb573690bc9913eb3993c4e5b1442aef7a5fce0 100644 (file)
@@ -57,6 +57,11 @@ GNUNET_NETWORK_STRUCT_BEGIN
  */
 struct IPv4UdpAddress
 {
+       /**
+        * Optional options and flags for this address
+        */
+       uint32_t options GNUNET_PACKED;
+
   /**
    * IPv4 address, in network byte order.
    */
@@ -74,6 +79,10 @@ struct IPv4UdpAddress
  */
 struct IPv6UdpAddress
 {
+       /**
+        * Optional options and flags for this address
+        */
+       uint32_t options GNUNET_PACKED;
 
   /**
    * IPv6 address.
@@ -126,7 +135,7 @@ struct Plugin
    * Session of peers with whom we are currently connected,
    * map of peer identity to 'struct PeerSession'.
    */
-  struct GNUNET_CONTAINER_MultiHashMap *sessions;
+  struct GNUNET_CONTAINER_MultiPeerMap *sessions;
 
   /**
    * Heap with all of our defragmentation activities.
@@ -137,6 +146,7 @@ struct Plugin
    * ID of select task
    */
   GNUNET_SCHEDULER_TaskIdentifier select_task;
+  GNUNET_SCHEDULER_TaskIdentifier select_task_v6;
 
   /**
    * Tokenizer for inbound messages.
@@ -158,6 +168,12 @@ struct Plugin
    */
   char *bind6_address;
 
+
+  /**
+   * Bytes currently in buffer
+   */
+  int64_t bytes_in_buffer;
+
   /**
    * Handle to NAT traversal support.
    */
@@ -166,18 +182,30 @@ struct Plugin
   /**
    * FD Read set
    */
-  struct GNUNET_NETWORK_FDSet *rs;
+  struct GNUNET_NETWORK_FDSet *rs_v4;
 
   /**
    * FD Write set
    */
-  struct GNUNET_NETWORK_FDSet *ws;
+  struct GNUNET_NETWORK_FDSet *ws_v4;
+
 
   /**
    * The read socket for IPv4
    */
   struct GNUNET_NETWORK_Handle *sockv4;
 
+
+  /**
+   * FD Read set
+   */
+  struct GNUNET_NETWORK_FDSet *rs_v6;
+
+  /**
+   * FD Write set
+   */
+  struct GNUNET_NETWORK_FDSet *ws_v6;
+
   /**
    * The read socket for IPv6
    */
@@ -232,10 +260,15 @@ struct Plugin
   struct BroadcastAddress *ipv4_broadcast_head;
 
   /**
-   * Enable IPv6
+   * Is IPv6 enabled: GNUNET_YES or GNUNET_NO
    */
   int enable_ipv6;
 
+  /**
+   * Is IPv4 enabled: GNUNET_YES or GNUNET_NO
+   */
+  int enable_ipv4;
+
   /**
    * Port we broadcasting on.
    */
@@ -251,11 +284,11 @@ struct Plugin
    */
   uint16_t aport;
 
-  struct UDPMessageWrapper *ipv4_queue_head;
-  struct UDPMessageWrapper *ipv4_queue_tail;
+  struct UDP_MessageWrapper *ipv4_queue_head;
+  struct UDP_MessageWrapper *ipv4_queue_tail;
 
-  struct UDPMessageWrapper *ipv6_queue_head;
-  struct UDPMessageWrapper *ipv6_queue_tail;
+  struct UDP_MessageWrapper *ipv6_queue_head;
+  struct UDP_MessageWrapper *ipv6_queue_tail;
 };