Joakim Frostegård
fb607ac0c2
Improve CPU pinning
2022-03-30 22:53:15 +02:00
Joakim Frostegård
d78b0fa31e
Bump version to 0.2.0 for all aquatic crates
2022-03-26 11:39:37 +01:00
Joakim Frostegård
90437e23bb
Cargo.toml files: add readme keys, remove some exclude keys
2022-03-26 11:39:04 +01:00
Joakim Frostegård
f5b1cd5525
Add command-line option for printing version and commit info
2022-03-24 16:17:17 +01:00
Joakim Frostegård
a9f1aeb70c
Add crate keywords, update descriptions
2022-03-20 20:41:56 +01:00
Joakim Frostegård
83987563ec
udp: replace dependency "chrono" with "time"
2022-03-20 19:57:44 +01:00
Joakim Frostegård
5176b18ef9
common: rename AHashIndexMap to AmortizedIndexMap
2022-03-20 19:42:46 +01:00
Joakim Frostegård
e938351a9e
udp: set default max_scrape_torrents=70, max_response_peers=50
2022-02-20 01:47:03 +01:00
Joakim Frostegård
3785e57513
Sort dependencies in Cargo.toml files
2022-02-20 01:44:34 +01:00
Joakim Frostegård
903010dbe1
udp: use action 1 for IPv6 announce responses; refactor protocol code
...
According to BEP015, action 1 is to be used.
2022-02-20 01:35:24 +01:00
Joakim Frostegård
8e7f8425f9
udp: default to 120s max_connection_age, since it is in BEP0015
2022-02-20 00:48:58 +01:00
Joakim Frostegård
14a4c10546
s/toml_config/aquatic_toml_config/
2022-02-19 15:11:00 +01:00
Joakim Frostegård
5e8777d2e2
udp, http: remove unused parking_lot dependency
2022-02-19 14:13:27 +01:00
Joakim Frostegård
29ea935744
udp: request workers: use config.statistics.active()
2022-02-19 14:09:24 +01:00
Joakim Frostegård
91dcd3de4d
Add CanonicalSocketAddr struct ( #49 )
...
* Add CanonicalSocketAddr struct to aquatic_common, use in aquatic_udp
* udp_bench: fix build error by using CanonicalSocketAddr
2022-02-02 22:34:54 +01:00
Joakim Frostegård
0d3c6111ca
udp: run cargo fmt
2022-01-13 19:21:53 +01:00
Joakim Frostegård
f0dc7c19f3
udp: show separate statistics for all response types
2022-01-13 19:16:25 +01:00
Joakim Frostegård
00c4e74374
udp: use slab for pending scrape responses to fix potential issue
...
Peers sometimes send multiple scrape requests with the same transaction
id, which would previously cause warnings due to replacing the
PendingScrapeMapEntry and later not finding it.
2022-01-13 18:35:41 +01:00
Joakim Frostegård
700dd68d2c
udp scrape improvements ( #43 )
...
* udp_protocol: forbid full scrapes
* udp: improve PendingScrapeResponseMap logging
* udp: PendingScrapeResponseMap: store less data, improve logging
* udp: PendingScrapeResponseMap: log if replacing entry on insert
* udp: PendingScrapeResponseMap: use remote addr in key
* Run cargo fmt
* README: update copyright end year
* udp: move scrape request splitting logic into PendingScrapeResponseMap
* udp: add quickcheck test test_pending_scrape_response_map
* udp protocol: fix failing test_scrape_request_convert_identity
2022-01-06 11:48:16 +01:00
Joakim Frostegård
e5a1461613
udp: include ConnectionId in PendingScrapeResponseMap key ( #42 )
2021-12-28 03:16:15 +01:00
Joakim Frostegård
a208775104
Include documentation in printed config files ( #41 )
...
* Start work on printing toml config with comments
* WIP: toml_config: extract default values for fields
* WIP: toml_config: handle single-level nested structs
* WIP: toml_config: improve comment handling, std type trait impls
* WIP: toml_config: add Private trait, improve comment handling, clean up
* toml_config: fix default value bug; improve tests
* Use toml_config in all applicable crates; add toml_config enum support
* toml_config: improve comments
* toml_config_derive: support enum comments
* Improve config comments for udp, cli_helpers, common
* Improve config comments
* Add tests for Config struct TomlConfig implementations
* Improve Config comments
* Improve Config comments
* ws, http: add config comments for tls cert and private key lines
* small fixes to toml_config and toml_config_derive
* Run cargo fmt
* Fix typo in several config comments
* Update README
* Update README
2021-12-26 11:33:27 +01:00
Joakim Frostegård
aaa00a53ce
udp: statistics html: don't display link to repo
2021-12-22 00:31:37 +01:00
Joakim Frostegård
f531a246b0
udp: support writing statistics html report to file
2021-12-21 23:16:48 +01:00
Joakim Frostegård
7892e6f508
udp: move TorrentMap and related types to workers/request.rs
2021-11-29 21:03:47 +01:00
Joakim Frostegård
dd573cdb30
Run cargo fmt
2021-11-28 22:11:21 +01:00
Joakim Frostegård
125d3c49d6
udp: config: rename channel_recv_timeout_ms and move to root, add docs
2021-11-28 22:10:29 +01:00
Joakim Frostegård
2fe57b9f67
udp: add config key worker_channel_size to enable bounded channels
2021-11-28 21:59:11 +01:00
Joakim Frostegård
aa3253fcd6
udp: use idiomatic folder structure (lib.rs + main.rs in src)
2021-11-27 18:17:25 +01:00
Joakim Frostegård
b9bc5a2aa4
udp: request worker: use ValidUntil::new_with_now
2021-11-27 18:12:19 +01:00
Joakim Frostegård
d565c6e046
udp: socket worker: only create access list cache once
2021-11-27 18:11:08 +01:00
Joakim Frostegård
473276cd46
Switch to rust edition 2021
2021-11-24 18:56:26 +01:00
Joakim Frostegård
2f15b2cc8e
udp: make tracker-side statistics more accurate
2021-11-21 20:39:27 +01:00
Joakim Frostegård
3a4056058b
udp: statistics: properly handle ipv4-mapped ipv6 addresses
2021-11-21 20:16:17 +01:00
Joakim Frostegård
f001c69dc7
udp: statistics: print only for active protocols
2021-11-21 20:09:39 +01:00
Joakim Frostegård
f68bbff700
udp: split statistics by ipv4/ipv6
2021-11-21 20:04:18 +01:00
Joakim Frostegård
34f263f6b9
udp: new file structure: each worker types is submod of workers mod
2021-11-21 19:39:44 +01:00
Joakim Frostegård
a1243c59d6
udp: avoid Ordering::SeqCst for atomic operations
2021-11-19 12:30:05 +01:00
Joakim Frostegård
2c336793b1
udp: statistics: improve atomic usize vec sum code
2021-11-19 12:22:11 +01:00
Joakim Frostegård
c78716153b
udp: statistics: show number of peers
2021-11-19 12:17:39 +01:00
Joakim Frostegård
59e95894b9
udp: statistics: show number of torrents and access list len
2021-11-19 12:04:16 +01:00
Joakim Frostegård
fee3c9ca4e
Update mio to version 0.8
2021-11-19 03:01:03 +01:00
Joakim Frostegård
028a366ce5
Don't unnecessarily constrain crate versions in Cargo.toml files
2021-11-19 02:45:53 +01:00
Joakim Frostegård
dc841ef0de
udp: add config setting for network poll timeout
2021-11-19 01:23:41 +01:00
Joakim Frostegård
029193b512
udp: network: check less often if periodic tasks need to be done
2021-11-19 01:20:39 +01:00
Joakim Frostegård
a530dc2860
udp: network: update ValidUntil structs less often
2021-11-19 01:18:58 +01:00
Joakim Frostegård
9c919a6ecb
udp: clean pending scrape map
2021-11-19 01:10:37 +01:00
Joakim Frostegård
2e7c8ac904
udp: reorder code in network.rs for better readability
2021-11-19 00:59:52 +01:00
Joakim Frostegård
07b959c9d4
udp: run cargo fmt
2021-11-18 22:42:37 +01:00
Joakim Frostegård
210550c719
udp: restructure config.rs for better readability
2021-11-18 22:42:37 +01:00
Joakim Frostegård
8dd9177c40
udp: clean up common file, move some code to other files
2021-11-18 22:42:37 +01:00