/[mldonkey]/mldonkey/src/networks/bittorrent/bTRate.ml
ViewVC logotype

Diff of /mldonkey/src/networks/bittorrent/bTRate.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by mldonkey, Wed Jan 14 22:54:17 2004 UTC revision 1.3 by spiralvoice, Sun Aug 7 12:57:22 2005 UTC
# Line 1  Line 1 
1  (* Copyright 2003, Denis Fortin  (* Copyright 2003, Denis Fortin
2     Heavily based on file CurrentRateMeasure.py     Heavily based on file CurrentRateMeasure.py
3     from BitTorrent 3.3 by Bram Cohen     from BitTorrent 3.3 by Bram Cohen
4   *)   *)
5  (*  (*
# Line 29  type t = { Line 29  type t = {
29    mutable rate : float;    mutable rate : float;
30  }  }
31    
32  let (>) a b = a.rate > b.rate  let (>) a b = a.rate > b.rate
33    
34  let update r amount =  let update r amount =
35    let t = float_of_int (last_time ()) in    let t = float_of_int (last_time ()) in
36      r.rate <- (r.rate *. (r.lasttime -. r.ratesince) +.      r.rate <- (r.rate *. (r.lasttime -. r.ratesince) +.
37                 amount) /. (t -. r.ratesince);                 amount) /. (t -. r.ratesince);
38      r.lasttime <- t;          r.lasttime <- t;
39      if r.ratesince < (t -. 20.) then      if r.ratesince < (t -. 20.) then
40        r.ratesince <- (t -. 20.)        r.ratesince <- (t -. 20.)
41    
42  let update_no_change r =  let update_no_change r =
43    let t = float_of_int (last_time ()) in    let t = float_of_int (last_time ()) in
44      r.ratesince <- t      r.ratesince <- t
45          
46  let ratesince r =  let ratesince r =
47    r.ratesince    r.ratesince
48    
49  let new_rate () =  let new_rate () =
50    let t = float_of_int (last_time()) in    let t = float_of_int (last_time()) in
51    {    {
52      ratesince = t -. 1.;      ratesince = t -. 1.;
53      lasttime = t;      lasttime = t;
54      rate = 0.;      rate = 0.;
55    }    }
56            
57  let last_time t =  let last_time t =
58    t.lasttime    t.lasttime
59            
60  let get_rate r =  let get_rate r =
61    r.rate    r.rate
       
62    
63  let compare r1 r2 =  let compare r1 r2 =
64    compare r1.rate r2.rate    compare r1.rate r2.rate
65    
66  let zero =   {  let zero =   {

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26