mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 10:15:31 +00:00
Update README.md
This commit is contained in:
parent
9e631ec5ce
commit
daf1c67027
1 changed files with 12 additions and 12 deletions
24
README.md
24
README.md
|
|
@ -16,18 +16,6 @@ Copyright (c) 2020-2021 Joakim Frostegård
|
||||||
|
|
||||||
Distributed under Apache 2.0 license (details in `LICENSE` file.)
|
Distributed under Apache 2.0 license (details in `LICENSE` file.)
|
||||||
|
|
||||||
## Technical overview of tracker design
|
|
||||||
|
|
||||||
One or more socket workers open sockets, read and parse requests from peers and
|
|
||||||
send them through channels to request workers. The request workers go through
|
|
||||||
the requests, update shared internal tracker state as appropriate and generate
|
|
||||||
responses that are sent back to the socket workers. The responses are then
|
|
||||||
serialized and sent back to the peers.
|
|
||||||
|
|
||||||
This design means little waiting for locks on internal state occurs,
|
|
||||||
while network work can be efficiently distributed over multiple threads,
|
|
||||||
making use of SO_REUSEPORT setting.
|
|
||||||
|
|
||||||
## Installation prerequisites
|
## Installation prerequisites
|
||||||
|
|
||||||
- Install Rust with [rustup](https://rustup.rs/) (stable is recommended)
|
- Install Rust with [rustup](https://rustup.rs/) (stable is recommended)
|
||||||
|
|
@ -193,6 +181,18 @@ corresponding load test binary:
|
||||||
To fairly compare HTTP performance to opentracker, set keepalive to false in
|
To fairly compare HTTP performance to opentracker, set keepalive to false in
|
||||||
`aquatic_http` settings.
|
`aquatic_http` settings.
|
||||||
|
|
||||||
|
## Architectural overview
|
||||||
|
|
||||||
|
One or more socket workers open sockets, read and parse requests from peers and
|
||||||
|
send them through channels to request workers. The request workers go through
|
||||||
|
the requests, update shared internal tracker state as appropriate and generate
|
||||||
|
responses that are sent back to the socket workers. The responses are then
|
||||||
|
serialized and sent back to the peers.
|
||||||
|
|
||||||
|
This design means little waiting for locks on internal state occurs,
|
||||||
|
while network work can be efficiently distributed over multiple threads,
|
||||||
|
making use of SO_REUSEPORT setting.
|
||||||
|
|
||||||
## Trivia
|
## Trivia
|
||||||
|
|
||||||
The tracker is called aquatic because it thrives under a torrent of bits ;-)
|
The tracker is called aquatic because it thrives under a torrent of bits ;-)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue