1pub(crate) mod msghandler;
4
5use tor_cell::relaycell::RelayCmd;
6
7pub(crate) fn cmd_counts_towards_seqno(cmd: RelayCmd) -> bool {
9 match cmd {
11 RelayCmd::BEGIN | RelayCmd::DATA | RelayCmd::END | RelayCmd::CONNECTED => true,
13
14 RelayCmd::SENDME
16 | RelayCmd::EXTEND
17 | RelayCmd::EXTENDED
18 | RelayCmd::TRUNCATE
19 | RelayCmd::TRUNCATED
20 | RelayCmd::DROP => false,
21
22 RelayCmd::RESOLVE | RelayCmd::RESOLVED => true,
24
25 RelayCmd::BEGIN_DIR
27 | RelayCmd::EXTEND2
28 | RelayCmd::EXTENDED2
29 | RelayCmd::ESTABLISH_INTRO
30 | RelayCmd::ESTABLISH_RENDEZVOUS
31 | RelayCmd::INTRODUCE1
32 | RelayCmd::INTRODUCE2
33 | RelayCmd::RENDEZVOUS1
34 | RelayCmd::RENDEZVOUS2
35 | RelayCmd::INTRO_ESTABLISHED
36 | RelayCmd::RENDEZVOUS_ESTABLISHED
37 | RelayCmd::INTRODUCE_ACK
38 | RelayCmd::PADDING_NEGOTIATE
39 | RelayCmd::PADDING_NEGOTIATED => false,
40
41 RelayCmd::XOFF | RelayCmd::XON => true,
43
44 RelayCmd::CONFLUX_SWITCH
47 | RelayCmd::CONFLUX_LINK
48 | RelayCmd::CONFLUX_LINKED
49 | RelayCmd::CONFLUX_LINKED_ACK => false,
50
51 _ => {
52 tracing::warn!("Conflux asked to multiplex unknown relay command {cmd}");
53 false
54 }
55 }
56}