*/
typedef void
(*GNUNET_TRANSPORT_SessionEnd) (void *cls,
- const struct GNUNET_PeerIdentity *peer,
+ const struct GNUNET_HELLO_Address *address,
struct Session *session);
/**
const struct GNUNET_PeerIdentity *peer,
size_t amount_recved);
+typedef void
+(*GNUNET_TRANSPORT_RegisterQuotaNotification) (void *cls,
+ const struct GNUNET_PeerIdentity *peer,
+ const char *plugin,
+ struct Session *session);
+
+typedef void
+(*GNUNET_TRANSPORT_UnregisterQuotaNotification) (void *cls,
+ const struct GNUNET_PeerIdentity *peer, const char *plugin, struct Session *session);
/**
* Function that returns a HELLO message.
*/
GNUNET_TRANSPORT_UpdateAddressMetrics update_address_metrics;
+ GNUNET_TRANSPORT_RegisterQuotaNotification register_quota_notification;
+
+ GNUNET_TRANSPORT_UnregisterQuotaNotification unregister_quota_notification;
/**
* What is the maximum number of connections that this transport
* each human-readable address obtained.
*
* @param cls closure
- * @param address one of the names for the host, NULL
- * on the last call to the callback
+ * @param address one of the names for the host, NULL on last callback
+ * @param res GNUNET_OK if conversion was successful, GNUNET_SYSERR on failure,
+ * GNUNET_OK on last callback
*/
typedef void
(*GNUNET_TRANSPORT_AddressStringCallback) (void *cls,
- const char *address);
+ const char *address,
+ int res);
/**
const struct GNUNET_PeerIdentity *peer,
struct Session *session);
+
+
+typedef void
+(*GNUNET_TRANSPORT_UpdateInboundDelay) (void *cls,
+ const struct GNUNET_PeerIdentity *peer,
+ struct Session *session,
+ struct GNUNET_TIME_Relative delay);
+
/**
* Function called for a quick conversion of the binary address to
* a numeric address. Note that the caller must not free the
*/
GNUNET_TRANSPORT_UpdateSessionTimeout update_session_timeout;
+ GNUNET_TRANSPORT_UpdateInboundDelay update_inbound_delay;
+
+ /**
+ * Function that will be called whenever the transport service wants to
+ * notify the plugin that the inbound quota changed and that the plugin
+ * should update it's delay for the next receive value
+ */
+ //GNUNET_TRANSPORT_UpdateNextReceiveTimeout update_next_receive_timeout;
+
/**
* Function that is used to query keepalive factor.
* GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT is divided by this number to
GNUNET_TRANSPORT_QueryKeepaliveFactorFunction query_keepalive_factor;
/**
- * Function to pretty-print addresses. NOTE: this function is not
- * yet used by transport-service, but will be used in the future
- * once the transport-API has been completed.
+ * Function to pretty-print addresses.
*/
GNUNET_TRANSPORT_AddressPrettyPrinter address_pretty_printer;
};
+/*#ifndef PLUGIN_TRANSPORT_H*/
#endif
+/* end of gnunet_transport_plugin.h */