WIP commit of scalar product 2.0. It is unfinished and does not yet pass tests. This...
[oweals/gnunet.git] / src / consensus / consensus.h
index e3c84e6fee685463c2ca2dd0ffb2e173c5a17d2d..4ff21829877a8a320544e2524f173b04051679a0 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
@@ -41,27 +41,28 @@ struct GNUNET_CONSENSUS_JoinMessage
    */
   struct GNUNET_MessageHeader header;
 
+  /**
+   * Number of peers (at the end of this message) that want to
+   * participate in the consensus.
+   */
   uint32_t num_peers GNUNET_PACKED;
 
+  /**
+   * Session id of the consensus.
+   */
   struct GNUNET_HashCode session_id;
 
-  /* GNUNET_PeerIdentity[num_peers] */
-};
-
-
-struct GNUNET_CONSENSUS_ConcludeMessage
-{
   /**
-   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE
+   * Start time for the consensus.
    */
-  struct GNUNET_MessageHeader header;
-
-  // uint32_t reserved GNUNET_PACKED; // FIXME...
+  struct GNUNET_TIME_AbsoluteNBO start;
 
   /**
-   * Timeout for conclude
+   * Deadline for conclude.
    */
-  struct GNUNET_TIME_RelativeNBO timeout;
+  struct GNUNET_TIME_AbsoluteNBO deadline;
+
+  /* GNUNET_PeerIdentity[num_peers] */
 };
 
 
@@ -86,20 +87,6 @@ struct GNUNET_CONSENSUS_ElementMessage
   /* rest: element data */
 };
 
-struct GNUNET_CONSENSUS_AckMessage
-{
-  /**
-   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_ACK
-   */
-  struct GNUNET_MessageHeader header;
-
-  /**
-   * Do we want to keep and propagate the element?
-   */
-  uint8_t keep; /* FIXME: alignment!? => (u)int32_t */
-
-  /* FIXME: add message hash? */
-};
 
 GNUNET_NETWORK_STRUCT_END