#include "gnunet_common.h"
#include "gnunet_time_lib.h"
+GNUNET_NETWORK_STRUCT_BEGIN
+
/**
* 32-bit bandwidth used for network exchange by GNUnet, in bytes per second.
*/
*/
uint32_t value__ GNUNET_PACKED;
};
-
+GNUNET_NETWORK_STRUCT_END
/**
* Struct to track available bandwidth. Combines a time stamp with a
GNUNET_BANDWIDTH_value_init (uint32_t bytes_per_second);
+/**
+ * Maximum possible bandwidth value.
+ */
+#define GNUNET_BANDWIDTH_VALUE_MAX GNUNET_BANDWIDTH_value_init(UINT32_MAX)
+
+
/**
* At the given bandwidth, calculate how much traffic will be
* available until the given deadline.
* @param deadline when is the deadline
* @return number of bytes available at bps until deadline
*/
-uint64_t
-GNUNET_BANDWIDTH_value_get_available_until (struct GNUNET_BANDWIDTH_Value32NBO bps,
- struct GNUNET_TIME_Relative deadline);
+uint64_t
+GNUNET_BANDWIDTH_value_get_available_until (struct GNUNET_BANDWIDTH_Value32NBO
+ bps,
+ struct GNUNET_TIME_Relative
+ deadline);
/**
*/
struct GNUNET_TIME_Relative
GNUNET_BANDWIDTH_value_get_delay_for (struct GNUNET_BANDWIDTH_Value32NBO bps,
- uint64_t size);
+ uint64_t size);
*/
struct GNUNET_BANDWIDTH_Value32NBO
GNUNET_BANDWIDTH_value_min (struct GNUNET_BANDWIDTH_Value32NBO b1,
- struct GNUNET_BANDWIDTH_Value32NBO b2);
+ struct GNUNET_BANDWIDTH_Value32NBO b2);
/**
*/
void
GNUNET_BANDWIDTH_tracker_init (struct GNUNET_BANDWIDTH_Tracker *av,
- struct GNUNET_BANDWIDTH_Value32NBO bytes_per_second_limit,
- uint32_t max_carry_s);
+ struct GNUNET_BANDWIDTH_Value32NBO
+ bytes_per_second_limit, uint32_t max_carry_s);
/**
*/
int
GNUNET_BANDWIDTH_tracker_consume (struct GNUNET_BANDWIDTH_Tracker *av,
- ssize_t size);
+ ssize_t size);
/**
*/
struct GNUNET_TIME_Relative
GNUNET_BANDWIDTH_tracker_get_delay (struct GNUNET_BANDWIDTH_Tracker *av,
- size_t size);
+ size_t size);
/**
* @param av tracker to query
* @return number of bytes available for consumption right now
*/
-int64_t
+int64_t
GNUNET_BANDWIDTH_tracker_get_available (struct GNUNET_BANDWIDTH_Tracker *av);
*/
void
GNUNET_BANDWIDTH_tracker_update_quota (struct GNUNET_BANDWIDTH_Tracker *av,
- struct GNUNET_BANDWIDTH_Value32NBO bytes_per_second_limit);
+ struct GNUNET_BANDWIDTH_Value32NBO
+ bytes_per_second_limit);
#if 0 /* keep Emacsens' auto-indent happy */