Commit graph

  • b01226fddc aquatic http protocol: remove unimplemented Response::from_bytes fn Joakim Frostegård 2020-07-21 17:21:32 +02:00
  • c1b2a30803 criterion request-from-bytes script: ask user about saving result Joakim Frostegård 2020-07-21 15:59:32 +02:00
  • b3154c5bcf aquatic http protocol: delete obsoleted request-from-path benchmark Joakim Frostegård 2020-07-21 14:25:47 +02:00
  • 853de523b6 Update README Joakim Frostegård 2020-07-21 11:02:08 +02:00
  • 05ae0d48b6 README: add aquatic_http and load test section, remove default configs Joakim Frostegård 2020-07-21 10:28:42 +02:00
  • 773494b17b Update TODO Joakim Frostegård 2020-07-21 02:00:15 +02:00
  • fcf1ecf0e8 add some allowed licences to deny.toml Joakim Frostegård 2020-07-21 01:53:43 +02:00
  • 22316df025 aquatic http protocol: rerun response criterion benchmarks Joakim Frostegård 2020-07-21 01:41:02 +02:00
  • 0b41e91dde aquatic http protocol: rerun request criterion benchmarks Joakim Frostegård 2020-07-21 01:38:08 +02:00
  • 52eeda2f2c aquatic_udp_bench: bump indicatif version Joakim Frostegård 2020-07-21 01:03:23 +02:00
  • f2db4a43b9 Update lots of dependencies Joakim Frostegård 2020-07-21 00:58:56 +02:00
  • 27071fa2df aquatic http load test: clean up ununsed struct, config field Joakim Frostegård 2020-07-21 00:45:10 +02:00
  • 597a2a83d1 aquatic http protocol: add quickcheck test for urlencode/decode 20 bytes Joakim Frostegård 2020-07-21 00:36:34 +02:00
  • 909f0edce9 aquatic http protocol: move urlencode fns to utils module, clean up Joakim Frostegård 2020-07-21 00:20:10 +02:00
  • 8fea96bcd2 aquatic http protocol: request parsing: remove hashmap for performance Joakim Frostegård 2020-07-21 00:11:03 +02:00
  • 289cc4fcb5 Update TODO Joakim Frostegård 2020-07-21 00:09:56 +02:00
  • dae83a1835 aquatic http protocol: ScrapeRequest::to_bytes(): use urlencode_20_bytes Joakim Frostegård 2020-07-20 22:35:08 +02:00
  • ca935b7d46 Update TODO Joakim Frostegård 2020-07-20 22:16:27 +02:00
  • b7d5a12046 aquatic http protocol: optimize request parsing Joakim Frostegård 2020-07-20 22:13:42 +02:00
  • 87328f788d Update TODO Joakim Frostegård 2020-07-20 21:14:09 +02:00
  • 114b8007e1 aquatic http procotol: rewite Request::from_bytes, test it Joakim Frostegård 2020-07-20 21:13:48 +02:00
  • ea4b560faa aquatic_http_protocol: add benchmark for request from bytes Joakim Frostegård 2020-07-20 20:27:42 +02:00
  • 95e25710dc aquatic_http: move request parsing into protocol crate Joakim Frostegård 2020-07-20 20:13:56 +02:00
  • 2521c89109 aquatic http protocol: Response::from_bytes: set to unimplemented!() Joakim Frostegård 2020-07-20 18:32:07 +02:00
  • 95e6eebd67 aquatic http load test: stats: stop showing response peers, don't exist Joakim Frostegård 2020-07-20 18:31:47 +02:00
  • d6f9c2637c aquatic http load test: register response types Joakim Frostegård 2020-07-20 18:31:22 +02:00
  • 1c6f22db85 aquatic http load test: track and display bandwidth Joakim Frostegård 2020-07-20 18:02:16 +02:00
  • 45940a05a9 http load test and protocol: cut down on allocations a bit Joakim Frostegård 2020-07-20 17:23:40 +02:00
  • 47c71376e2 http load test: increase conn inverval const, move out of fn Joakim Frostegård 2020-07-20 16:34:50 +02:00
  • 6691b77824 aquatic_http_load_test: store connections in a slab::Slab Joakim Frostegård 2020-07-20 16:30:47 +02:00
  • a2a2fa5807 Update TODO Joakim Frostegård 2020-07-20 16:21:54 +02:00
  • 3eb18fc973 aquatic_http_load_test: use longer poll timeout, adjust conn creation Joakim Frostegård 2020-07-20 16:20:57 +02:00
  • b9e875ad90 aquatic_http_load_test: slowly open a number of connections Joakim Frostegård 2020-07-20 16:16:06 +02:00
  • 8d41d98fec Update TODO Joakim Frostegård 2020-07-20 15:46:38 +02:00
  • 19ee41eb72 aquatic_http: config: set poll timeout in microseconds, default to 10000 Joakim Frostegård 2020-07-20 15:46:17 +02:00
  • 6471e4a8a9 Add scripts/run-load-test-http.sh Joakim Frostegård 2020-07-20 15:21:25 +02:00
  • 75ebe3208d aquatic_http_load_test: fix connection buffer issue, optimize Joakim Frostegård 2020-07-20 15:20:33 +02:00
  • ff6eddfc85 WIP: aquatic_http_load_test: clean up config structs Joakim Frostegård 2020-07-20 15:08:33 +02:00
  • da3b2bcd8c WIP: cleanup aquatic_http_load_test and aquatic_http_protocol Joakim Frostegård 2020-07-20 14:48:19 +02:00
  • d1e9d24773 WIP: work on http load test (now partly working) and http protocol Joakim Frostegård 2020-07-20 14:30:36 +02:00
  • 5b0d364ccf WIP: start work on porting udp load test to http Joakim Frostegård 2020-07-19 23:03:30 +02:00
  • 4ac2012a2a aquatic_http: move protocol module to new crate aquatic_http_protocol Joakim Frostegård 2020-07-19 21:59:31 +02:00
  • 4caf174da5 aquatic_http: add criterion benchmark for announce response to bytes Joakim Frostegård 2020-07-19 16:56:13 +02:00
  • 9df1f0ecc6 aquatic_http: rewrite request parsing, use smartstring Joakim Frostegård 2020-07-19 15:21:11 +02:00
  • fc9b4c8e0d aquatic_http: protocol: add test for scrape request parsing Joakim Frostegård 2020-07-19 14:27:50 +02:00
  • 12a62f5df4 aquatic_http: add test for announce request parsing Joakim Frostegård 2020-07-19 14:23:48 +02:00
  • f078542ffc Update TODO Joakim Frostegård 2020-07-19 14:22:26 +02:00
  • 54e801c6a9 aquatic http: request from path: whitelist url keys for security Joakim Frostegård 2020-07-19 13:44:16 +02:00
  • 09d27d5075 Update TODO Joakim Frostegård 2020-07-19 13:27:54 +02:00
  • 2fe42e7235 update criterion script Joakim Frostegård 2020-07-19 13:26:17 +02:00
  • b17c9999f0 aquatic_http: request from path: remove from map to avoid some clones Joakim Frostegård 2020-07-19 13:24:48 +02:00
  • ca8d278a03 aquatic_http: parse_key_value_pairs_memchr: small code improvement Joakim Frostegård 2020-07-19 13:06:39 +02:00
  • a8e355f22a aquatic_http: add criterion benchmarks for request from path parsing Joakim Frostegård 2020-07-19 01:58:41 +02:00
  • 9b0956cc91 aquatic_http: Request::from_http_get_path: add memchar query str parser Joakim Frostegård 2020-07-18 18:40:27 +02:00
  • a8900c99ab Update TODO Joakim Frostegård 2020-07-18 17:55:58 +02:00
  • 84facea0ca aquatic_http: add hand-written ScrapeResponse serialization Joakim Frostegård 2020-07-18 17:46:16 +02:00
  • 17385c92ad Update TODO Joakim Frostegård 2020-07-18 16:32:28 +02:00
  • 81708e0adc aquatic_http: add manual bencoding for announce and failure responses Joakim Frostegård 2020-07-18 16:28:42 +02:00
  • 056cd41732 aquatic_http: add memchr version of urldecode, which might be faster Joakim Frostegård 2020-07-18 05:34:09 +02:00
  • f94c52da77 aquatic_http: send_response: use itoa and Vec::with_capacity Joakim Frostegård 2020-07-18 03:03:39 +02:00
  • 8ddccb20aa aquatic_http: use new trait Ip for ip generic parameters Joakim Frostegård 2020-07-08 14:22:30 +02:00
  • 2386dd0e8b aquatic_http: parameterise many data structures over peer IP protocol Joakim Frostegård 2020-07-08 14:12:01 +02:00
  • da4ba14b47 aquatic_http: EstablishedConnection.send_response: fix small bug Joakim Frostegård 2020-07-08 12:28:46 +02:00
  • 43a33d80c4 aquatic_http: add ipv6 compact responses; fix ipv4/ipv6 issue Joakim Frostegård 2020-07-08 12:26:41 +02:00
  • 5ff00e866d Update TODO Joakim Frostegård 2020-07-08 11:07:41 +02:00
  • 97a84a2a03 Update TODO Joakim Frostegård 2020-07-08 10:08:25 +02:00
  • fb4b190173 Update TODO Joakim Frostegård 2020-07-05 20:33:31 +02:00
  • c53c3928ab aquatic_http: fix clippy error, or at least log possible error Joakim Frostegård 2020-07-05 20:32:13 +02:00
  • b65297195a aquatic_http, aquatic_common_tcp: fix some clippy warnings Joakim Frostegård 2020-07-05 20:22:03 +02:00
  • 8269ae2994 aquatic_http: remove (no longer used) dependency serde_urlencoded Joakim Frostegård 2020-07-05 19:50:52 +02:00
  • 8391cb4bd5 Update TODO Joakim Frostegård 2020-07-05 19:49:13 +02:00
  • b1c11e2d0c Fix typo in README Joakim Frostegård 2020-07-05 19:47:20 +02:00
  • 9443082575 Update TODO with info about connection obfuscation extension Joakim Frostegård 2020-07-04 19:58:26 +02:00
  • 76a340574e aquatic_http: debug log StreamEnded, keep connection on parse error Joakim Frostegård 2020-07-04 19:38:37 +02:00
  • 3d0de73873 Update TODO Joakim Frostegård 2020-07-04 15:07:33 +02:00
  • 8ebfb1d0ce aquatic_http network: avoid infinite loop case; minor other changes Joakim Frostegård 2020-07-04 15:04:31 +02:00
  • 656efc7d4e Update TODO Joakim Frostegård 2020-07-04 13:55:15 +02:00
  • ccafdc5cd3 aquatic_http: clean up clode Joakim Frostegård 2020-07-04 13:51:43 +02:00
  • d48573a28e aquatic_http: network: update inline hints, format code Joakim Frostegård 2020-07-04 13:47:22 +02:00
  • c28e764929 aquatic_http: add Connection methods, enabling making 'inner' private Joakim Frostegård 2020-07-04 13:35:52 +02:00
  • 1ea1f0b749 aquatic_http: in Connection.inner, replace Either with new enum Joakim Frostegård 2020-07-04 13:28:55 +02:00
  • 73b1646c71 aquatic_http: refactor TlsHandshakeMachine, adding error type Joakim Frostegård 2020-07-04 13:10:57 +02:00
  • acf5ee5af1 Update TODO Joakim Frostegård 2020-07-04 12:39:35 +02:00
  • 829701f4da aquatic_http: debug-log request GET path, use debug mode for bytes read Joakim Frostegård 2020-07-04 12:38:30 +02:00
  • db51454c6d Update TODO Joakim Frostegård 2020-07-04 12:01:32 +02:00
  • c50dec3496 aquatic_http: add PeerMapKey with PeerID and Either<Ip, announce key> Joakim Frostegård 2020-07-04 12:00:36 +02:00
  • 73807baacb Update TODO Joakim Frostegård 2020-07-04 11:32:06 +02:00
  • 2f2da8deb0 aquatic_http: AnnounceRequest: make numwant optional, remove trackerid Joakim Frostegård 2020-07-04 11:20:58 +02:00
  • 6b7ce0e211 aquatic_http: error response on invalid request; rename response types Joakim Frostegård 2020-07-04 11:08:48 +02:00
  • 60faf2da3f Update TODO Joakim Frostegård 2020-07-03 17:59:28 +02:00
  • 15c75579da aquatic_http request url decode: reject some invalid data Joakim Frostegård 2020-07-03 17:54:59 +02:00
  • 919b846775 Update TODO Joakim Frostegård 2020-07-03 17:45:41 +02:00
  • c2f79aa368 aquatic_http: reduce allocations in Request::urldecode Joakim Frostegård 2020-07-03 17:42:57 +02:00
  • 7419c51434 aquatic_http protocol: refactor into more submodules, other fixes Joakim Frostegård 2020-07-03 17:24:56 +02:00
  • 52cc7d8acb aquatic_http: write custom deserialize logic for Request Joakim Frostegård 2020-07-03 17:10:30 +02:00
  • 501c2a293a Update TODO Joakim Frostegård 2020-07-03 15:20:42 +02:00
  • e2638ad7e9 Update TODO Joakim Frostegård 2020-07-03 14:42:18 +02:00
  • afb50f54de Update TODO Joakim Frostegård 2020-07-03 14:30:30 +02:00
  • 16333b5a08 aquatic_http: serialize info_hash and peer_id properly Joakim Frostegård 2020-07-03 14:30:00 +02:00
  • bfabd1fe57 Update TODO Joakim Frostegård 2020-07-03 14:04:37 +02:00