- Downloads
tor-cell: Refactor relay cells to copy much less
We now manipulate raw relay cell bodies as (an alias for) `Box<[u8;509]>` rather than as (an alias for) `[u8;509]`. This enables us to do much less copying. It will become more important soon, as we defer parsing relay cell bodies even longer. Related to #7. We also use SliceWriter to avoid allocating a Vec<> for every relay message we want to encode, and instead encode directly into the cell.
parent
9e2b6f3a
Branches
Tags
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- crates/tor-bytes/src/slicewriter.rs 8 additions, 1 deletioncrates/tor-bytes/src/slicewriter.rs
- crates/tor-cell/semver.md 2 additions, 0 deletionscrates/tor-cell/semver.md
- crates/tor-cell/src/chancell.rs 5 additions, 0 deletionscrates/tor-cell/src/chancell.rs
- crates/tor-cell/src/chancell/msg.rs 9 additions, 10 deletionscrates/tor-cell/src/chancell/msg.rs
- crates/tor-cell/src/relaycell.rs 52 additions, 30 deletionscrates/tor-cell/src/relaycell.rs
- crates/tor-cell/tests/test_relaycell.rs 2 additions, 2 deletionscrates/tor-cell/tests/test_relaycell.rs
- crates/tor-proto/Cargo.toml 1 addition, 0 deletionscrates/tor-proto/Cargo.toml
- crates/tor-proto/src/circuit.rs 4 additions, 5 deletionscrates/tor-proto/src/circuit.rs
- crates/tor-proto/src/circuit/reactor.rs 2 additions, 2 deletionscrates/tor-proto/src/circuit/reactor.rs
- crates/tor-proto/src/crypto/cell.rs 8 additions, 18 deletionscrates/tor-proto/src/crypto/cell.rs
Loading
Please sign in to comment
