Stage 0:
*priority queue
--benchmarking
- -separate make target?
- -types
- -network requests
- -adds
- -merkle roots
- -loads into priority queue
-networking
*port option
*tcp
*udp
-work out how and when to send requests back to epoll
- -struct with partially written buffer?
+ -struct with partially written buffer? <-- THIS PREFERABLE
-struct with request parameters
-i.e. hash request
-infohash
-peer id
-etc.
-start
- -register shutdown
- -spawn threads?
+ *register shutdown
+ *spawn threads?
-request loops
-epoll fds
- -where to store fds - HERE
- -extern struct?
- -epoll fd?
- -session?
-stop
+ -loop
+ -tcp vs. udp
+ -both on same loop?
+ -field 1 request on each then start loop over?
+ -examine udp usage in bittorrent protocol
-peer
*rate limit interface
-peer protocol
-during adding
-mid-request in server
-daemonize
+-benchmarking
+ -network requests
+ -adds
+ -merkle roots
+ -loads into priority queue
Later:
-trackers