[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] Changes to mldonkey/src/networks/bittorrent/bTClients
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] Changes to mldonkey/src/networks/bittorrent/bTClients.ml |
Date: |
Wed, 14 Sep 2005 16:02:28 -0400 |
Index: mldonkey/src/networks/bittorrent/bTClients.ml
diff -u mldonkey/src/networks/bittorrent/bTClients.ml:1.51
mldonkey/src/networks/bittorrent/bTClients.ml:1.52
--- mldonkey/src/networks/bittorrent/bTClients.ml:1.51 Wed Sep 14 14:35:44 2005
+++ mldonkey/src/networks/bittorrent/bTClients.ml Wed Sep 14 20:02:26 2005
@@ -1452,7 +1452,6 @@
c.client_allowed_to_write <- c.client_allowed_to_write -- len;
count_upload c file len;
let len = Int64.to_int len in
- CommonUploads.consume_bandwidth len;
(* lprintf "Unix32.read: offset %Ld len %d\n" offset len; *)
Unix32.read (file_fd file) offset upload_buffer 0 len;
(* update upload rate from len bytes *)
@@ -1493,9 +1492,14 @@
match c.client_upload_requests with
[] -> ()
| _ :: tail ->
- CommonUploads.consume_bandwidth allowed;
- c.client_allowed_to_write <-
- c.client_allowed_to_write ++ (Int64.of_int allowed);
+ let new_allowed_to_write =
+ c.client_allowed_to_write ++ (Int64.of_int allowed) in
+ if allowed > 0 && CommonUploads.can_write_len sock
+ (Int64.to_int new_allowed_to_write)
+ then begin
+ CommonUploads.consume_bandwidth allowed;
+ c.client_allowed_to_write <- new_allowed_to_write;
+ end;
iter_upload sock c
)