#include "gnunet_statistics_service.h"
#include "gnunet_transport_service.h"
#include "gnunet_transport_plugin.h"
+#include "gnunet-service-transport.h"
#include "transport.h"
#include "gnunet_util_lib.h"
GST_neighbours_start (void *cls,
NotifyConnect connect_cb,
GNUNET_TRANSPORT_NotifyDisconnect disconnect_cb,
- GNUNET_TRANSPORT_PeerIterateCallback peer_address_cb,
+ GNUNET_TRANSPORT_NeighbourChangeCallback peer_address_cb,
unsigned int max_fds);
size_t msg_size, struct GNUNET_TIME_Relative timeout,
GST_NeighbourSendContinuation cont, void *cont_cls);
+void
+GST_neighbours_register_quota_notification (void *cls,
+ const struct GNUNET_PeerIdentity *peer,
+ const char *plugin,
+ struct Session *session);
+
+void
+GST_neighbours_unregister_quota_notification(void *cls,
+ const struct GNUNET_PeerIdentity *peer, const char *plugin, struct Session *session);
/**
* We have received a message from the given sender.
/**
- * Function called for each connected neighbour.
+ * Function called for each neighbour.
*
* @param cls closure
* @param neighbour identity of the neighbour
* @param address the address (or NULL)
+ * @param state current state the peer is in
+ * @param state_timeout timeout for this state
* @param bandwidth_in inbound quota in NBO
* @param bandwidth_out outbound quota in NBO
*/
typedef void (*GST_NeighbourIterator) (void *cls,
- const struct GNUNET_PeerIdentity *
- neighbour,
- const struct GNUNET_HELLO_Address *
- address,
+ const struct GNUNET_PeerIdentity *neighbour,
+ const struct GNUNET_HELLO_Address *address,
+ enum GNUNET_TRANSPORT_PeerState state,
+ struct GNUNET_TIME_Absolute state_timeout,
struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in,
struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out);
*
* @param message possibly a 'struct SessionConnectMessage' (check format)
* @param peer identity of the peer to switch the address for
- * @param address address of the other peer, NULL if other peer
- * connected to us
- * @param session session to use (or NULL)
* @return #GNUNET_OK if the message was fine, #GNUNET_SYSERR on serious error
*/
int
GST_neighbours_handle_connect (const struct GNUNET_MessageHeader *message,
- const struct GNUNET_PeerIdentity *peer,
- const struct GNUNET_HELLO_Address *address,
- struct Session *session);
+ const struct GNUNET_PeerIdentity *peer);
/**