Bep 6 fast extension 13397060133053203187#581
Open
gogobaba501-creator wants to merge 4 commits into
Open
Conversation
Implemented BEP-6 Fast Extension for BitTorrent protocol: - Extended `PeerMessage` with Fast Extension IDs (13-17) and updated serialization logic. - Managed `0x04` bit flag negotiation correctly in initial Handshake. - Integrated lightweight memory optimizations inside `PeerHandler` to substitute zero-copy implementations for `Have All` and `Have None` signals natively. - Rewrote the peer piece acquisition flow by incorporating O(1) Local `suggested_pieces` checking specifically over globally blocking `ChunkTracker` prioritization routines. - Integrated robust support for checking `allowed_fast` limits dynamically around choked environments. - Properly deregistered asynchronous state limits and cleared explicit chunk targets using `unmark_chunk_downloaded` upon connection receiving `RejectRequest` ensuring TCP drops immediately without forcing entire file blocks to re-hash or drop using the invalid legacy `mark_piece_hash_failed` sequence. Co-authored-by: gogobaba501-creator <279168786+gogobaba501-creator@users.noreply.github.com>
Implemented BEP-48 (Tracker Scrape Protocol) inside `tracker_comms`: - Refactored `http_scrape` implementation natively mutating existing `/announce` parameters natively utilizing Tokio/reqwest parsing securely parsing dictionary bencode output cleanly mapping to stack-allocated `[u8; 20]` tracking hashes avoiding allocations. - Extended UDP protocol packing algorithms securely with `Action::Scrape` matching BEP-15 sequences safely extracting chunk segments iterating out 12-byte tracking `[seeders, completed, leechers]` tuples sequentially. - Enabled aggregated batching bounds securely distributing hash limits out across independent query lists bounded efficiently by the standard `<74` hash array restriction maintaining safe UDP payload thresholds natively. - Enforced strict Tokio integration replacing synchronous socket resolvers with safe `tokio::net::lookup_host` bindings resolving UDP sockets natively. Co-authored-by: gogobaba501-creator <279168786+gogobaba501-creator@users.noreply.github.com>
Implemented a robust high-performance Tokio binary RPC router over raw `tokio::net::TcpStream` with TCP keep-alive enforcement. - Integrated zero-copy framing extraction mapping binary structures explicitly into `[u8; 20]` info_hash mappings. - Safely routed `tokio-util::codec::LengthDelimitedCodec` boundaries without unneeded heap allocations or copies. - Connected runtime commands directly into `librqbit` execution contexts. Exposed `AssignTorrent`, `Pause`, and dynamically evaluated `RequestTelemetry` iterating globally through active `ChunkTracker` statistics and speed vectors tightly packing responses into deterministic frame constraints securely skipping HTTP overhead. Co-authored-by: gogobaba501-creator <279168786+gogobaba501-creator@users.noreply.github.com>
Implemented a robust high-performance Tokio binary RPC router over raw `tokio::net::TcpStream` with TCP keep-alive enforcement. - Integrated zero-copy framing extraction mapping binary structures explicitly into `[u8; 20]` info_hash mappings. - Safely routed `tokio-util::codec::LengthDelimitedCodec` boundaries without unneeded heap allocations or copies. - Connected runtime commands directly into `librqbit` execution contexts. Exposed `AssignTorrent`, `Pause`, and dynamically evaluated `RequestTelemetry` iterating globally through active `ChunkTracker` statistics and speed vectors tightly packing responses into deterministic frame constraints securely skipping HTTP overhead. Co-authored-by: gogobaba501-creator <279168786+gogobaba501-creator@users.noreply.github.com>
Open
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.