*keepalive_received
*have
*have_received
- -bitfield
- -use to start filling priority queue of pieces
- -start loading up pieces
- -bitfield_received
- -bitfield_toggle
+ *bitfield
+ *bitfield_received
+ *bitfield_toggle
-request
-request_receivied
-piece
-piece_received
+ -no-op, should just discard and should never receive
-cancel
-cancel_received
-reject
-reject_received
+ -remove all queued requests
-hash_request
+ -no-op, should never send
-hash_request_received
+ -dispatch hashes/hash_reject
-hashes
-hashes_received
-hash_reject
-watch
-refactor
-add const qualifiers where appropriate
+ -peer_bitfield_received
+ -start loading up pieces up receive
-signal handler
-graceful shutdown
-watch threads