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/direct_...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/direct_...
Date: Tue, 25 Oct 2011 18:01:30 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       11/10/25 18:01:30

Modified files:
        distrib        : ChangeLog 
        src/networks/direct_connect: dcGlobals.ml dcInteractive.ml 
                                     dcShared.ml 

Log message:
        patch #7645

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1538&r2=1.1539
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcGlobals.ml?cvsroot=mldonkey&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcInteractive.ml?cvsroot=mldonkey&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcShared.ml?cvsroot=mldonkey&r1=1.10&r2=1.11

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1538
retrieving revision 1.1539
diff -u -b -r1.1538 -r1.1539
--- distrib/ChangeLog   25 Oct 2011 17:52:45 -0000      1.1538
+++ distrib/ChangeLog   25 Oct 2011 18:00:54 -0000      1.1539
@@ -15,6 +15,7 @@
 =========
 
 2011/10/25
+7645: DC: show hashing progress in dcinfo (ygrek)
 7644: Fix broken target release.utils.static
 7642: Update GNU config.guess and config.sub to version 2011/10
 7641: DC: fix ownership for downloads by non-admin users (ygrek)

Index: src/networks/direct_connect/dcGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcGlobals.ml,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- src/networks/direct_connect/dcGlobals.ml    25 Oct 2011 17:40:46 -0000      
1.21
+++ src/networks/direct_connect/dcGlobals.ml    25 Oct 2011 18:01:04 -0000      
1.22
@@ -95,7 +95,7 @@
 let current_files = ref ([]: file list) 
 let dc_files_by_unchecked_hash : (string , file) Hashtbl.t = Hashtbl.create 47
 let dc_files_by_key = Hashtbl.create 47
-let dc_tiger_computing = ref false
+let dc_tiger_computing = ref (None : dc_shared_file option)
 let dc_get_nchunks size = Int64.to_int (size // 
CommonUploads.tiger_block_size) + 1
 let dc_shared_files_by_fullname : (string , dc_shared_file) Hashtbl.t = 
Hashtbl.create 30
 let dc_shared_files_by_codedname : (string , dc_shared_file) Hashtbl.t = 
Hashtbl.create 30

Index: src/networks/direct_connect/dcInteractive.ml
===================================================================
RCS file: 
/sources/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- src/networks/direct_connect/dcInteractive.ml        25 Oct 2011 17:40:46 
-0000      1.46
+++ src/networks/direct_connect/dcInteractive.ml        25 Oct 2011 18:01:06 
-0000      1.47
@@ -1145,6 +1145,15 @@
     html_mods_cntr_init ();
     if use_html_mods o then dc_info_html_header buf;
     let nservers = List.length !connected_servers in
+    let hashed =
+      [ Printf.sprintf "%d files" (Hashtbl.length dc_shared_files_by_hash) ] @
+      match !dc_files_to_hash with [] -> [] | l -> [ Printf.sprintf "%d 
queued" (List.length l) ] @
+      match !dc_tiger_computing with
+      | Some dcsh when dcsh.dc_shared_size > 0L ->
+        let progress = Int64.to_float dcsh.dc_shared_pos /. Int64.to_float 
dcsh.dc_shared_size *. 100. in
+        [ Printf.sprintf "hashing: %s (%3.0f%%)" (Filename.basename 
dcsh.dc_shared_fullname) progress ]
+      | _ -> []
+    in
     let list = [
       ("Hub supports", (DcProtocol.Supports.create_supports_string 
(HubSupports mldonkey_dc_hub_supports)) );
       ("Client supports", (DcProtocol.Supports.create_supports_string 
(ClientSupports mldonkey_dc_client_supports)) );
@@ -1153,8 +1162,9 @@
       ("Connected servers", (if nservers > 0 then string_of_int nservers else 
""));
       ("  Server list:", empty_string ); ]      
       @ server_list @ [
-      ("Hubs", (Printf.sprintf "Normal:%d  Vipped:%d  Opped:%d" norm_hubs 
reg_hubs opped_hubs) ); ]
-    in  
+      ("Hubs", (Printf.sprintf "Normal:%d  Vipped:%d  Opped:%d" norm_hubs 
reg_hubs opped_hubs) );
+      ("Hashed", String.concat ", " hashed);
+    ] in
     let counter = ref 0 in
     List.iter (fun (info,data) -> 
       dc_info_print info data line o;

Index: src/networks/direct_connect/dcShared.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcShared.ml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- src/networks/direct_connect/dcShared.ml     19 Dec 2010 10:04:58 -0000      
1.10
+++ src/networks/direct_connect/dcShared.ml     25 Oct 2011 18:01:24 -0000      
1.11
@@ -258,16 +258,15 @@
 (* Compute (at most) one TigerTree chunk from unhashed shared files *)
 let dc_check_hashed_files () =
   let module M = CommonHasher in
-  if not !dc_tiger_computing then begin
-    (match !dc_files_to_hash with
-    | [] -> ()
-    | dcsh :: files ->
-        (try
+    match !dc_tiger_computing, !dc_files_to_hash with
+    | _, [] | Some _, _ -> ()
+    | None, dcsh :: files ->
+      try
           if not (Sys.file_exists dcsh.dc_shared_fullname) then raise 
Not_found;
           if Unix32.getsize dcsh.dc_shared_fullname <> dcsh.dc_shared_size then
             raise (Wrong_file_size ((Unix32.getsize dcsh.dc_shared_fullname), 
dcsh.dc_shared_size));
 
-          dc_tiger_computing := true;
+          dc_tiger_computing := Some dcsh;
           let end_pos = dcsh.dc_shared_pos ++ CommonUploads.tiger_block_size in
           let end_pos = min end_pos dcsh.dc_shared_size in
           let len = end_pos -- dcsh.dc_shared_pos in
@@ -298,7 +297,7 @@
                   DcComplexOptions.dc_saved_shared_files =:= dcsh :: 
!!DcComplexOptions.dc_saved_shared_files;
                 end
               end;
-              dc_tiger_computing := false
+              dc_tiger_computing := None
           )
         with
         | Wrong_file_size (real,computed) ->
@@ -308,11 +307,10 @@
             computed real dcsh.dc_shared_fullname
         | e ->
             dc_files_to_hash := files;
-            dc_tiger_computing := false;
+            dc_tiger_computing := None;
             if !verbose_upload || !verbose_unexpected_messages then
               lprintf_nl "Exception %s prevents sharing of %s"
-                (Printexc2.to_string e) dcsh.dc_shared_fullname ) )
-  end
+                (Printexc2.to_string e) dcsh.dc_shared_fullname
 
 let dc_updatesharesize () =
   let dc_sharesize = ref Int64.zero in
@@ -320,7 +318,7 @@
     dc_sharesize := !dc_sharesize ++ dcsh.dc_shared_size) 
dc_shared_files_by_codedname;
   !dc_sharesize
 
-let _ = 
+let () =
   network.op_network_share <- (fun fullname codedname size -> (* this is 
called once/60s with all shared files *)
     (* file path in DC network should use '/' as separator, convert local path 
accordingly *)
     let codedname =



reply via email to

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