Joakim Frostegård
acc1a0fd74
aquatic_ws: update tests to use simd-json
2020-08-12 05:14:27 +02:00
Joakim Frostegård
8c4d3e5cb9
Update TODO
2020-08-12 04:45:54 +02:00
Joakim Frostegård
6f955235ea
aquatic http: log at debug level for unrecognized keys in request parse
...
"downloaded" and "uploaded" occur all the time since they are
part of the specification
2020-08-12 04:38:47 +02:00
Joakim Frostegård
bc5cd90371
aquatic http: use serde_bencode for deserialization
...
bendy seems not to manage lack of trailing newline
2020-08-12 04:26:09 +02:00
Joakim Frostegård
7a96313173
aquatic_http_protocol: send host header for scrape requests too
2020-08-12 04:23:26 +02:00
Joakim Frostegård
e6a74c5bfe
aquatic http load test: send Host header, downloaded&uploaded keys
2020-08-12 04:08:43 +02:00
Joakim Frostegård
01a3e7795a
aquatic ws load test: set default num_connections to 16
2020-08-12 01:38:29 +02:00
Joakim Frostegård
884a2aa67d
aquatic ws: deserialize OutMessage properly
...
Performance seems to be about the same
2020-08-12 01:24:28 +02:00
Joakim Frostegård
dea88020a5
aquatic ws load test: use longer json value when sending answer
2020-08-12 00:52:07 +02:00
Joakim Frostegård
0c168404db
aquatic ws load test: add offers_per_request config var, default 10
2020-08-12 00:42:21 +02:00
Joakim Frostegård
cff9b44a7f
move RUSTFLAGS gen to own file instead of setting in each script
2020-08-12 00:28:03 +02:00
Joakim Frostegård
b3caa7ab7b
Update TODO
2020-08-12 00:20:00 +02:00
Joakim Frostegård
29e3d695a0
Update TODO
2020-08-12 00:13:36 +02:00
Joakim Frostegård
9af4e4663d
aquatic_ws: send responses for every event, wake mio for responses
2020-08-11 23:58:00 +02:00
Joakim Frostegård
de1a299f1e
aquatic_ws: InMessage::to_ws_message: don't take ownership
2020-08-11 23:24:46 +02:00
Joakim Frostegård
63e5fe11c9
aquatic http protocol: delete obsoleted bench_request_from_path
2020-08-11 23:06:05 +02:00
Joakim Frostegård
f2d697011b
Don't use target-cpu native etc in scripts/test.sh
2020-08-11 23:04:28 +02:00
Joakim Frostegård
56bc028a44
aquatic_ws: OutMessage and InMessage simd-json fixes
...
* use simd-json in OutMessage deserialization
* take ownership in InMessage deserialization to avoid bugs
* Update benchmark results, benchmark was broken
* Compile simd-json even if simd is not on, so that rust-analyzer
works
2020-08-11 23:02:19 +02:00
Joakim Frostegård
8dfe524421
Update TODO
2020-08-11 06:45:47 +02:00
Joakim Frostegård
5d40954936
aquatic_ws: deserialize InMessage with simd-json for performance
...
From 18% to 13% CPU time during load test run.
Criterion benchmark of deserialization got about 90% improvement.
2020-08-11 06:32:51 +02:00
Joakim Frostegård
539cf03f93
Update README (aquatic http load test section)
2020-08-11 06:31:09 +02:00
Joakim Frostegård
99724c7e5d
aquatic_ws: add bench for InMessage::from_ws_message, take ws msg by ref
2020-08-11 05:36:29 +02:00
Joakim Frostegård
74a538963f
aquatic_http_protocol: urlencode/urldecode Request.key
...
About 11% performance regression for Request::from_bytes
2020-08-10 04:37:01 +02:00
Joakim Frostegård
0a0b57a9e8
Update TODO
2020-08-10 03:57:16 +02:00
Joakim Frostegård
1a3ab54b3f
aquatic_ws: when removing connection, reregister from poll
2020-08-10 03:51:08 +02:00
Joakim Frostegård
fbcd5aa7c9
Update TODO
2020-08-10 03:18:06 +02:00
Joakim Frostegård
cce7bd7150
aquatic_http: send responses for each event, use mio poll waker
...
This means
* less fluctuation in number of responses send per second
* longer poll timeouts can be used since poll is woken when
responses are available for sending
* drain-like method used to fetch responses from response
channel, meaning responses added while iterating won't
be processed
2020-08-10 02:53:15 +02:00
Joakim Frostegård
1d2dfe3fe1
aquatic_ws_protocol: add comment OutMessage::from_ws_message
2020-08-09 04:27:06 +02:00
Joakim Frostegård
4bffecc345
aquatic_http_load_test: deregister socket before removing it
2020-08-09 04:26:08 +02:00
Joakim Frostegård
72183d7fc2
Update TODO
2020-08-09 04:25:29 +02:00
Joakim Frostegård
d9282defbc
aquatic_http: deregister connections before removing them
2020-08-09 02:30:40 +02:00
Joakim Frostegård
1b2b4f0eb5
aquatic_http_protocol: add test for Request serde, fix Request.write bug
2020-08-09 01:19:47 +02:00
Joakim Frostegård
2893fffd20
aquatic_http: use const LISTENER_TOKEN for clarity
2020-08-09 00:44:39 +02:00
Joakim Frostegård
0a23b62bd5
aquatic ws load test: gen random PeerId per connection
...
Necessary for multiple workers
2020-08-09 00:42:09 +02:00
Joakim Frostegård
2d3761fee2
impl Copy for LogLevel, remove some cloning
2020-08-09 00:27:05 +02:00
Joakim Frostegård
0637f83daa
aquatic_ws: rewrite failing serialization, add tests
...
Use different approach to action fields and info_hash vec, fixing
failing tests
2020-08-09 00:26:26 +02:00
Joakim Frostegård
c8512e1cdf
Update TODO
2020-08-07 01:15:04 +02:00
Joakim Frostegård
ea8b37b4d5
aquatic_ws_protocol: add quickcheck tests for message serde
2020-08-06 23:34:33 +02:00
Joakim Frostegård
cc7fff7d6c
Update TODO
2020-08-06 23:34:29 +02:00
Joakim Frostegård
94bc33ea72
Update TODO
2020-08-03 07:27:55 +02:00
Joakim Frostegård
6f618bb013
aquatic_ws_load_test: get answer sending to work with wt-tracker
2020-08-03 07:02:42 +02:00
Joakim Frostegård
01fdf40a02
aquatic_ws_load_test: send num_want and better offer fake type
...
This means wt-tracker starts sending offers
2020-08-03 06:52:29 +02:00
Joakim Frostegård
aee97b77a1
Update TODO
2020-08-03 05:49:22 +02:00
Joakim Frostegård
e916780438
aquatic_ws_load_test: for single connection, use same PeerId
2020-08-03 05:27:40 +02:00
Joakim Frostegård
7733ee98ca
Update TODO
2020-08-03 05:15:48 +02:00
Joakim Frostegård
9f445c7c03
aquatic_ws_load_test: fix multiple issues with implementation
2020-08-03 05:15:24 +02:00
Joakim Frostegård
5523c87634
Update TODO
2020-08-03 00:23:25 +02:00
Joakim Frostegård
edeeee8f51
aquatic http load test: don't stop looping after reading response
...
It is important to keep reading until EWOULDBLOCK event
2020-08-03 00:22:22 +02:00
Joakim Frostegård
e88ecec9c7
aquatic http protocol: fix failure response serialization test failure
2020-08-02 22:11:55 +02:00
Joakim Frostegård
d36f97f272
aquatic http load test: remove connection if read 0 bytes
2020-08-02 21:42:35 +02:00