/*
This file is part of GNUnet
- Copyright (C) 2009, 2010 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2009, 2010 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
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- 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., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
* @author Christian Grothoff
GNUNET_PEERINFO_disconnect (struct GNUNET_PEERINFO_Handle *h);
-/**
- * Continuation called with a status result.
- *
- * @param cls closure
- * @param emsg error message, NULL on success
- */
-typedef void
-(*GNUNET_PEERINFO_Continuation)(void *cls,
- const char *emsg);
-
-
-/**
- * Opaque handle to cancel 'add' operation.
- */
-struct GNUNET_PEERINFO_AddContext;
-
-
/**
* Add a host to the persistent list. This method operates in
* semi-reliable mode: if the transmission is not completed by
* @return handle to cancel add operation; all pending
* 'add' operations will be cancelled automatically
* on disconnect, so it is not necessary to keep this
- * handle (unless @a cont is NULL and at some point
+ * handle (unless @a cont is non-NULL and at some point
* calling @a cont must be prevented)
*/
-struct GNUNET_PEERINFO_AddContext *
+struct GNUNET_MQ_Envelope *
GNUNET_PEERINFO_add_peer (struct GNUNET_PEERINFO_Handle *h,
const struct GNUNET_HELLO_Message *hello,
- GNUNET_PEERINFO_Continuation cont,
+ GNUNET_SCHEDULER_TaskCallback cont,
void *cont_cls);
-/**
- * Cancel pending 'add' operation. Must only be called before
- * either 'cont' or #GNUNET_PEERINFO_disconnect() are invoked.
- *
- * @param ac handle for the add operation to cancel
- */
-void
-GNUNET_PEERINFO_add_peer_cancel (struct GNUNET_PEERINFO_AddContext *ac);
-
-
/**
* Type of an iterator over the hosts. Note that each
* host will be called with each available protocol.
GNUNET_PEERINFO_iterate (struct GNUNET_PEERINFO_Handle *h,
int include_friend_only,
const struct GNUNET_PeerIdentity *peer,
- struct GNUNET_TIME_Relative timeout,
- GNUNET_PEERINFO_Processor callback, void *callback_cls);
+ GNUNET_PEERINFO_Processor callback,
+ void *callback_cls);
/**
* changes. Initially calls the given function for all known
* peers and then only signals changes.
*
- * If include_friend_only is set to GNUNET_YES peerinfo will include HELLO
+ * If @a include_friend_only is set to #GNUNET_YES peerinfo will include HELLO
* messages which are intended for friend to friend mode and which do not
* have to be gossiped. Otherwise these messages are skipped.
*