/*
This file is part of GNUnet.
- (C) 2009-2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2009-2014 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
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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
- * @file include/gnunet_cadet_service.h
- * @brief cadet service; establish channels to distant peers
* @author Christian Grothoff
* @author Bart Polot
+ *
+ * @file
+ * CADET service; establish channels to distant peers
+ *
+ * @defgroup cadet CADET service
+ * Confidential Ad-hoc Decentralized End-to-End Transport
+ *
+ * @see [Documentation](https://gnunet.org/cadet-subsystem)
+ * @see [Paper](https://gnunet.org/cadet)
+ *
+ * @{
*/
#ifndef GNUNET_CADET_SERVICE_H
#define GNUNET_CADET_SERVICE_H
/**
* Function called whenever a channel is destroyed. Should clean up
- * any associated state.
+ * any associated state, including cancelling any pending transmission on this
+ * channel.
*
* It must NOT call #GNUNET_CADET_channel_destroy on the channel.
*
* @param new_channel Function called when an *incoming* channel is created.
* Can be NULL if no inbound channels are desired.
* See @a ports.
- * @param cleaner Function called when a channel is destroyed by the remote peer.
- * It is NOT called if #GNUNET_CADET_channel_destroy is called on
- * the channel.
+ * @param cleaner Function called when a channel is destroyed.
+ * It is called immediately if #GNUNET_CADET_channel_destroy
+ * is called on the channel.
* @param handlers Callbacks for messages we care about, NULL-terminated. Each
* one must call #GNUNET_CADET_receive_done on the channel to
* receive the next message. Messages of a type that is not
* @param neighbor Is this a direct neighbor? #GNUNET_YES/#GNUNET_NO
* @param n_paths Number of paths known towards peer.
* @param paths Array of PEER_IDs representing all paths to reach the peer.
- * Each path starts with the local peer.
+ * Each path starts with the first hop (local peer not included).
* Each path ends with the destination peer (given in @c peer).
*/
typedef void
/* ifndef GNUNET_CADET_SERVICE_H */
#endif
+
+/** @} */ /* end of group */
+
/* end of gnunet_cadet_service.h */