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: Wed, 08 Sep 2010 16:26:05 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       10/09/08 16:26:05

Modified files:
        distrib        : ChangeLog 
        src/networks/direct_connect: dcClients.ml dcGlobals.ml 
                                     dcTypes.ml 

Log message:
        patch #7306

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1470&r2=1.1471
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcClients.ml?cvsroot=mldonkey&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcGlobals.ml?cvsroot=mldonkey&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcTypes.ml?cvsroot=mldonkey&r1=1.7&r2=1.8

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1470
retrieving revision 1.1471
diff -u -b -r1.1470 -r1.1471
--- distrib/ChangeLog   7 Sep 2010 18:25:50 -0000       1.1470
+++ distrib/ChangeLog   8 Sep 2010 16:26:04 -0000       1.1471
@@ -14,6 +14,9 @@
 ChangeLog
 =========
 
+2010/09/08
+7306: DC: show client brand, session transfer and duration
+
 2010/09/07
 7302: DC: Fix performance problem with many shared files (ygrek)
 7299: configure: abort on unknown options

Index: src/networks/direct_connect/dcClients.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcClients.ml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/networks/direct_connect/dcClients.ml    3 Nov 2007 22:04:52 -0000       
1.17
+++ src/networks/direct_connect/dcClients.ml    8 Sep 2010 16:26:04 -0000       
1.18
@@ -722,8 +722,7 @@
                  if !verbose_msg_clients then lprintf_nl "  Client won the 
election...";
                  (match c.client_state with                  (* memorize list 
loading if that is the case *) 
                  | DcConnectionStyle _ ->                    (* if file was 
tried to download ... *) 
-                     let nc = new_client () in
-                     copy_client c nc;
+                     let nc = new_copy_client c in
                      nc.client_sock <- NoConnection;
                      nc.client_addr <- None;
                      (match c.client_file with
@@ -737,8 +736,7 @@
                      | None -> () );  
                      remove_client_from_clients_file c
                  | _ -> (* DcDownloadListConnecting *)       (* if filelist 
was tried to download *)
-                     let nc = new_client () in
-                     copy_client c nc;
+                     let nc = new_copy_client c in
                      nc.client_sock <- NoConnection;
                      nc.client_addr <- None;
                      (match c.client_user with
@@ -1326,6 +1324,7 @@
         (match c.client_user with 
         | Some u -> u.user_downloaded <- u.user_downloaded ++ downloaded 
         | _ -> () );         
+        c.client_downloaded <- c.client_downloaded ++ downloaded;
         buf_used b b.len;
         if c.client_pos > (file_downloaded file) then (* update downloading 
state *) (* TODO check tth while loading *)
           add_file_downloaded (as_file file.file_file) (c.client_pos -- 
(file_downloaded file));
@@ -1350,6 +1349,7 @@
         (match c.client_user with
         | Some u -> u.user_downloaded <- u.user_downloaded ++ len
         | _ -> () );
+        c.client_downloaded <- c.client_downloaded ++ len;
         c.client_receiving <- c.client_receiving -- len;
         buf_used b b.len;
         if c.client_receiving = Int64.zero then begin
@@ -1524,6 +1524,7 @@
           (match c.client_user with
           | Some u -> u.user_uploaded <- u.user_uploaded ++ uploaded
           | _ -> () );
+          c.client_uploaded <- c.client_uploaded ++ uploaded;
           (match c.client_state with
           | DcUpload (dcsh,_,_,_) ->
               (try
@@ -1565,7 +1566,7 @@
 let _ =
   client_ops.op_client_info <- (fun c ->
     let name = clients_username c in
-    let kind,downloaded,uploaded =
+    let kind,total_downloaded,total_uploaded =
       let ip,port =
         (match c.client_addr with
         | Some (ip,port) -> ip,port
@@ -1582,6 +1583,11 @@
           let kind = Indirect_location (empty_string,Md4.null,ip,port) in
           kind,Int64.zero,Int64.zero )
     in
+    let software, version = 
+      match c.client_user with
+      | Some u -> u.user_myinfo.client_brand, u.user_myinfo.version
+      | None -> empty_string, empty_string
+    in
     let filename =
       (match c.client_file with
       | Some file -> file.file_name
@@ -1594,12 +1600,14 @@
         P.client_type = client_type c;
         P.client_name = name;
         P.client_num = (client_num (as_client c.client_client));
-        P.client_connect_time = last_time ();
-        P.client_software = empty_string;
-        P.client_release = empty_string;
+        P.client_connect_time = c.client_connect_time;
+        P.client_software = software;
+        P.client_release = version;
         P.client_emulemod = empty_string;
-        (*P.client_downloaded = downloaded;*)
-        (*P.client_uploaded = uploaded;*)
+        P.client_session_downloaded = c.client_downloaded;
+        P.client_session_uploaded = c.client_uploaded;
+        P.client_total_downloaded = total_downloaded;
+        P.client_total_uploaded = total_uploaded;
         P.client_upload = Some filename;
         P.client_sui_verified = None; (* new 2.6.5 *)
 (*      P.client_sock_addr = ""; *)

Index: src/networks/direct_connect/dcGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcGlobals.ml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/networks/direct_connect/dcGlobals.ml    17 Jul 2010 15:24:42 -0000      
1.17
+++ src/networks/direct_connect/dcGlobals.ml    8 Sep 2010 16:26:05 -0000       
1.18
@@ -596,7 +596,10 @@
     client_endpos = Int64.zero; (* atm. upload end position *)
           client_receiving = Int64.zero;
     client_user = None;
+          client_connect_time = last_time ();
           client_connection_control = new_connection_control ();
+          client_downloaded = Int64.zero;
+          client_uploaded = Int64.zero;
         } and impl = {
           dummy_client_impl with
           impl_client_val = c;
@@ -670,20 +673,26 @@
   | DcUploadDoneWaitingForMore -> "DcUploadDoneWaitingForMore" )
 
 (* Copy client data to another *) 
-let copy_client c nc =
-    (*nc.client_sock <- c.client_sock;*)
-    nc.client_name <- c.client_name;
-    nc.client_addr <- c.client_addr;
-    nc.client_supports <- c.client_supports;
-    nc.client_lock <- c.client_lock;
-    nc.client_file <- c.client_file;
-    (*nc.client_state <- c.client_state;*)
-    nc.client_pos <- c.client_pos; 
-    nc.client_receiving <- c.client_receiving;
-    nc.client_user <- c.client_user;
-    nc.client_error <- c.client_error;
-    nc.client_error_count <- c.client_error_count;
-    nc.client_endpos <- c.client_endpos
+let new_copy_client c =
+  {
+    (new_client ()) with
+    (*client_sock = c.client_sock;*)
+    client_name = c.client_name;
+    client_addr = c.client_addr;
+    client_supports = c.client_supports;
+    client_lock = c.client_lock;
+    client_file = c.client_file;
+    (*client_state = c.client_state;*)
+    client_pos = c.client_pos; 
+    client_receiving = c.client_receiving;
+    client_user = c.client_user;
+    client_error = c.client_error;
+    client_error_count = c.client_error_count;
+    client_endpos = c.client_endpos;
+    client_connect_time = c.client_connect_time;
+    client_downloaded = c.client_downloaded;
+    client_uploaded = c.client_uploaded;
+  }
 
 (* Get clients username *)
 let clients_username client =

Index: src/networks/direct_connect/dcTypes.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcTypes.ml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/networks/direct_connect/dcTypes.ml      24 May 2010 18:10:49 -0000      
1.7
+++ src/networks/direct_connect/dcTypes.ml      8 Sep 2010 16:26:05 -0000       
1.8
@@ -154,7 +154,7 @@
   mutable dc_shared_chunks : int;
 }
 
-and client = {  (* remember DcGlobals.copy_client if add anything *)
+and client = {  (* remember DcGlobals.new_copy_client if add anything *)
   client_client : client CommonClient.client_impl;
   mutable client_name : string option;
   mutable client_addr : (Ip.t * int) option;
@@ -171,6 +171,9 @@
   mutable client_receiving : int64;
   mutable client_user : user option;
   mutable client_connection_control : connection_control;
+  client_connect_time : int;
+  mutable client_downloaded : int64;
+  mutable client_uploaded : int64;
   }
 
 and dc_result = { (* rst of the info (filename & size) are on 
Commonresults.result_info *)



reply via email to

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