Joakim Frostegård
f078542ffc
Update TODO
2020-07-19 14:22:26 +02:00
Joakim Frostegård
54e801c6a9
aquatic http: request from path: whitelist url keys for security
...
This way, the non-ddos-resistant hashmap hasher can be kept. Also
improves performance, probably simply because less hashing work
is done:
time: [2.8050 us 2.8156 us 2.8274 us]
change: [-22.940% -22.412% -21.916%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 13:46:36 +02:00
Joakim Frostegård
09d27d5075
Update TODO
2020-07-19 13:27:54 +02:00
Joakim Frostegård
2fe42e7235
update criterion script
2020-07-19 13:26:17 +02:00
Joakim Frostegård
b17c9999f0
aquatic_http: request from path: remove from map to avoid some clones
...
change: [-3.8362% -3.2346% -2.5437%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 13:24:48 +02:00
Joakim Frostegård
ca8d278a03
aquatic_http: parse_key_value_pairs_memchr: small code improvement
2020-07-19 13:06:39 +02:00
Joakim Frostegård
a8e355f22a
aquatic_http: add criterion benchmarks for request from path parsing
...
About 35% improvement by using both memchr methods
2020-07-19 01:58:41 +02:00
Joakim Frostegård
9b0956cc91
aquatic_http: Request::from_http_get_path: add memchar query str parser
2020-07-18 18:40:27 +02:00
Joakim Frostegård
a8900c99ab
Update TODO
2020-07-18 17:55:58 +02:00
Joakim Frostegård
84facea0ca
aquatic_http: add hand-written ScrapeResponse serialization
2020-07-18 17:46:16 +02:00
Joakim Frostegård
17385c92ad
Update TODO
2020-07-18 16:32:28 +02:00
Joakim Frostegård
81708e0adc
aquatic_http: add manual bencoding for announce and failure responses
...
This is more performant
2020-07-18 16:28:42 +02:00
Joakim Frostegård
056cd41732
aquatic_http: add memchr version of urldecode, which might be faster
2020-07-18 06:05:13 +02:00
Joakim Frostegård
f94c52da77
aquatic_http: send_response: use itoa and Vec::with_capacity
...
This leads to fewer allocations and possibly better performance.
2020-07-18 03:05:40 +02:00
Joakim Frostegård
8ddccb20aa
aquatic_http: use new trait Ip for ip generic parameters
2020-07-08 14:22:30 +02:00
Joakim Frostegård
2386dd0e8b
aquatic_http: parameterise many data structures over peer IP protocol
2020-07-08 14:13:10 +02:00
Joakim Frostegård
da4ba14b47
aquatic_http: EstablishedConnection.send_response: fix small bug
2020-07-08 12:28:46 +02:00
Joakim Frostegård
43a33d80c4
aquatic_http: add ipv6 compact responses; fix ipv4/ipv6 issue
2020-07-08 12:26:41 +02:00
Joakim Frostegård
5ff00e866d
Update TODO
2020-07-08 11:07:41 +02:00
Joakim Frostegård
97a84a2a03
Update TODO
2020-07-08 10:08:25 +02:00
Joakim Frostegård
fb4b190173
Update TODO
2020-07-05 20:33:31 +02:00
Joakim Frostegård
c53c3928ab
aquatic_http: fix clippy error, or at least log possible error
2020-07-05 20:33:24 +02:00
Joakim Frostegård
b65297195a
aquatic_http, aquatic_common_tcp: fix some clippy warnings
2020-07-05 20:22:03 +02:00
Joakim Frostegård
8269ae2994
aquatic_http: remove (no longer used) dependency serde_urlencoded
2020-07-05 19:50:52 +02:00
Joakim Frostegård
8391cb4bd5
Update TODO
2020-07-05 19:49:13 +02:00
Joakim Frostegård
b1c11e2d0c
Fix typo in README
2020-07-05 19:47:20 +02:00
Joakim Frostegård
9443082575
Update TODO with info about connection obfuscation extension
2020-07-04 19:58:26 +02:00
Joakim Frostegård
76a340574e
aquatic_http: debug log StreamEnded, keep connection on parse error
2020-07-04 19:38:37 +02:00
Joakim Frostegård
3d0de73873
Update TODO
2020-07-04 15:07:33 +02:00
Joakim Frostegård
8ebfb1d0ce
aquatic_http network: avoid infinite loop case; minor other changes
2020-07-04 15:04:31 +02:00
Joakim Frostegård
656efc7d4e
Update TODO
2020-07-04 13:55:15 +02:00
Joakim Frostegård
ccafdc5cd3
aquatic_http: clean up clode
2020-07-04 13:51:43 +02:00
Joakim Frostegård
d48573a28e
aquatic_http: network: update inline hints, format code
2020-07-04 13:47:47 +02:00
Joakim Frostegård
c28e764929
aquatic_http: add Connection methods, enabling making 'inner' private
2020-07-04 13:35:52 +02:00
Joakim Frostegård
1ea1f0b749
aquatic_http: in Connection.inner, replace Either with new enum
2020-07-04 13:28:55 +02:00
Joakim Frostegård
73b1646c71
aquatic_http: refactor TlsHandshakeMachine, adding error type
2020-07-04 13:10:57 +02:00
Joakim Frostegård
acf5ee5af1
Update TODO
2020-07-04 12:39:35 +02:00
Joakim Frostegård
829701f4da
aquatic_http: debug-log request GET path, use debug mode for bytes read
2020-07-04 12:38:30 +02:00
Joakim Frostegård
db51454c6d
Update TODO
2020-07-04 12:01:32 +02:00
Joakim Frostegård
c50dec3496
aquatic_http: add PeerMapKey with PeerID and Either<Ip, announce key>
2020-07-04 12:00:36 +02:00
Joakim Frostegård
73807baacb
Update TODO
2020-07-04 11:32:06 +02:00
Joakim Frostegård
2f2da8deb0
aquatic_http: AnnounceRequest: make numwant optional, remove trackerid
2020-07-04 11:20:58 +02:00
Joakim Frostegård
6b7ce0e211
aquatic_http: error response on invalid request; rename response types
2020-07-04 11:08:48 +02:00
Joakim Frostegård
60faf2da3f
Update TODO
2020-07-03 18:41:10 +02:00
Joakim Frostegård
15c75579da
aquatic_http request url decode: reject some invalid data
2020-07-03 17:54:59 +02:00
Joakim Frostegård
919b846775
Update TODO
2020-07-03 17:45:41 +02:00
Joakim Frostegård
c2f79aa368
aquatic_http: reduce allocations in Request::urldecode
2020-07-03 17:43:34 +02:00
Joakim Frostegård
7419c51434
aquatic_http protocol: refactor into more submodules, other fixes
2020-07-03 17:25:31 +02:00
Joakim Frostegård
52cc7d8acb
aquatic_http: write custom deserialize logic for Request
2020-07-03 17:10:30 +02:00
Joakim Frostegård
501c2a293a
Update TODO
2020-07-03 15:32:06 +02:00