33#include "xtc_export.h"
40typedef struct xtc_credit xtc_credit_t;
55XTC_API
int xtc_credit_create(
unsigned window, xtc_credit_t **out);
56XTC_API
void xtc_credit_destroy(xtc_credit_t *c);
61XTC_API
int xtc_credit_acquire(xtc_credit_t *c, int64_t timeout_ns);
64XTC_API
int xtc_credit_try_acquire(xtc_credit_t *c);
69XTC_API
int xtc_credit_release(xtc_credit_t *c);
72XTC_API
unsigned xtc_credit_in_flight(
const xtc_credit_t *c);
76XTC_API
unsigned xtc_credit_peak(
const xtc_credit_t *c);
79XTC_API
unsigned xtc_credit_window(
const xtc_credit_t *c);