-GNUNET_PEERINFO_add_peer (const struct GNUNET_CONFIGURATION_Handle *cfg,
- struct GNUNET_SCHEDULER_Handle *sched,
- const struct GNUNET_PeerIdentity *peer,
- const struct GNUNET_HELLO_Message *hello);
+GNUNET_PEERINFO_disconnect (struct GNUNET_PEERINFO_Handle *h);
+
+
+/**
+ * Add a host to the persistent list. This method operates in
+ * semi-reliable mode: if the transmission is not completed by
+ * the time #GNUNET_PEERINFO_disconnect() is called, it will be
+ * aborted. Furthermore, if a second HELLO is added for the
+ * same peer before the first one was transmitted, PEERINFO may
+ * merge the two HELLOs prior to transmission to the service.
+ *
+ * @param h handle to the peerinfo service
+ * @param hello the verified (!) HELLO message
+ * @param cont continuation to call when done, NULL is allowed
+ * @param cont_cls closure for @a cont
+ * @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 non-NULL and at some point
+ * calling @a cont must be prevented)
+ */
+struct GNUNET_MQ_Envelope *
+GNUNET_PEERINFO_add_peer (struct GNUNET_PEERINFO_Handle *h,
+ const struct GNUNET_HELLO_Message *hello,
+ GNUNET_SCHEDULER_TaskCallback cont,
+ void *cont_cls);
+