X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_transport_service.h;h=24b9e90af32e0f599927c56016a45c6d882729ce;hb=fc49f1b524fce53459692ddffe05474876e4969c;hp=1c70e312d886aec3b45fcc8483aa5cc7a1d468d5;hpb=81dd39d2d1fa895abf9089496df288a71c359ff2;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_transport_service.h b/src/include/gnunet_transport_service.h index 1c70e312d..24b9e90af 100644 --- a/src/include/gnunet_transport_service.h +++ b/src/include/gnunet_transport_service.h @@ -335,13 +335,14 @@ enum GNUNET_TRANSPORT_ATS_Property */ GNUNET_TRANSPORT_ATS_QUALITY_NET_THROUGHPUT = 1033, - /** - * Distance on network layer - * - * Unit: [] - */ + /** + * Distance on network layer + * + * Unit: [] + */ GNUNET_TRANSPORT_ATS_QUALITY_NET_DISTANCE = 1034, + /* Availability related values */ /* =========================== */ @@ -390,6 +391,7 @@ struct GNUNET_TRANSPORT_ATS_Information }; + /** * Function called by the transport for each received message. * @@ -405,7 +407,7 @@ typedef void (*GNUNET_TRANSPORT_ReceiveCallback) (void *cls, const struct GNUNET_MessageHeader * message, - const struct GNUNET_TRANSPORT_ATS_Information *ats, + const struct GNUNET_TRANSPORT_ATS_Information *ats, uint32_t ats_count); @@ -488,6 +490,18 @@ struct GNUNET_TRANSPORT_Handle *GNUNET_TRANSPORT_connect (const struct void GNUNET_TRANSPORT_disconnect (struct GNUNET_TRANSPORT_Handle *handle); +/** + * Ask the transport service to establish a connection to + * the given peer. + * + * @param handle connection to transport service + * @param target who we should try to connect to + */ +void +GNUNET_TRANSPORT_try_connect (struct GNUNET_TRANSPORT_Handle *handle, + const struct GNUNET_PeerIdentity *target); + + /** * Set the share of incoming/outgoing bandwidth for the given * peer to the specified amount. @@ -496,19 +510,12 @@ void GNUNET_TRANSPORT_disconnect (struct GNUNET_TRANSPORT_Handle *handle); * @param target who's bandwidth quota is being changed * @param quota_in incoming bandwidth quota * @param quota_out outgoing bandwidth quota - * @param timeout how long to wait until signaling failure if - * we can not communicate the quota change - * @param cont continuation to call when done, will be called - * either with reason "TIMEOUT" or with reason "PREREQ_DONE" - * @param cont_cls closure for continuation */ void GNUNET_TRANSPORT_set_quota (struct GNUNET_TRANSPORT_Handle *handle, const struct GNUNET_PeerIdentity *target, struct GNUNET_BANDWIDTH_Value32NBO quota_in, - struct GNUNET_BANDWIDTH_Value32NBO quota_out, - struct GNUNET_TIME_Relative timeout, - GNUNET_SCHEDULER_Task cont, void *cont_cls); + struct GNUNET_BANDWIDTH_Value32NBO quota_out); /** @@ -551,12 +558,12 @@ struct GNUNET_TRANSPORT_TransmitHandle /** * Cancel the specified transmission-ready notification. * - * @param h handle of the transmission notification request to cancel + * @param th handle of the transmission notification request to cancel */ void GNUNET_TRANSPORT_notify_transmit_ready_cancel (struct GNUNET_TRANSPORT_TransmitHandle - *h); + *th); @@ -600,15 +607,19 @@ GNUNET_TRANSPORT_get_hello_cancel (struct GNUNET_TRANSPORT_Handle *handle, /** * Offer the transport service the HELLO of another peer. Note that * the transport service may just ignore this message if the HELLO is - * malformed or useless due to our local configuration. If the HELLO - * is working, we should add it to PEERINFO. + * malformed or useless due to our local configuration. * * @param handle connection to transport service * @param hello the hello message + * @param cont continuation to call when HELLO has been sent + * @param cls closure for continuation + * */ void GNUNET_TRANSPORT_offer_hello (struct GNUNET_TRANSPORT_Handle *handle, - const struct GNUNET_MessageHeader *hello); + const struct GNUNET_MessageHeader *hello, + GNUNET_SCHEDULER_Task cont, + void *cls); /** @@ -634,7 +645,36 @@ GNUNET_TRANSPORT_address_lookup (const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_TRANSPORT_AddressLookUpCallback aluc, void *aluc_cls); +/** + * Return all the known addresses for a peer. + * + * @param cfg configuration to use + * @param peer peer identity to look up the addresses of + * @param timeout how long is the lookup allowed to take at most + * @param peer_address_callback function to call with the results + * @param peer_address_callback_cls closure for peer_address_callback + */ +void +GNUNET_TRANSPORT_peer_address_lookup (const struct GNUNET_CONFIGURATION_Handle *cfg, + const struct GNUNET_PeerIdentity *peer, + struct GNUNET_TIME_Relative timeout, + GNUNET_TRANSPORT_AddressLookUpCallback peer_address_callback, + void *peer_address_callback_cls); + +/** + * Return all the known addresses for a peer. + * + * @param cfg configuration to use + * @param timeout how long is the lookup allowed to take at most + * @param peer_address_callback function to call with the results + * @param peer_address_callback_cls closure for peer_address_callback + */ +void +GNUNET_TRANSPORT_address_iterate (const struct GNUNET_CONFIGURATION_Handle *cfg, + struct GNUNET_TIME_Relative timeout, + GNUNET_TRANSPORT_AddressLookUpCallback peer_address_callback, + void *peer_address_callback_cls); /** * Handle for blacklisting peers.