Joakim Frostegård
923b3637e8
http: allow disabling TLS, allow reverse proxies, general fixes
2023-11-17 18:16:29 +01:00
Joakim Frostegård
fe5ccf6646
ws: refactor, bug fixes, improvements ( #155 )
...
- split swarm worker into two modules
- split socket worker into two modules
- keep track of which offers peers have sent and only allow matching
answers
- always clean up after closing connection
- use channel for telling connections to close
- move some logic into new ConnectionRunner struct
- use slotmap for connection reference storage
- fix double counting of error responses
- actually close connections that take too long to send responses to
- remove announced_info_hashes entry on AnnounceEvent::Stopped
2023-11-09 18:06:21 +01:00
Joakim Frostegård
dadb227c63
Update TODO
2023-10-30 20:19:51 +01:00
Joakim Frostegård
cdc817cbdf
Update TODO
2023-08-28 23:55:16 +02:00
Joakim Frostegård
67d3e785a5
Update TODO
2023-04-10 00:58:05 +02:00
Joakim Frostegård
a0255ff919
Upgrade socket2 to v0.5
2023-04-10 00:49:55 +02:00
Joakim Frostegård
630e5c0938
Update TODO
2023-03-09 23:02:07 +01:00
Joakim Frostegård
cff6b0cce1
Update TODO
2023-03-08 14:46:34 +01:00
Joakim Frostegård
2e67f11caf
udp: add experimental io_uring implementation ( #131 )
...
* WIP: add udp uring support
* WIP: fix udp uring address parsing
* WIP: udp uring: resubmit recv when needed
* WIP: udp uring: add OutMessageStorage, send swarm responses
* WIP: udp uring: increase ring entries to 1024
* WIP: udp uring: add constants
* WIP: udp uring: use sqpoll, avoid kernel calls
* WIP: udp uring: disable sqpoll
* WIP: udp uring: use VecDeque for local responses
* udp uring: enable setup_coop_taskrun
* udp uring: add RecvMsgStorage
* udp: improve split of uring and mio implementations
* udp uring: clean up
* udp uring: initial ipv6 support
* udp uring: improve helper structs
* udp uring: clean up, use constants for important data
* udp: share create_socket fn between implementations
* udp uring: improve send buffer free index finding
* udp uring: work on SendBuffers.try_add
* udp uring: split into modules
* udp uring: Rename RecvMsgMultiHelper to RecvHelper
* udp uring: improve SendBuffers
* udp uring: fix copyright attribution in buf_ring module
* udp uring: stop always consuming 100% cpu
* udp uring: clean up
* udp uring: add handle_recv_cqe
* udp uring: move local_responses into SocketWorker
* udp uring: move timeout_timespec into SocketWorker
* Update TODO
* udp: make io-uring optional
* Update TODO
* udp uring: enqueue timeout before sends
* udp uring: move likely empty buffer tracking logic into SendBuffers
* udp uring: improve error handling and logging
* udp uring: keep one timeout submitted at a time
* udp uring: update pending_scrape_valid_until
* udp uring: add second timeout for cleaning
* Update TODO
* udp uring: store resubmittable squeue entries in a Vec
* udp uring: add comment, remove a log statement
* Update TODO
* Update TODO
* udp: io_uring: fall back to mio if io_uring support not recent enough
* udp: uring: add bytes_received statistics
* udp: uring: add bytes_sent statistics
* udp: uring: add more statistics
* Update TODO
* udp: uring: improve SendBuffers code
* udp: uring: remove unneeded squeue sync calls
* udp: uring: replace buf_ring impl with one from tokio-uring
* udp: uring: store ring in TLS so it can be used in Drop impls
* udp: uring: store BufRing in SocketWorker
* udp: uring: silence buf_ring dead code warnings, improve comment
* Update TODO
* udp: uring: improve CurrentRing docs, use anonymous struct field
* udp: uring: improve ring setup
* udp: uring: get ipv6 working
* udp: uring: make ring entry count configurable, use more send entries
* udp: uring: log number of pending responses (info level)
* udp: uring: improve comment on send_buffer_entries calculation
* udp: improve config comments
* udp: uring: add to responses stats when they are confirmed as sent
* Update TODO
* udp: uring: enable IoUring setup_submit_all
* Update README
2023-03-07 19:01:37 +01:00
Joakim Frostegård
2abb76d690
Update TODO
2023-02-26 12:35:37 +01:00
Joakim Frostegård
beb8c52fe6
Update TODO
2023-02-25 22:32:34 +01:00
Joakim Frostegård
1372f46e87
Update TODO
2023-02-04 15:38:09 +01:00
Joakim Frostegård
d3e0e46b41
Update TODO
2023-01-03 18:45:22 +01:00
Joakim Frostegård
057b07eaf1
Update TODO
2022-12-21 00:06:38 +01:00
Joakim Frostegård
4342a3387e
Update TODO
2022-11-12 16:33:25 +01:00
Joakim Frostegård
99cb28c7f7
Update TODO.md
2022-10-24 11:41:02 +02:00
Joakim Frostegård
2fb7a330bc
Update TODO.md
2022-10-23 21:25:09 +02:00
Joakim Frostegård
6d44280eb3
Update TODO
2022-09-25 12:37:43 +02:00
Joakim Frostegård
3e4bcf022e
Update TODO
2022-09-20 21:50:04 +02:00
Joakim Frostegård
4ab6b0af82
Update TODO
2022-08-06 14:56:00 +02:00
Joakim Frostegård
a399629b69
Update TODO
2022-08-01 15:58:48 +02:00
Joakim Frostegård
355f3e04c6
Update ws code comments; update TODO.md
2022-07-19 17:01:07 +02:00
Joakim Frostegård
a62b2033a5
ws: avoid X-Forwarded-For parsing since we only need to know IPv4/IPv6
2022-07-19 16:12:00 +02:00
Joakim Frostegård
3b94b8e588
WIP: ws: parse X-FORWARDED-FOR headers
2022-07-19 00:56:27 +02:00
Joakim Frostegård
064d6fb14b
Update TODO
2022-07-18 23:31:18 +02:00
Joakim Frostegård
a16ce91d46
ws: make TLS optional, allow HTTP health checks without TLS only
2022-07-18 23:23:36 +02:00
Joakim Frostegård
720ceacf99
ws: remove peer from all torrent maps when connection is closed
2022-07-05 13:13:53 +02:00
Joakim Frostegård
b06c12e9a5
Update TODO
2022-07-05 11:38:50 +02:00
Joakim Frostegård
cedf0b61ca
Exit with error message on unrecognized config keys
2022-07-05 11:26:46 +02:00
Joakim Frostegård
a852b290ca
Add cli flag for printing parsed config
2022-07-05 11:15:53 +02:00
Joakim Frostegård
a7837ebffb
Update TODO
2022-07-04 12:01:53 +02:00
Joakim Frostegård
5cfd270ab7
udp: add optional resending buffer for responses that failed to send
2022-06-28 00:56:29 +02:00
Joakim Frostegård
783c8c4bd9
Update TODO
2022-06-27 22:32:05 +02:00
Joakim Frostegård
b438588f01
Update TODO
2022-06-23 01:47:44 +02:00
Joakim Frostegård
e69f489b1a
Update TODO
2022-05-10 23:12:59 +02:00
Joakim Frostegård
201879c519
Update TODO
2022-04-15 23:59:18 +02:00
Joakim Frostegård
cad74df689
Update TODO
2022-04-14 23:06:54 +02:00
Joakim Frostegård
10cb0849d6
Update TODO
2022-04-14 17:51:15 +02:00
Joakim Frostegård
0685c99349
Update TODO
2022-04-13 22:31:02 +02:00
Joakim Frostegård
113fe8f5fd
Update TODO
2022-04-06 19:55:12 +02:00
Joakim Frostegård
b4d1c46595
Update TODO
2022-04-06 02:23:06 +02:00
Joakim Frostegård
94ee4027e8
Update TODO
2022-04-06 01:53:00 +02:00
Joakim Frostegård
6f30d05453
Update TODO
2022-04-05 01:33:02 +02:00
Joakim Frostegård
9dfc3a82ad
Update TODO
2022-04-04 12:49:29 +02:00
Joakim Frostegård
44b50204e2
Switch to thin LTO; add Cargo profile release-debug
2022-04-04 12:32:42 +02:00
Joakim Frostegård
9f8f80a17b
http protocol: remove AnnounceRequest::compact, fail parsing if set to 0
2022-04-04 12:16:13 +02:00
Joakim Frostegård
71c070cf98
Update TODO
2022-04-04 12:07:34 +02:00
Joakim Frostegård
98e7e5cc13
http_protocol: implement axum IntoResponse, use in http_private
2022-04-03 20:20:51 +02:00
Joakim Frostegård
5e79df8e7e
Update TODO
2022-04-03 19:52:33 +02:00
Joakim Frostegård
44f4474fb2
Update TODO
2022-04-03 00:56:54 +02:00