Functions related to bandwidth (unit) More...
#include "gnunet_time_lib.h"Go to the source code of this file.
Data Structures | |
| struct | GNUNET_BANDWIDTH_Value32NBO |
| 32-bit bandwidth used for network exchange by GNUnet, in bytes per second. More... | |
| struct | GNUNET_BANDWIDTH_Tracker |
| Struct to track available bandwidth. More... | |
Macros | |
| #define | GNUNET_BANDWIDTH_ZERO GNUNET_BANDWIDTH_value_init (0) |
| Convenience definition to use for 0-bandwidth. | |
| #define | GNUNET_BANDWIDTH_VALUE_MAX GNUNET_BANDWIDTH_value_init (UINT32_MAX) |
| Maximum possible bandwidth value. | |
Typedefs | |
| typedef void(* | GNUNET_BANDWIDTH_TrackerUpdateCallback) (void *cls) |
| Callback to be called by the bandwidth tracker if the tracker was updated and the client should update it's delay values. | |
| typedef void(* | GNUNET_BANDWIDTH_ExcessNotificationCallback) (void *cls) |
| Callback to be called by the bandwidth tracker if the tracker was updated and the client should update it's delay values. | |
Functions | |
| struct GNUNET_BANDWIDTH_Value32NBO | GNUNET_BANDWIDTH_value_init (uint32_t bytes_per_second) |
| Create a new bandwidth value. | |
| uint64_t | GNUNET_BANDWIDTH_value_get_available_until (struct GNUNET_BANDWIDTH_Value32NBO bps, struct GNUNET_TIME_Relative deadline) |
| At the given bandwidth, calculate how much traffic will be available until the given deadline. | |
| struct GNUNET_TIME_Relative | GNUNET_BANDWIDTH_value_get_delay_for (struct GNUNET_BANDWIDTH_Value32NBO bps, uint64_t size) |
| At the given bandwidth, calculate how long it would take for 'size' bytes to be transmitted. | |
| struct GNUNET_BANDWIDTH_Value32NBO | GNUNET_BANDWIDTH_value_min (struct GNUNET_BANDWIDTH_Value32NBO b1, struct GNUNET_BANDWIDTH_Value32NBO b2) |
| Compute the MIN of two bandwidth values. | |
| struct GNUNET_BANDWIDTH_Value32NBO | GNUNET_BANDWIDTH_value_max (struct GNUNET_BANDWIDTH_Value32NBO b1, struct GNUNET_BANDWIDTH_Value32NBO b2) |
| Compute the MAX of two bandwidth values. | |
| struct GNUNET_BANDWIDTH_Value32NBO | GNUNET_BANDWIDTH_value_sum (struct GNUNET_BANDWIDTH_Value32NBO b1, struct GNUNET_BANDWIDTH_Value32NBO b2) |
| Compute the SUM of two bandwidth values. | |
| void | GNUNET_BANDWIDTH_tracker_init (struct GNUNET_BANDWIDTH_Tracker *av, GNUNET_BANDWIDTH_TrackerUpdateCallback update_cb, void *update_cb_cls, struct GNUNET_BANDWIDTH_Value32NBO bytes_per_second_limit, uint32_t max_carry_s) |
| Initialize bandwidth tracker. | |
| void | GNUNET_BANDWIDTH_tracker_init2 (struct GNUNET_BANDWIDTH_Tracker *av, GNUNET_BANDWIDTH_TrackerUpdateCallback update_cb, void *update_cb_cls, struct GNUNET_BANDWIDTH_Value32NBO bytes_per_second_limit, uint32_t max_carry_s, GNUNET_BANDWIDTH_ExcessNotificationCallback excess_cb, void *excess_cb_cls) |
| Initialize bandwidth tracker. | |
| void | GNUNET_BANDWIDTH_tracker_notification_stop (struct GNUNET_BANDWIDTH_Tracker *av) |
| Stop notifying about tracker updates and excess notifications. | |
| int | GNUNET_BANDWIDTH_tracker_consume (struct GNUNET_BANDWIDTH_Tracker *av, ssize_t size) |
| Notify the tracker that a certain number of bytes of bandwidth have been consumed. | |
| struct GNUNET_TIME_Relative | GNUNET_BANDWIDTH_tracker_get_delay (struct GNUNET_BANDWIDTH_Tracker *av, size_t size) |
| Compute how long we should wait until consuming size bytes of bandwidth in order to stay within the given quota. | |
| int64_t | GNUNET_BANDWIDTH_tracker_get_available (struct GNUNET_BANDWIDTH_Tracker *av) |
| Compute how many bytes are available for consumption right now. | |
| void | GNUNET_BANDWIDTH_tracker_update_quota (struct GNUNET_BANDWIDTH_Tracker *av, struct GNUNET_BANDWIDTH_Value32NBO bytes_per_second_limit) |
| Update quota of bandwidth tracker. | |
Functions related to bandwidth (unit)
Definition in file gnunet_bandwidth_lib.h.