├── .cargo └── config.toml ├── .config └── nextest.toml ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE ├── README.md ├── benches ├── data │ ├── large_size.txt │ ├── medium_size.txt │ └── small_size.txt └── micro.rs ├── codecov.yml ├── examples ├── controller.rs ├── proxy.rs └── tracing.rs ├── justfile ├── rust-toolchain ├── rustfmt.toml ├── src ├── client │ ├── conn │ │ ├── mod.rs │ │ └── tokio.rs │ ├── handler │ │ ├── mod.rs │ │ ├── offline.rs │ │ └── online.rs │ └── mod.rs ├── codec │ ├── decoder │ │ ├── body.rs │ │ ├── dedup.rs │ │ ├── fragment.rs │ │ ├── mod.rs │ │ └── ordered.rs │ ├── encoder │ │ ├── body.rs │ │ ├── fragment.rs │ │ └── mod.rs │ ├── frame.rs │ ├── mod.rs │ └── tokio.rs ├── congestion │ ├── bbr.rs │ ├── cubic.rs │ ├── legacy.rs │ └── mod.rs ├── errors.rs ├── estimator.rs ├── lib.rs ├── link.rs ├── opts.rs ├── packet │ ├── connected │ │ ├── ack.rs │ │ ├── frame_set.rs │ │ └── mod.rs │ ├── mod.rs │ └── unconnected.rs ├── reliable.rs ├── server │ ├── handler │ │ ├── mod.rs │ │ ├── offline.rs │ │ └── online.rs │ ├── incoming │ │ ├── mod.rs │ │ └── tokio.rs │ └── mod.rs ├── state.rs ├── tests.rs └── utils │ ├── bit_queue.rs │ ├── fastrace.rs │ ├── hash.rs │ ├── log.rs │ ├── mod.rs │ ├── reactor.rs │ ├── seq_num.rs │ └── tests │ ├── flusher.rs │ ├── mod.rs │ ├── sim_net.rs │ └── tracing.rs └── xdp ├── ebpf ├── .cargo │ └── config.toml ├── Cargo.toml └── src │ ├── buffer.rs │ ├── inet │ ├── ecn.rs │ ├── ethernet.rs │ ├── ip.rs │ ├── ipv4.rs │ ├── ipv6.rs │ ├── mod.rs │ ├── udp.rs │ └── zerocopy.rs │ └── main.rs └── raknet-xdp ├── Cargo.toml ├── bindings └── input.h ├── build.rs └── src ├── bindings.rs ├── if_xdp.rs ├── io ├── mod.rs ├── rx.rs └── tx.rs ├── lib.rs ├── mmap.rs ├── socket.rs ├── syscall.rs └── umem.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.'cfg(all())'] 2 | rustflags = ["--cfg", "tokio_unstable"] 3 | -------------------------------------------------------------------------------- /.config/nextest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/.config/nextest.toml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/README.md -------------------------------------------------------------------------------- /benches/data/large_size.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/benches/data/large_size.txt -------------------------------------------------------------------------------- /benches/data/medium_size.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/benches/data/medium_size.txt -------------------------------------------------------------------------------- /benches/data/small_size.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/benches/data/small_size.txt -------------------------------------------------------------------------------- /benches/micro.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/benches/micro.rs -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/codecov.yml -------------------------------------------------------------------------------- /examples/controller.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/examples/controller.rs -------------------------------------------------------------------------------- /examples/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/examples/proxy.rs -------------------------------------------------------------------------------- /examples/tracing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/examples/tracing.rs -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/justfile -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | nightly-2025-01-01 2 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/client/conn/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/conn/mod.rs -------------------------------------------------------------------------------- /src/client/conn/tokio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/conn/tokio.rs -------------------------------------------------------------------------------- /src/client/handler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/handler/mod.rs -------------------------------------------------------------------------------- /src/client/handler/offline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/handler/offline.rs -------------------------------------------------------------------------------- /src/client/handler/online.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/handler/online.rs -------------------------------------------------------------------------------- /src/client/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/client/mod.rs -------------------------------------------------------------------------------- /src/codec/decoder/body.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/decoder/body.rs -------------------------------------------------------------------------------- /src/codec/decoder/dedup.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/decoder/dedup.rs -------------------------------------------------------------------------------- /src/codec/decoder/fragment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/decoder/fragment.rs -------------------------------------------------------------------------------- /src/codec/decoder/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/decoder/mod.rs -------------------------------------------------------------------------------- /src/codec/decoder/ordered.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/decoder/ordered.rs -------------------------------------------------------------------------------- /src/codec/encoder/body.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/encoder/body.rs -------------------------------------------------------------------------------- /src/codec/encoder/fragment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/encoder/fragment.rs -------------------------------------------------------------------------------- /src/codec/encoder/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/encoder/mod.rs -------------------------------------------------------------------------------- /src/codec/frame.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/frame.rs -------------------------------------------------------------------------------- /src/codec/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/mod.rs -------------------------------------------------------------------------------- /src/codec/tokio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/codec/tokio.rs -------------------------------------------------------------------------------- /src/congestion/bbr.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/congestion/cubic.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/congestion/legacy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/congestion/legacy.rs -------------------------------------------------------------------------------- /src/congestion/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/congestion/mod.rs -------------------------------------------------------------------------------- /src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/errors.rs -------------------------------------------------------------------------------- /src/estimator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/estimator.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/link.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/link.rs -------------------------------------------------------------------------------- /src/opts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/opts.rs -------------------------------------------------------------------------------- /src/packet/connected/ack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/packet/connected/ack.rs -------------------------------------------------------------------------------- /src/packet/connected/frame_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/packet/connected/frame_set.rs -------------------------------------------------------------------------------- /src/packet/connected/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/packet/connected/mod.rs -------------------------------------------------------------------------------- /src/packet/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/packet/mod.rs -------------------------------------------------------------------------------- /src/packet/unconnected.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/packet/unconnected.rs -------------------------------------------------------------------------------- /src/reliable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/reliable.rs -------------------------------------------------------------------------------- /src/server/handler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/handler/mod.rs -------------------------------------------------------------------------------- /src/server/handler/offline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/handler/offline.rs -------------------------------------------------------------------------------- /src/server/handler/online.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/handler/online.rs -------------------------------------------------------------------------------- /src/server/incoming/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/incoming/mod.rs -------------------------------------------------------------------------------- /src/server/incoming/tokio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/incoming/tokio.rs -------------------------------------------------------------------------------- /src/server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/server/mod.rs -------------------------------------------------------------------------------- /src/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/state.rs -------------------------------------------------------------------------------- /src/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/tests.rs -------------------------------------------------------------------------------- /src/utils/bit_queue.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/bit_queue.rs -------------------------------------------------------------------------------- /src/utils/fastrace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/fastrace.rs -------------------------------------------------------------------------------- /src/utils/hash.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/hash.rs -------------------------------------------------------------------------------- /src/utils/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/log.rs -------------------------------------------------------------------------------- /src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/mod.rs -------------------------------------------------------------------------------- /src/utils/reactor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/reactor.rs -------------------------------------------------------------------------------- /src/utils/seq_num.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/seq_num.rs -------------------------------------------------------------------------------- /src/utils/tests/flusher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/tests/flusher.rs -------------------------------------------------------------------------------- /src/utils/tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/tests/mod.rs -------------------------------------------------------------------------------- /src/utils/tests/sim_net.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/tests/sim_net.rs -------------------------------------------------------------------------------- /src/utils/tests/tracing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/src/utils/tests/tracing.rs -------------------------------------------------------------------------------- /xdp/ebpf/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/.cargo/config.toml -------------------------------------------------------------------------------- /xdp/ebpf/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/Cargo.toml -------------------------------------------------------------------------------- /xdp/ebpf/src/buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/buffer.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/ecn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/ecn.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/ethernet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/ethernet.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/ip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/ip.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/ipv4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/ipv4.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/ipv6.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/ipv6.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/mod.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/udp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/udp.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/inet/zerocopy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/inet/zerocopy.rs -------------------------------------------------------------------------------- /xdp/ebpf/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/ebpf/src/main.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/Cargo.toml -------------------------------------------------------------------------------- /xdp/raknet-xdp/bindings/input.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /xdp/raknet-xdp/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/build.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/bindings.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/bindings.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/if_xdp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/if_xdp.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/io/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/io/mod.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/io/rx.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/io/tx.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/lib.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/mmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/mmap.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/socket.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/syscall.rs -------------------------------------------------------------------------------- /xdp/raknet-xdp/src/umem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MemoriesOfTime/raknet-rs/HEAD/xdp/raknet-xdp/src/umem.rs --------------------------------------------------------------------------------