summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/ca/mb-ecn.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/unicast/ca/mb-ecn.h')
-rw-r--r--src/ipcpd/unicast/ca/mb-ecn.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/ipcpd/unicast/ca/mb-ecn.h b/src/ipcpd/unicast/ca/mb-ecn.h
index 1be27764..781e25a8 100644
--- a/src/ipcpd/unicast/ca/mb-ecn.h
+++ b/src/ipcpd/unicast/ca/mb-ecn.h
@@ -25,24 +25,36 @@
#include "ops.h"
+void mb_ecn_init(uint32_t rtt_ms);
+
void * mb_ecn_ctx_create(void);
void mb_ecn_ctx_destroy(void * ctx);
-ca_wnd_t mb_ecn_ctx_update_snd(void * ctx,
- size_t len);
+time_t mb_ecn_ctx_update_snd(void * ctx,
+ size_t len,
+ uint8_t lecn,
+ uint64_t * ftag);
bool mb_ecn_ctx_update_rcv(void * ctx,
size_t len,
uint8_t ecn,
- uint16_t * ece);
+ uint8_t cap,
+ uint16_t * ece,
+ uint8_t * fcap);
void mb_ecn_ctx_update_ece(void * ctx,
- uint16_t ece);
+ uint16_t ece,
+ uint8_t cap);
+
+bool mb_ecn_ctx_hb_due(void * ctx,
+ uint64_t now);
-void mb_ecn_wnd_wait(ca_wnd_t wnd);
+void mb_ecn_ctx_rtt(void * ctx,
+ uint64_t now,
+ uint64_t rtt);
-int mb_ecn_calc_ecn(int fd,
+int mb_ecn_calc_ecn(size_t queued,
uint8_t * ecn,
qoscube_t qc,
size_t len);