mldonkey-commits
[Top][All Lists]
Advanced

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

[Mldonkey-commits] mldonkey config/Makefile.in distrib/ChangeLog s...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey config/Makefile.in distrib/ChangeLog s...
Date: Tue, 21 Nov 2006 22:29:59 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       06/11/21 22:29:59

Modified files:
        config         : Makefile.in 
        distrib        : ChangeLog 
Removed files:
        src/utils/net  : tcpClientSocket.ml tcpClientSocket.mli 
                         tcpSocket.mli 

Log message:
        patch #5578

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/config/Makefile.in?cvsroot=mldonkey&r1=1.172&r2=1.173
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1106&r2=1.1107
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/net/tcpClientSocket.ml?cvsroot=mldonkey&r1=1.13&r2=0
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/net/tcpClientSocket.mli?cvsroot=mldonkey&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/net/tcpSocket.mli?cvsroot=mldonkey&r1=1.1&r2=0

Patches:
Index: config/Makefile.in
===================================================================
RCS file: /sources/mldonkey/mldonkey/config/Makefile.in,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -b -r1.172 -r1.173
--- config/Makefile.in  26 Oct 2006 13:18:42 -0000      1.172
+++ config/Makefile.in  21 Nov 2006 22:29:58 -0000      1.173
@@ -206,8 +206,6 @@
   $(NET)/cobs.ml \
   $(NET)/terminal.ml
 
-#  $(NET)/tcpClientSocket.ml 
-
 XML_SRCS= \
   $(XML)/xml_types.ml $(XML)/xml_parser.mly $(XML)/xml_lexer.mll \
   $(XML)/xml_dtd.ml $(XML)/xmlParser.ml $(XML)/xml.ml

Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1106
retrieving revision 1.1107
diff -u -b -r1.1106 -r1.1107
--- distrib/ChangeLog   21 Nov 2006 21:38:00 -0000      1.1106
+++ distrib/ChangeLog   21 Nov 2006 22:29:58 -0000      1.1107
@@ -15,6 +15,10 @@
 =========
 
 2006/11/21
+5578: Remove unused files
+- src/utils/net/tcpClientSocket.ml
+- src/utils/net/tcpClientSocket.mli
+- src/utils/net/tcpSocket.mli
 5577: EDK: Send correct SUI tags
 - sometimes MLDonkey sent SUI=true tag when CryptoPP was not linked
 

Index: src/utils/net/tcpClientSocket.ml
===================================================================
RCS file: src/utils/net/tcpClientSocket.ml
diff -N src/utils/net/tcpClientSocket.ml
--- src/utils/net/tcpClientSocket.ml    31 Oct 2006 15:41:55 -0000      1.13
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,789 +0,0 @@
-(* Copyright 2001, 2002 b8_bavard, b8_fee_carabine, INRIA *)
-(*
-    This file is part of mldonkey.
-
-    mldonkey is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    mldonkey is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with mldonkey; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*)
-
-open Printf2
-open BasicSocket
-
-(* let _ = Unix2.init () *)
-  
-type event = 
-  WRITE_DONE
-| CAN_REFILL
-| BUFFER_OVERFLOW
-| READ_DONE of int
-| BASIC_EVENT of BasicSocket.event
-  
-type buf = {
-    mutable buf : string;
-    mutable pos : int;
-    mutable len : int;
-    mutable max_buf_size:int;
-  }
-
-type t = {
-    mutable sock : BasicSocket.t;
-    mutable rbuf : buf;
-    mutable wfifo : string Fifo.t;
-    mutable wlen : int;
-    mutable wfbuf : buf;
-    mutable event_handler : handler;
-    mutable error : string;
-    mutable nread : int;
-    mutable nwrite : int;
-    mutable monitored : bool;
-    
-    mutable read_control : bandwidth_controler option;
-    mutable write_control : bandwidth_controler option;
-    mutable write_power : int;    
-    mutable read_power : int;    
-  }  
-  
-and handler = t -> event -> unit
-
-and bandwidth_controler = {
-    mutable remaining_bytes : int;
-    mutable total_bytes : int;
-    mutable nconnections : int;
-    mutable connections : t list;
-    allow_io : bool ref;
-    mutable last_remaining : int;
-    mutable moved_bytes : int64;
-  }
-
-
-let tcp_uploaded_bytes = ref Int64.zero
-let tcp_downloaded_bytes = ref Int64.zero
-  
-let nread t = t.nread
-
-let min_buffer_read = 500
-let min_read_size = min_buffer_read - 100  
-  
-let old_strings_size = 20
-let old_strings = Array.create old_strings_size ""
-let old_strings_len = ref 0
-  
-let new_string () =
-  if !old_strings_len > 0 then begin
-      decr old_strings_len;
-      let s = old_strings.(!old_strings_len) in
-      old_strings.(!old_strings_len) <- "";
-      s
-    end else
-    String.create min_buffer_read
-  
-let delete_string s =
-  if !old_strings_len < old_strings_size &&
-    String.length s = min_buffer_read then begin
-      old_strings.(!old_strings_len) <- s;
-      incr old_strings_len;
-    end
-
-let close t s = 
-(*
-  if t.monitored then begin
-      lprintf "close with %s %s" t.error s; lprint_newline ();
-end;
-*)
-  begin
-    try
-      delete_string t.rbuf.buf;
-      t.rbuf.buf <- "";
-      t.wfbuf.buf <- "";
-      close t.sock (Printf.sprintf "%s after %d/%d" s t.nread t.nwrite)
-    with e ->
-        lprintf "Exception %s in TcpBufferedSocket.close\n"
-          (Printexc2.to_string e);
-        raise e
-  end
-  
-let shutdown t s =
-  (*
-  if t.monitored then begin
-      lprintf "shutdown"; lprint_newline ();
-end;
-  *)
-  (try BasicSocket.shutdown t.sock s with e -> 
-       lprintf "exception %s in shutdown\n" (Printexc2.to_string e));
-  (try close t s with  e -> 
-        lprintf "exception %s in shutdown\n" (Printexc2.to_string e))
-
-let buf_create max = 
-  {
-    buf = "";
-    pos = 0;
-    len = 0;
-    max_buf_size = max;
-  } 
-
-let error t = t.error
-      
-      
-let set_reader t f =
-  let old_handler = t.event_handler in
-  let handler t ev =
-(*    if t.monitored then (lprintf "set_reader handler"; lprint_newline ()); *)
-    match ev with
-      READ_DONE nread ->
-(*        lprintf "READ_DONE %d" nread; lprint_newline (); *)
-        f t nread
-    |_ -> old_handler t ev
-  in
-  t.event_handler <- handler
-
-let set_closer t f =
-  let old_handler = t.event_handler in
-  let handler t ev =
-(*    if t.monitored then (lprintf "set_closer handler"; lprint_newline ()); *)
-    match ev with
-      BASIC_EVENT (CLOSED s) ->
-(*        lprintf "READ_DONE %d" nread; lprint_newline (); *)
-        f t s
-    |_ -> old_handler t ev
-  in
-  t.event_handler <- handler
-
-      
-let buf_used t nused =
-  let b = t.rbuf in
-  if nused = b.len then
-    ( b.len <- 0; 
-      b.pos <- 0;
-      delete_string b.buf;
-      b.buf <- "";
-      )
-  else
-    (b.len <- b.len - nused; b.pos <- b.pos + nused)
-
-let set_handler t event handler =
-  let old_handler = t.event_handler in
-  let handler t ev =
-(*    if t.monitored then (lprintf "set_handler handler"; lprint_newline ()); 
*)
-    if ev = event then
-      handler t
-    else
-      old_handler t ev
-  in
-  t.event_handler <- handler
-
-let set_refill t f =
-  set_handler t CAN_REFILL f;
-  if t.wlen = 0 then (try f t with _ -> ())
-
-let buf t = t.rbuf
-let sock t = t.sock
-  
-let closed t = closed t.sock
-
-let buf_add t b s pos1 len =
-  let curpos = b.pos + b.len in
-  let max_len = 
-    if b.buf = "" then
-      begin
-        b.buf <- new_string ();
-        min_buffer_read
-      end else
-      String.length b.buf in
-  if max_len - curpos < len then (* resize before blit *)
-    if b.len + len < max_len then (* just move to 0 *)
-      begin
-        String.blit b.buf b.pos b.buf 0 b.len;
-        String.blit s pos1 b.buf b.len len;            
-        b.len <- b.len + len;
-        b.pos <- 0;
-      end
-    else
-    if b.len + len > b.max_buf_size then begin
-        lprintf "BUFFER OVERFLOW %d+%d> %d\n" b.len len b.max_buf_size ; 
-        
-        lprintf "MESSAGE [";
-        for i = pos1 to pos1 + (mini len 20) - 1 do
-          lprintf "(%d)" (int_of_char s.[i]);
-        done;
-        if len > 20 then lprintf "...";
-        lprintf "]\n";
-        
-        t.event_handler t BUFFER_OVERFLOW;
-      end
-    else
-    let new_len = mini (maxi (2 * max_len) (b.len + len)) b.max_buf_size  in
-(*    if t.monitored then
-      (lprintf "Allocate new for %d" len; lprint_newline ()); *)
-    let new_buf = String.create new_len in
-    String.blit b.buf b.pos new_buf 0 b.len;
-    String.blit s pos1 new_buf b.len len;            
-    b.len <- b.len + len;
-    b.pos <- 0;
-    if max_len = min_buffer_read then delete_string b.buf;
-(*    if t.monitored then
-      (lprintf "new buffer allocated"; lprint_newline ()); *)
-    b.buf <- new_buf
-  else begin
-      String.blit s pos1 b.buf curpos len;
-      b.len <- b.len + len
-    end
-
-let write t s = ()
-let write_uniq t s = ()
-    
-    (*
-let write t s pos1 len =
-(*  lprintf "want_write %d" len; lprint_newline (); *)
-  if len > 0 && not (closed t) then
-    let pos2 = pos1 + len in
-    let b = t.wbuf in
-    let pos1 =
-      if b.len = 0 && (match t.write_control with
-            None -> 
-(*              lprintf "NO CONTROL"; lprint_newline (); *)
-              true
-          | Some bc -> 
-(*              lprintf "LIMIT %d" bc.total_bytes; lprint_newline (); *)
-              bc.total_bytes = 0)
-      then 
-        try
-(*          lprintf "try write %d" len; lprint_newline (); *)
-          let fd = fd t.sock in
-          let nw = Unix.write fd s pos1 len in
-(*          if t.monitored then begin
-              lprintf "write: direct written %d" nw; lprint_newline (); 
-end; *)
-          tcp_uploaded_bytes := !tcp_uploaded_bytes ++ (Int64.of_int nw);
-          (match t.write_control with
-              None -> ()
-            | Some bc ->
-                bc.moved_bytes <- bc.moved_bytes ++ (Int64.of_int nw));
-          t.nwrite <- t.nwrite + nw;
-          if nw = 0 then (close t "closed on write"; pos2) else
-            pos1 + nw
-        with
-          Unix.Unix_error ((Unix.EWOULDBLOCK | Unix.EAGAIN | Unix.ENOTCONN), 
_, _) -> pos1
-        | e ->
-            t.error <- Printf.sprintf "Write Error: %s" (Printexc2.to_string 
e);
-            close t t.error;
-            
-(*      lprintf "exce %s in read" (Printexc2.to_string e); lprint_newline (); 
*)
-            raise e
-
-      else pos1
-    in
-    if pos2 > pos1 then
-      let sock = t.sock in
-      must_write sock true;
-      buf_add t b s pos1 (pos2 - pos1)
-
-let write_string t s = write t s 0 (String.length s)
-  *)
-
-let dummy_sock = Obj.magic 0
-
-let exn_exit = Exit
-  
-let can_read_handler t sock max_len =
-  let b = t.rbuf in
-  let curpos = b.pos + b.len in
-  let can_read =
-    if b.buf = "" then begin
-        b.buf <- new_string ();
-        min_buffer_read
-      end 
-    else
-    if max_len - curpos < min_read_size then
-      if b.len + min_read_size > b.max_buf_size then
-        (
-          t.event_handler t BUFFER_OVERFLOW; 
-          lprintf "[OVERFLOW] in %s" (info sock); 
-          close t "buffer overflow"; 
-          raise exn_exit; 
-          0
-        )
-      else
-      if b.len + min_read_size < max_len then
-        ( 
-          String.blit b.buf b.pos b.buf 0 b.len;
-          b.pos <- 0;
-          max_len - b.len
-        )
-      else
-      let new_len = mini 
-          (maxi 
-            (2 * max_len) (b.len + min_read_size)) b.max_buf_size  
-      in
-      let new_buf = String.create new_len in
-      String.blit b.buf b.pos new_buf 0 b.len;
-      b.pos <- 0;
-      b.buf <- new_buf;
-      new_len - b.len
-    else
-      max_len - curpos
-  in
-  let can_read = mini max_len can_read in
-  if can_read > 0 then
-    let nread = try
-(*        lprintf "try read %d" can_read; lprint_newline ();*)
-        Unix.read (fd sock) b.buf (b.pos + b.len) can_read
-      with 
-        Unix.Unix_error((Unix.EWOULDBLOCK | Unix.EAGAIN), _,_) as e -> raise e
-      | e ->
-          t.error <- Printf.sprintf "Can Read Error: %s" (Printexc2.to_string 
e);
-          close t t.error;
-
-(*      lprintf "exce %s in read" (Printexc2.to_string e); lprint_newline (); 
*)
-          raise e
-    
-    in
-    tcp_downloaded_bytes := !tcp_downloaded_bytes ++ (Int64.of_int nread);
-    (match t.read_control with
-        None -> () | Some bc ->
-          bc.moved_bytes <- bc.moved_bytes ++ (Int64.of_int nread));        
-    
-    t.nread <- t.nread + nread;
-    if nread = 0 then begin
-      close t "closed on read";
-    end else begin
-      let curpos = b.pos in
-      b.len <- b.len + nread;
-      try
-(*              if t.monitored then 
-   (lprintf "event handler READ DONE"; lprint_newline ()); *)
-        t.event_handler t (READ_DONE nread);
-      with
-      | e ->
-(*                if t.monitored then
-   (lprintf "Exception in READ DONE"; lprint_newline ()); *)
-          t.error <- Printf.sprintf "READ_DONE Error: %s" (Printexc2.to_string 
e);
-          close t t.error;
-
-(*      lprintf "exce %s in read" (Printexc2.to_string e); lprint_newline (); 
*)
-          raise e
-    end
-
-let can_write_handler t sock max_len =
-  (*
-(*      if t.monitored then (
-          lprintf "CAN_WRITE (%d)" t.wbuf.len; lprint_newline ();
-        ); *)
-  let b = t.wbuf in
-  if b.len > 0 then
-    begin
-      try
-(*     lprintf "try write %d/%d" max_len t.wbuf.len; lprint_newline (); *)
-        let fd = fd sock in
-        let nw = Unix.write fd b.buf b.pos max_len in
-
-(*            if t.monitored then
-(lprintf "written %d" nw; lprint_newline ()); *)
-        tcp_uploaded_bytes := !tcp_uploaded_bytes ++ (Int64.of_int nw);
-        (match t.write_control with
-            None -> ()
-          | Some bc ->
-              bc.moved_bytes <- bc.moved_bytes ++ (Int64.of_int nw));        
-        t.nwrite <- t.nwrite + nw;
-        b.len <- b.len - nw;
-        b.pos <- b.pos + nw;
-        if nw = 0 then close t "closed on write" else
-        if b.len = 0 then begin
-            b.pos <- 0;
-            delete_string b.buf;
-            b.buf <- "";
-          end
-      with 
-        Unix.Unix_error((Unix.EWOULDBLOCK | Unix.EAGAIN), _,_) as e -> raise e
-      | e ->
-          t.error <- Printf.sprintf "Can Write Error: %s" (Printexc2.to_string 
e);
-          close t t.error;
-
-(*      lprintf "exce %s in read" (Printexc2.to_string e); lprint_newline (); 
*)
-          raise e
-    
-    end;
-  if not (closed t) then begin
-      t.event_handler t CAN_REFILL;
-      if b.len = 0 then begin
-          delete_string b.buf;
-          b.pos <- 0;
-          must_write t.sock false;
-          t.event_handler t WRITE_DONE
-        end
-    end      
-*)
-  ()
-  
-let remaining_to_write t = t.wlen
-    
-let tcp_handler t sock event = 
-  match event with
-  | CAN_READ ->
-(*      lprintf "CAN_READ"; lprint_newline (); *)
-      begin
-        match t.read_control with
-          None ->
-            can_read_handler t sock (String.length t.rbuf.buf)
-        | Some bc ->
-            if bc.total_bytes = 0 then 
-              can_read_handler t sock (String.length t.rbuf.buf)
-            else begin
-(*                lprintf "DELAYED"; lprint_newline (); *)
-                if bc.remaining_bytes > 0 then
-                  begin
-                    bc.connections <- t :: bc.connections;
-                    bc.nconnections <- t.read_power + bc.nconnections
-                  end
-              end
-      end
-  | CAN_WRITE ->
-(*      lprintf "CAN_WRITE"; lprint_newline (); *)
-      begin
-        match t.write_control with
-          None ->
-            can_write_handler t sock t.wlen
-        | Some bc ->
-            if bc.total_bytes = 0 then
-              can_write_handler t sock t.wlen
-            else  begin
-(*                lprintf "DELAYED"; lprint_newline (); *)
-            if bc.remaining_bytes > 0 then begin
-                bc.connections <- t :: bc.connections;
-                bc.nconnections <- t.write_power + bc.nconnections
-                  end
-              end
-      end
-  | _ -> t.event_handler t (BASIC_EVENT event)
-
-let read_bandwidth_controlers = ref []
-let write_bandwidth_controlers = ref []
-  
-let _ =
-  Heap.add_memstat "tcpClientSocket" (fun level buf ->
-      Printf.bprintf buf "  read_bandwidth_controlers: %d\n" (List.length 
!read_bandwidth_controlers);
-      Printf.bprintf buf "  write_bandwidth_controlers: %d\n" (List.length 
!write_bandwidth_controlers);
-  )
-      
-let create_read_bandwidth_controler rate = 
-  let bc = {
-      remaining_bytes = rate;
-      total_bytes = rate;
-      nconnections = 0;
-      connections = [];
-      allow_io = ref true;
-      last_remaining = 0;
-      moved_bytes = Int64.zero;
-    } in
-  read_bandwidth_controlers := bc :: !read_bandwidth_controlers;
-  bc
-      
-let create_write_bandwidth_controler rate = 
-  let bc = {
-      remaining_bytes = rate;
-      total_bytes = rate;
-      nconnections = 0;
-      connections = [];
-      allow_io = ref true;
-      last_remaining = 0;
-      moved_bytes = Int64.zero;
-    } in
-  write_bandwidth_controlers := bc :: !write_bandwidth_controlers;
-  bc
-
-let change_rate bc rate =
-  bc.total_bytes <- rate
-
-let bandwidth_controler t sock = 
-  (match t.read_control with
-      None -> ()
-    | Some bc ->
-        must_read sock (bc.total_bytes = 0 || bc.remaining_bytes > 0));
-  (match t.write_control with
-      None -> ()
-    | Some bc ->
-        must_write sock ((bc.total_bytes = 0 || bc.remaining_bytes > 0)
-          && t.wlen > 0))  
-  
-let set_read_controler t bc =
-  t.read_control <- Some bc;
-(*  set_before_select t.sock (bandwidth_controler t); *)
-  set_allow_read t.sock bc.allow_io;
-  bandwidth_controler t t.sock
-  
-let set_write_controler t bc =
-  t.write_control <- Some bc;
-(*  set_before_select t.sock (bandwidth_controler t); *)
-  set_allow_write t.sock bc.allow_io;
-  bandwidth_controler t t.sock
-  
-let max_buffer_size = ref 10000000
-
-let dump_socket t buf = 
-  print_socket buf t.sock;
-  Printf.bprintf buf "rbuf: %d/%d wbuf: %d/%d\n" t.rbuf.len (String.length 
t.rbuf.buf) t.wlen (String.length t.wfbuf.buf)
-  
-let create name fd handler =
-  if !debug then begin
-      lprintf_nl "[fd %d %s]\n" (Obj.magic fd) name;
-    end;
-  MlUnix.set_close_on_exec fd;
-  let t = {
-      sock = dummy_sock;
-      rbuf = buf_create !max_buffer_size;
-      wfbuf = buf_create !max_buffer_size;
-      event_handler = handler;
-      error = "";
-      nread = 0;
-      nwrite = 0;
-      monitored = false;
-      read_control = None;
-      write_control = None;
-      write_power = 1;
-      read_power = 1;
-      wlen = 0;
-      wfifo = Fifo.create ();
-    } in
-  let sock = BasicSocket.create name fd (tcp_handler t) in
-  let name = (fun () ->
-        Printf.sprintf "%s (nread: %d nwritten: %d) [U %s,D %s]" name t.nread 
t.nwrite
-        (string_of_bool (t.read_control <> None)) 
-       (string_of_bool (t.write_control <> None));
-        ;
-    ) in
-  set_printer sock name;
-  set_dump_info sock (dump_socket t);
-  t.sock <- sock;
-  t
-
-let create_blocking name fd handler =
-  MlUnix.set_close_on_exec fd;
-  let t = {
-      sock = dummy_sock;
-      rbuf = buf_create !max_buffer_size;
-      wfbuf = buf_create !max_buffer_size;
-      event_handler = handler;
-      error = "";
-      nread = 0;
-      nwrite = 0;
-      monitored = false;
-      read_control = None;
-      write_control = None;
-      write_power = 1;
-      read_power = 1;
-      wlen = 0;
-      wfifo = Fifo.create ();
-    } in
-  let sock = create_blocking name fd (tcp_handler t) in
-  t.sock <- sock;
-  set_dump_info sock (dump_socket t);
-  t
-  
-let create_simple name fd =
-  create name fd (fun _ _ -> ())
-  
-let connect name host port handler =
-  try
-(*   lprintf "CONNECT tcpClientSocket\n";  *)
-    let s = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in
-    let t = create name s handler in
-    must_write (sock t) true;
-    try
-      Unix.connect s (Unix.ADDR_INET(host,port));
-      t
-    with 
-      Unix.Unix_error((Unix.EINPROGRESS|Unix.EINTR),_,_) -> t
-    | Unix.Unix_error (Unix.ENETUNREACH,_,_) as e ->
-        close t "connect failed";
-        raise e
-    | e -> 
-        lprintf "For host %s port %d\n"
-         (Unix.string_of_inet_addr host) port;
-        close t "connect failed";
-        raise e
-  with e -> 
-      lprintf "+++ Exception BEFORE CONNECT %s\n" (Printexc2.to_string e);
-      raise e
-      
-  
-  
-let set_max_write_buffer t len =
-  t.wfbuf.max_buf_size <- len;
-  t.rbuf.max_buf_size <- len
-  
-let can_write t =
-  t.wlen = 0
-
-let can_write_len t len =
-(*  lprintf "CAN WRITE %d > %d + %d"  t.wbuf.max_buf_size t.wbuf.len len; 
lprint_newline (); *)
-  t.wfbuf.max_buf_size > t.wlen + len
-  
-let close_after_write t =
-  if t.wlen = 0 then begin
-      shutdown t "close after write"
-    end
-  else
-    set_handler t WRITE_DONE (fun t -> 
-        shutdown t "close after write")
-
-let set_monitored t =
-  t.monitored <- true
-  
-  
-let _ =
-  add_infinite_timer 1.0 (fun timer ->
-      List.iter (fun bc ->
-          bc.last_remaining <- bc.remaining_bytes;
-          bc.remaining_bytes <- bc.total_bytes;
-          if bc.remaining_bytes > 0 then bc.allow_io := true
-(*            lprintf "READ remaining_bytes: %d" bc.remaining_bytes;  *)
-      ) !read_bandwidth_controlers;
-      List.iter (fun bc ->
-          bc.last_remaining <- bc.remaining_bytes;
-          bc.remaining_bytes <- bc.total_bytes;          
-          if bc.remaining_bytes > 0 then bc.allow_io := true;
-          (*
-          lprintf "WRITE remaining_bytes: %d" bc.remaining_bytes; 
-          lprint_newline (); *)
-      ) !write_bandwidth_controlers
-  );
-
-  set_before_select_hook (fun _ ->
-      List.iter (fun bc ->
-          bc.allow_io := (bc.total_bytes = 0 || bc.remaining_bytes > 0);
-      ) !read_bandwidth_controlers;
-        List.iter (fun bc ->
-          bc.allow_io := (bc.total_bytes = 0 || bc.remaining_bytes > 0);
-      ) !write_bandwidth_controlers;
-  );
-
-  set_after_select_hook (fun _ ->
-      List.iter (fun bc ->
-          List.iter (fun t ->
-              if bc.remaining_bytes > 0 then
-                let can_read = maxi 1 (bc.remaining_bytes / bc.nconnections) in
-                let can_read = can_read * t.read_power in
-                let old_nread = t.nread in
-                (try
-                    can_read_handler t t.sock (mini can_read 
-                        (String.length t.rbuf.buf)) 
-                  with _ -> ());
-                bc.remaining_bytes <- bc.remaining_bytes - 
-                t.nread + old_nread;
-                bc.nconnections <- bc.nconnections - t.read_power;
-          ) bc.connections;
-          if bc.remaining_bytes > 0 then bc.allow_io := false;
-          bc.connections <- [];
-          bc.nconnections <- 0;
-      ) !read_bandwidth_controlers;
-      List.iter (fun bc ->
-          List.iter (fun t ->
-              if bc.remaining_bytes > 0 then
-                let can_write = maxi 1 (bc.remaining_bytes / bc.nconnections) 
in
-                let can_write = can_write * t.write_power in
-                let old_nwrite = t.nwrite in
-                (try
-(*                    lprintf "WRITE"; lprint_newline (); *)
-                    can_write_handler t t.sock (mini can_write t.wlen)
-                  with _ -> ());
-                bc.remaining_bytes <- bc.remaining_bytes - 
-                t.nwrite + old_nwrite;
-                bc.nconnections <- bc.nconnections - t.write_power;
-          ) bc.connections;
-          if bc.remaining_bytes > 0 then bc.allow_io := false;
-          bc.connections <- [];
-          bc.nconnections <- 0;
-      ) !write_bandwidth_controlers
-  )
-
-
-let my_ip t =
-  let fd = fd t.sock in
-  match Unix.getsockname fd with
-    Unix.ADDR_INET (ip, port) -> Ip.of_inet_addr ip
-  | _ -> raise Not_found
-      
-let stats buf t =
-  BasicSocket.stats buf t.sock;
-  Printf.bprintf buf "  rbuf size: %d/%d\n" (String.length t.rbuf.buf)
-  t.rbuf.max_buf_size;
-  Printf.bprintf buf "  wbuf size: %d/%d\n" (t.wlen)
-  t.wfbuf.max_buf_size
-
-let buf_size  t =
-  (String.length t.rbuf.buf),
-  (String.length t.wfbuf.buf)
-  
-let can_fill t =
-  t.wlen < (t.wfbuf.max_buf_size / 2)
-  
-let if_possible bc len = 
-  bc.total_bytes = 0 ||
-  if bc.last_remaining >= len then begin
-      bc.last_remaining <- bc.last_remaining - len;
-      true;
-    end else false
-    
-let set_rtimeout s t = set_rtimeout (sock s) t
-let set_wtimeout s t = set_wtimeout (sock s) t
-
-open LittleEndian
-   
-let internal_buf = Buffer.create 17000
-
-let simple_send_buf buf sock = ()
-  (*
-  let s = Buffer.contents buf in
-  Buffer.reset buf;
-  buf_int8 buf 228;
-  let len = String.length s in
-  buf_int buf len;
-  write sock (Buffer.contents buf) 0 5;
-  write sock s 0 len
-*)
-  
-let value_send sock m = ()
-  (*
-  Buffer.reset internal_buf;
-  Buffer.add_string internal_buf (Marshal.to_string m []);
-  simple_send_buf internal_buf sock
-*)
-  
-let value_handler f sock nread = ()
-  (*
-  let b = buf sock in
-  try
-    while b.len >= 5 do
-      let msg_len = get_int b.buf (b.pos+1) in
-      if b.len >= 5 + msg_len then
-        begin
-          let s = String.sub b.buf (b.pos+5) msg_len in
-          let t = Marshal.from_string  s 0 in
-          buf_used sock  (msg_len + 5);
-          f t sock;
-          ()
-        end
-      else raise Not_found
-    done
-  with Not_found -> ()
-      *)
-
-  
-  
-let set_write_power t p = t.write_power <- p
-let set_read_power t p = t.read_power <- p
-  
-let set_lifetime s = set_lifetime (sock s)
-  
-let moved_bytes bc = bc.moved_bytes
-  

Index: src/utils/net/tcpClientSocket.mli
===================================================================
RCS file: src/utils/net/tcpClientSocket.mli
diff -N src/utils/net/tcpClientSocket.mli
--- src/utils/net/tcpClientSocket.mli   22 Apr 2003 22:33:40 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,108 +0,0 @@
-(* Copyright 2001, 2002 b8_bavard, b8_fee_carabine, INRIA *)
-(*
-    This file is part of mldonkey.
-
-    mldonkey is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    mldonkey is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with mldonkey; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*)
-type event =
-    WRITE_DONE
-  | CAN_REFILL
-  | BUFFER_OVERFLOW
-  | READ_DONE of int
-  | BASIC_EVENT of BasicSocket.event
-
-and buf = {
-  mutable buf : string;
-  mutable pos : int;
-  mutable len : int;
-  mutable max_buf_size : int;
-  } 
-  
-type t
-  
-type bandwidth_controler = {
-    mutable remaining_bytes : int;
-    mutable total_bytes : int;
-    mutable nconnections : int;
-    mutable connections : t list;
-    allow_io : bool ref;
-    mutable last_remaining : int;
-    mutable moved_bytes : int64;
-  }
-
-  
-and handler = t -> event -> unit
-
-val max_buffer_size : int ref
-
-val sock: t -> BasicSocket.t
-val create : string -> Unix.file_descr -> handler -> t
-val create_simple : string -> Unix.file_descr -> t
-val create_blocking : string -> Unix.file_descr -> handler -> t
-val buf : t -> buf
-val set_reader : t -> (t -> int -> unit) -> unit
-val buf_used : t -> int -> unit
-val set_handler : t -> event -> (t -> unit) -> unit
-val set_refill : t -> (t -> unit) -> unit
-val write: t -> string -> unit
-val write_uniq: t -> string -> unit
-val connect: string -> Unix.inet_addr -> int -> handler -> t
-val close : t -> string -> unit
-val closed : t -> bool
-val shutdown : t -> string -> unit
-val error: t -> string
-val tcp_handler: t -> BasicSocket.t -> BasicSocket.event -> unit
-val set_closer : t -> (t -> string -> unit) -> unit
-val nread : t -> int
-val set_max_write_buffer : t -> int -> unit  
-val can_write : t -> bool  
-val can_write_len : t -> int -> bool  
-val set_monitored : t -> unit
-  
-val close_after_write : t -> unit
-
-val create_read_bandwidth_controler : int -> bandwidth_controler
-val create_write_bandwidth_controler : int -> bandwidth_controler
-val set_read_controler : t -> bandwidth_controler -> unit
-val set_write_controler : t -> bandwidth_controler -> unit
-val change_rate : bandwidth_controler -> int -> unit
-
-  
-val my_ip : t -> Ip.t
-  
-val stats :  Buffer.t -> t -> unit
-val buf_size : t -> int * int
-val can_fill : t -> bool
-  
-val if_possible : bandwidth_controler -> int -> bool
-  
-val set_rtimeout : t -> float -> unit
-val set_wtimeout : t -> float -> unit
-
-val internal_buf : Buffer.t
-val value_send : t -> 'a -> unit
-val value_handler : ('a -> t -> unit) -> t -> int -> unit
-
-val set_write_power : t -> int -> unit
-val set_read_power : t -> int -> unit
-  
-val remaining_to_write : t -> int
-  
-val set_lifetime : t -> float -> unit
-  
-val tcp_uploaded_bytes : int64 ref
-val tcp_downloaded_bytes : int64 ref
-val moved_bytes : bandwidth_controler -> int64
-  

Index: src/utils/net/tcpSocket.mli
===================================================================
RCS file: src/utils/net/tcpSocket.mli
diff -N src/utils/net/tcpSocket.mli
--- src/utils/net/tcpSocket.mli 22 Apr 2003 22:33:40 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-(* Copyright 2001, 2002 b8_bavard, b8_fee_carabine, INRIA *)
-(*
-    This file is part of mldonkey.
-
-    mldonkey is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    mldonkey is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with mldonkey; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*)
-type event =
-    WRITE_DONE
-  | CAN_REFILL
-  | BUFFER_OVERFLOW
-  | READ_DONE of int
-  | BASIC_EVENT of BasicSocket.event
-
-and buf = {
-  mutable buf : string;
-  mutable pos : int;
-  mutable len : int;
-  mutable max_buf_size : int;
-  } 
-  
-type t
-  
-and handler = t -> event -> unit
-
-val sock: t -> BasicSocket.t
-val create : Unix.file_descr -> handler -> t
-val buf : t -> buf
-val set_reader : t -> (t -> int -> unit) -> unit
-val buf_used : t -> int -> unit
-val set_handler : t -> event -> (t -> unit) -> unit
-val set_refill : t -> (t -> unit) -> unit
-val write: t -> string -> int -> int -> unit
\ No newline at end of file




reply via email to

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