- fix coverity
[oweals/gnunet.git] / src / cadet / gnunet-service-cadet_tunnel.h
index a2504436b89d3aa83246aa07b08a2783251a9d1b..e836e4b24e9caa663f4f3cf67ad50862402b05dd 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2013 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -90,10 +90,19 @@ enum CadetTunnelEState
   CADET_TUNNEL_KEY_SENT,
 
   /**
-   * New ephemeral key and ping sent, waiting for pong.
+   * In OTR: New ephemeral key and ping sent, waiting for pong.
+   *
    * This means that we DO have the peer's ephemeral key, otherwise the
    * state would be KEY_SENT. We DO NOT have a valid session key (either no
    * previous key or previous key expired).
+   *
+   *
+   * In Axolotl: Key sent and received but no deciphered traffic yet.
+   *
+   * This means that we can send traffic (otherwise we would never complete
+   * the handshake), but we don't have complete confirmation. Since the first
+   * traffic MUST be a complete channel creation 3-way handshake, no payload
+   * will be sent before confirmation.
    */
   CADET_TUNNEL_KEY_PING,
 
@@ -449,6 +458,17 @@ void
 GCT_cancel (struct CadetTunnelQueue *q);
 
 
+/**
+ * Check if the tunnel has queued traffic.
+ *
+ * @param t Tunnel to check.
+ *
+ * @return #GNUNET_YES if there is queued traffic
+ *         #GNUNET_NO otherwise
+ */
+int
+GCT_has_queued_traffic (struct CadetTunnel *t);
+
 /**
  * Sends an already built message on a tunnel, encrypting it and
  * choosing the best connection.