summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/ca/ops.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/unicast/ca/ops.h')
-rw-r--r--src/ipcpd/unicast/ca/ops.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/ipcpd/unicast/ca/ops.h b/src/ipcpd/unicast/ca/ops.h
index 6d2ddf1d..a86c1b3b 100644
--- a/src/ipcpd/unicast/ca/ops.h
+++ b/src/ipcpd/unicast/ca/ops.h
@@ -30,24 +30,30 @@ struct ca_ops {
void (* ctx_destroy)(void * ctx);
- ca_wnd_t (* ctx_update_snd)(void * ctx,
- size_t len);
+ time_t (* ctx_update_snd)(void * ctx,
+ size_t len,
+ uint8_t lecn,
+ uint64_t * ftag);
bool (* ctx_update_rcv)(void * ctx,
size_t len,
uint8_t ecn,
- uint16_t * ece);
+ uint8_t cap,
+ uint16_t * ece,
+ uint8_t * fcap);
void (* ctx_update_ece)(void * ctx,
- uint16_t ece);
-
- void (* wnd_wait)(ca_wnd_t wnd);
+ uint16_t ece,
+ uint8_t cap);
- int (* calc_ecn)(int fd,
+ int (* calc_ecn)(size_t queued,
uint8_t * ecn,
qoscube_t qc,
size_t len);
+ /* True if calc_ecn inspects the queue; gates the lookup. */
+ bool marks_ecn;
+
/* Optional, can be NULL */
ssize_t (* print_stats)(void * ctx,
char * buf,