projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement data ack in CADET MQ API
[oweals/gnunet.git]
/
src
/
include
/
gnunet_consensus_service.h
diff --git
a/src/include/gnunet_consensus_service.h
b/src/include/gnunet_consensus_service.h
index 6d8d23a1740459ec6702edfad0291fda1ee622cb..957e88a801c9086ca9baa7800f2d1d29f46327b3 100644
(file)
--- a/
src/include/gnunet_consensus_service.h
+++ b/
src/include/gnunet_consensus_service.h
@@
-1,6
+1,6
@@
/*
This file is part of GNUnet
/*
This file is part of GNUnet
- (C) 2012 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2012 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
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@
-14,14
+14,19
@@
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 5
9 Temple Place - Suite 330
,
- Boston, MA 0211
1-1307
, USA.
+ Free Software Foundation, Inc., 5
1 Franklin Street, Fifth Floor
,
+ Boston, MA 0211
0-1301
, USA.
*/
/**
*/
/**
- * @file include/gnunet_consensus_service.h
- * @brief multi-peer set reconciliation
* @author Florian Dold
* @author Florian Dold
+ *
+ * @file
+ * Multi-peer set reconciliation
+ *
+ * @defgroup consensus Consensus service
+ * Multi-peer set reconciliation
+ * @{
*/
#ifndef GNUNET_CONSENSUS_SERVICE_H
*/
#ifndef GNUNET_CONSENSUS_SERVICE_H
@@
-35,13
+40,20
@@
extern "C"
#endif
#endif
#endif
#endif
-#include "platform.h"
#include "gnunet_common.h"
#include "gnunet_time_lib.h"
#include "gnunet_configuration_lib.h"
#include "gnunet_set_service.h"
#include "gnunet_common.h"
#include "gnunet_time_lib.h"
#include "gnunet_configuration_lib.h"
#include "gnunet_set_service.h"
+/**
+ * Elements inserted into the consensus set by the client
+ * may not be larger than this constant, since types in
+ * the upper range are used by CONSENSUS internally.
+ */
+#define GNUNET_CONSENSUS_ELEMENT_TYPE_USER_MAX 0xFFF0
+
+
/**
* Called when a new element was received from another peer, or an error occured.
* May deliver duplicate values.
/**
* Called when a new element was received from another peer, or an error occured.
* May deliver duplicate values.
@@
-72,8
+84,11
@@
struct GNUNET_CONSENSUS_Handle;
* Inclusion of the local peer is optional.
* @param session_id session identifier
* Allows a group of peers to have more than consensus session.
* Inclusion of the local peer is optional.
* @param session_id session identifier
* Allows a group of peers to have more than consensus session.
+ * @param start start time of the consensus, conclude should be called before
+ * the start time.
+ * @param deadline time when the consensus should have concluded
* @param new_element_cb callback, called when a new element is added to the set by
* @param new_element_cb callback, called when a new element is added to the set by
- * another peer
+ * another peer
. Also called when an error occurs.
* @param new_element_cls closure for new_element
* @return handle to use, NULL on error
*/
* @param new_element_cls closure for new_element
* @return handle to use, NULL on error
*/
@@
-82,6
+97,8
@@
GNUNET_CONSENSUS_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
unsigned int num_peers,
const struct GNUNET_PeerIdentity *peers,
const struct GNUNET_HashCode *session_id,
unsigned int num_peers,
const struct GNUNET_PeerIdentity *peers,
const struct GNUNET_HashCode *session_id,
+ struct GNUNET_TIME_Absolute start,
+ struct GNUNET_TIME_Absolute deadline,
GNUNET_CONSENSUS_ElementCallback new_element_cb,
void *new_element_cls);
GNUNET_CONSENSUS_ElementCallback new_element_cb,
void *new_element_cls);
@@
-135,14
+152,11
@@
typedef void (*GNUNET_CONSENSUS_ConcludeCallback) (void *cls);
* try to conclude the consensus within a given time window.
*
* @param consensus consensus session
* try to conclude the consensus within a given time window.
*
* @param consensus consensus session
- * @param timeout timeout after which the conculde callback
- * must be called
* @param conclude called when the conclusion was successful
* @param conclude_cls closure for the conclude callback
*/
void
GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
* @param conclude called when the conclusion was successful
* @param conclude_cls closure for the conclude callback
*/
void
GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
- struct GNUNET_TIME_Relative timeout,
GNUNET_CONSENSUS_ConcludeCallback conclude,
void *conclude_cls);
GNUNET_CONSENSUS_ConcludeCallback conclude,
void *conclude_cls);
@@
-165,3
+179,5
@@
GNUNET_CONSENSUS_destroy (struct GNUNET_CONSENSUS_Handle *consensus);
#endif
#endif
#endif
#endif
+
+/** @} */ /* end of group */