diff options
Diffstat (limited to 'btpd/policy.h')
| -rw-r--r-- | btpd/policy.h | 66 |
1 files changed, 48 insertions, 18 deletions
diff --git a/btpd/policy.h b/btpd/policy.h index a57bbac..a5f8b11 100644 --- a/btpd/policy.h +++ b/btpd/policy.h @@ -1,25 +1,55 @@ #ifndef BTPD_POLICY_H #define BTPD_POLICY_H +// policy_choke.c + +void choke_alg(struct torrent *tp); +void next_optimistic(struct torrent *tp, struct peer *np); + +// policy_subr.c + +struct piece *torrent_get_piece(struct torrent *tp, uint32_t index); +int piece_full(struct piece *pc); +int peer_chokes(struct peer *p); +int peer_wanted(struct peer *p); +int peer_laden(struct peer *p); +int peer_has(struct peer *p, uint32_t index); +int peer_leech_ok(struct peer *p); + +void piece_free(struct piece *pc); + +void cm_on_piece_unfull(struct piece *pc); +void cm_on_piece(struct piece *pc); + +struct piece *cm_new_piece(struct torrent *tp, uint32_t index); +unsigned cm_piece_assign_requests(struct piece *pc, struct peer *p); +void cm_piece_assign_requests_eg(struct piece *pc, struct peer *p); +unsigned cm_assign_requests(struct peer *p); +void cm_assign_requests_eg(struct peer *p); + +void cm_unassign_requests(struct peer *p); +void cm_unassign_requests_eg(struct peer *p); + +// policy_if.c + void cm_by_second(struct torrent *tp); -void cm_on_new_peer(struct peer *peer); -void cm_on_lost_peer(struct peer *peer); - -void cm_on_choke(struct peer *peer); -void cm_on_unchoke(struct peer *peer); -void cm_on_upload(struct peer *peer); -void cm_on_unupload(struct peer *peer); -void cm_on_interest(struct peer *peer); -void cm_on_uninterest(struct peer *peer); -void cm_on_download(struct peer *peer); -void cm_on_undownload(struct peer *peer); -void cm_on_piece_ann(struct peer *peer, uint32_t piece); -void cm_on_block(struct peer *peer); - -void cm_schedule_piece(struct torrent *tp); -int cm_assign_requests(struct peer *peer, int nreqs); - -void cm_unassign_requests(struct peer *peer); +void cm_on_new_peer(struct peer *p); +void cm_on_lost_peer(struct peer *p); + +void cm_on_choke(struct peer *p); +void cm_on_unchoke(struct peer *p); +void cm_on_upload(struct peer *p); +void cm_on_unupload(struct peer *p); +void cm_on_interest(struct peer *p); +void cm_on_uninterest(struct peer *p); +void cm_on_download(struct peer *p); +void cm_on_undownload(struct peer *p); +void cm_on_piece_ann(struct peer *p, uint32_t index); +void cm_on_block(struct peer *p, uint32_t index, uint32_t begin, + uint32_t length, const char *data); + +void cm_on_ok_piece(struct piece *pc); +void cm_on_bad_piece(struct piece *pc); #endif |