mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...
Date: Sun, 01 Apr 2007 12:14:57 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       07/04/01 12:14:57

Modified files:
        distrib        : ChangeLog 
        src/networks/bittorrent: bTClients.ml bTGlobals.ml 
                                 bTInteractive.ml bTOptions.ml 
                                 bTTypes.ml 

Log message:
        patch #5831

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1214&r2=1.1215
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTClients.ml?cvsroot=mldonkey&r1=1.87&r2=1.88
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTGlobals.ml?cvsroot=mldonkey&r1=1.75&r2=1.76
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTInteractive.ml?cvsroot=mldonkey&r1=1.130&r2=1.131
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTOptions.ml?cvsroot=mldonkey&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTTypes.ml?cvsroot=mldonkey&r1=1.42&r2=1.43

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1214
retrieving revision 1.1215
diff -u -b -r1.1214 -r1.1215
--- distrib/ChangeLog   26 Mar 2007 12:49:15 -0000      1.1214
+++ distrib/ChangeLog   1 Apr 2007 12:14:57 -0000       1.1215
@@ -14,6 +14,9 @@
 ChangeLog
 =========
 
+2007/04/01
+5831: BT: New option BT-tracker_retries
+
 2007/03/26
 5819: MinGW: Fix charsetstubs.c compile with latest MinGW
 

Index: src/networks/bittorrent/bTClients.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTClients.ml,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -b -r1.87 -r1.88
--- src/networks/bittorrent/bTClients.ml        11 Mar 2007 16:09:29 -0000      
1.87
+++ src/networks/bittorrent/bTClients.ml        1 Apr 2007 12:14:57 -0000       
1.88
@@ -140,15 +140,15 @@
       List.iter (fun t ->
        match t.tracker_status with
       (* only re-enable after normal error *)
-         Disabled _ -> t.tracker_status <- Enabled
+        | Disabled _ -> t.tracker_status <- Enabled
        | _ -> ()) file.file_trackers;
-      let enabled_trackers = List.filter (fun t -> t.tracker_status = Enabled) 
file.file_trackers in
+      let enabled_trackers = List.filter (fun t -> tracker_is_enabled t) 
file.file_trackers in
       if enabled_trackers = [] && (file_state file) <> FilePaused then
        begin
          file_pause (as_file file) CommonUserDb.admin_user;
          lprintf_file_nl (as_file file) "Paused %s, no usable trackers left" 
(file_best_name (as_file file))
        end;
-      file.file_trackers;
+      enabled_trackers
     end in
 
   List.iter (fun t ->
@@ -1326,12 +1326,26 @@
     match v with
       Dictionary list ->
         List.iter (fun (key,value) ->
+            (match (key, value) with
+            | String "failure reason", _ -> ()
+            | _ -> (match t.tracker_status with
+                   | Disabled_failure (i, _) ->
+                        lprintf_file_nl (as_file file) "Received good message 
from Tracker %s in file: %s after %d bad attempts"
+                          t.tracker_url file.file_name i
+                   | _ -> ());
+                   (* Received good message from tracker after failures, 
re-enable tracker *)
+                   t.tracker_status <- Enabled);
+
             match (key, value) with
             | String "failure reason", String failure ->
-                (* On failure, disable the tracker and forbid re-enabling *)
-               t.tracker_status <- Disabled_failure (intern failure);
-                lprintf_file_nl (as_file file) "Failure from Tracker %s in 
file: %s Reason: %s\nBT: Tracker %s disabled for failure"
-                  t.tracker_url file.file_name (Charset.to_utf8 failure) 
t.tracker_url
+                (* On failure, disable the tracker, count the attempts and 
forbid re-enabling *)
+               t.tracker_status <- (match t.tracker_status with
+                  | Disabled_failure (i,_) -> Disabled_failure (i + 1, intern 
failure)
+                  | _ -> Disabled_failure (1, intern failure));
+                lprintf_file_nl (as_file file) "Failure no. %d%s from Tracker 
%s in file: %s Reason: %s"
+                  (match t.tracker_status with | Disabled_failure (i,_) -> i | 
_ -> 1)
+                  (if !!tracker_retries = 0 then "" else Printf.sprintf "/%d" 
!!tracker_retries)
+                  t.tracker_url file.file_name (Charset.to_utf8 failure)
             | String "warning message", String warning ->
                 lprintf_file_nl (as_file file) "Warning from Tracker %s in 
file: %s Reason: %s" t.tracker_url file.file_name warning
             | String "interval", Int n ->

Index: src/networks/bittorrent/bTGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTGlobals.ml,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -b -r1.75 -r1.76
--- src/networks/bittorrent/bTGlobals.ml        17 Feb 2007 23:54:21 -0000      
1.75
+++ src/networks/bittorrent/bTGlobals.ml        1 Apr 2007 12:14:57 -0000       
1.76
@@ -855,7 +855,9 @@
 
 let tracker_is_enabled t =
   match t.tracker_status with
-    Enabled -> true
+  | Enabled -> true
+  | Disabled_failure (i,_) ->
+      if !!tracker_retries = 0 || i < !!tracker_retries then true else false
   | _ -> false
 
 let torrents_directory = "torrents"

Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -b -r1.130 -r1.131
--- src/networks/bittorrent/bTInteractive.ml    8 Mar 2007 21:01:02 -0000       
1.130
+++ src/networks/bittorrent/bTInteractive.ml    1 Apr 2007 12:14:57 -0000       
1.131
@@ -195,8 +195,10 @@
   List.iter (fun tracker ->
     let tracker_text =
       match tracker.tracker_status with
-        | Disabled s | Disabled_mld s | Disabled_failure s -> 
+        | Disabled s | Disabled_mld s ->
             Printf.sprintf "\\<font color=\\\"red\\\"\\>disabled: 
%s\\<br\\>\\--error: %s\\</font\\>" tracker.tracker_url s
+        | Disabled_failure (i,s) -> 
+            Printf.sprintf "\\<font color=\\\"red\\\"\\>disabled: 
%s\\<br\\>\\--error: %s (try %d)\\</font\\>" tracker.tracker_url s i
         | _ ->
             Printf.sprintf "enabled: %s" tracker.tracker_url
 
@@ -364,8 +366,10 @@
   Printf.bprintf buf "Trackers:\n";
   List.iter (fun tracker ->
     match tracker.tracker_status with
-      Disabled s | Disabled_mld s | Disabled_failure s -> 
+    | Disabled s | Disabled_mld s ->
        Printf.bprintf buf "%s, disabled: %s\n" tracker.tracker_url s
+    | Disabled_failure (i,s) -> 
+        Printf.bprintf buf "%s, disabled (try %d): %s\n" tracker.tracker_url i 
s
       | _ -> Printf.bprintf buf "%s\n" tracker.tracker_url
   ) file.file_trackers;
   let s = Charset.safe_convert file.file_encoding file.file_torrent_diskname in

Index: src/networks/bittorrent/bTOptions.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTOptions.ml,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- src/networks/bittorrent/bTOptions.ml        15 Jan 2007 18:26:27 -0000      
1.31
+++ src/networks/bittorrent/bTOptions.ml        1 Apr 2007 12:14:57 -0000       
1.32
@@ -105,6 +105,10 @@
   0 to deactivate, changes require restart"
     float_option 60.
 
+let tracker_retries = define_option bittorrent_section ["tracker_retries"]
+  "Number of retries before a tracker is disabled, use 0 to not disable 
trackers"
+    int_option 10
+
 let _ =
   begin
     option_hook max_uploaders_per_torrent

Index: src/networks/bittorrent/bTTypes.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTTypes.ml,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- src/networks/bittorrent/bTTypes.ml  17 Feb 2007 23:54:21 -0000      1.42
+++ src/networks/bittorrent/bTTypes.ml  1 Apr 2007 12:14:57 -0000       1.43
@@ -212,7 +212,7 @@
   Enabled
 | Disabled of string
 | Disabled_mld of string
-| Disabled_failure of string
+| Disabled_failure of (int * string)
 
 type client = {
     client_client : client CommonClient.client_impl;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]