blob: a5f8b1103d09e3975404160be8870c20b4526168 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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 *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
|