/*
This file is part of GNUnet.
- (C) 2009-2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2009-2014 Christian Grothoff (and other contributing authors)
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
/**
* 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