aboutsummaryrefslogtreecommitdiff
path: root/src/trunnel/flow_control_cells.trunnel
blob: 9d07b568a919dc29739892232424de58583b7f87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* This file contains the xon and xoff cell definitions, for flow control. */

/* xoff cell definition. Tells the other endpoint to stop sending, because
 * we have too much data queued for this stream. */
struct xoff_cell {
  /* Version field. */
  u8 version IN [0x00];
}

/* xon cell declaration. Tells the other endpoint to resume sending and/or
 * update its sending rate on this stream based on advisory information. */
struct xon_cell {
  /* Version field. */
  u8 version IN [0x00];

  /* Advisory field: The ewma rate of socket drain we have seen so far
   * on this stream, in kilobytes/sec (1000 bytes/sec). May be zero,
   * which means no rate advice. */
  u32 kbps_ewma;
}