41 |
mutable client_chunks : (int64 * int64) list; |
mutable client_chunks : (int64 * int64) list; |
42 |
mutable client_uploader : Int64Swarmer.uploader option; |
mutable client_uploader : Int64Swarmer.uploader option; |
43 |
mutable client_ranges_sent : (int64 * int64 * Int64Swarmer.range) list; |
mutable client_ranges_sent : (int64 * int64 * Int64Swarmer.range) list; |
44 |
mutable client_range_waiting : |
mutable client_range_waiting : |
45 |
(int64 * int64 * Int64Swarmer.range) option; |
(int64 * int64 * Int64Swarmer.range) option; |
46 |
mutable client_block : Int64Swarmer.block option; |
mutable client_block : Int64Swarmer.block option; |
47 |
|
|
48 |
mutable client_received_peer_id : bool; |
mutable client_received_peer_id : bool; |
49 |
mutable client_sent_choke : bool; (* we sent a Choke to the client *) |
mutable client_sent_choke : bool; (* we sent a Choke to the client *) |
50 |
mutable client_choked : bool; (* we received a Choke from the client *) |
mutable client_choked : bool; (* we received a Choke from the client *) |
51 |
mutable client_interested : bool; |
mutable client_interested : bool; |
52 |
mutable client_uid : Sha1.t; |
mutable client_uid : Sha1.t; |
53 |
|
|
54 |
mutable client_bitmap : string option; |
mutable client_bitmap : string option; |
55 |
mutable client_new_chunks : int list; |
mutable client_new_chunks : int list; |
56 |
|
|
57 |
mutable client_upload_requests : (int * int64 * int64) list; |
mutable client_upload_requests : (int * int64 * int64) list; |
58 |
mutable client_allowed_to_write : int64; |
mutable client_allowed_to_write : int64; |
59 |
mutable client_upload_rate : Rate.t; |
mutable client_upload_rate : Rate.t; |
61 |
mutable client_downloaded : int64; |
mutable client_downloaded : int64; |
62 |
mutable client_uploaded : int64; |
mutable client_uploaded : int64; |
63 |
mutable client_optimist_time : int; |
mutable client_optimist_time : int; |
64 |
|
|
65 |
mutable client_blocks_sent : int list; |
mutable client_blocks_sent : int list; |
66 |
mutable client_good : bool; |
mutable client_good : bool; |
67 |
mutable client_num_try : int; |
mutable client_num_try : int; |
80 |
mutable tracker_last_conn : int; |
mutable tracker_last_conn : int; |
81 |
mutable tracker_last_clients_num : int; |
mutable tracker_last_clients_num : int; |
82 |
} |
} |
83 |
|
|
84 |
and file = { |
and file = { |
85 |
file_file : file CommonFile.file_impl; |
file_file : file CommonFile.file_impl; |
86 |
file_piece_size : int64; |
file_piece_size : int64; |
89 |
mutable file_swarmer : Int64Swarmer.t option; |
mutable file_swarmer : Int64Swarmer.t option; |
90 |
mutable file_clients : ((Ip.t*int), client) Hashtbl.t ; |
mutable file_clients : ((Ip.t*int), client) Hashtbl.t ; |
91 |
mutable file_clients_num : int ; |
mutable file_clients_num : int ; |
92 |
mutable file_chunks : Sha1.t array; |
mutable file_chunks : Sha1.t array; |
93 |
mutable file_files : (string * int64) list; |
mutable file_files : (string * int64) list; |
94 |
mutable file_blocks_downloaded : int list; |
mutable file_blocks_downloaded : int list; |
95 |
(* vvv probably a network specific value vvv ?what about file_downloaded?*) |
(* vvv probably a network specific value vvv ?what about file_downloaded?*) |