<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to feature-requests</title><link href="https://sourceforge.net/p/bitext/feature-requests/" rel="alternate"/><link href="https://sourceforge.net/p/bitext/feature-requests/feed.atom" rel="self"/><id>https://sourceforge.net/p/bitext/feature-requests/</id><updated>2008-07-10T17:52:30Z</updated><subtitle>Recent changes to feature-requests</subtitle><entry><title>DSL layer on the top of Bittorrent API</title><link href="https://sourceforge.net/p/bitext/feature-requests/2/" rel="alternate"/><published>2008-07-10T17:52:30Z</published><updated>2008-07-10T17:52:30Z</updated><author><name>fo2sh</name><uri>https://sourceforge.net/u/innovationhero/</uri></author><id>https://sourceforge.neta811470000339a991fd00156195a4152fc1d782a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;It would be very interesting to have a documented Domain Specific Language (DSL) for this API, as an abstracted layer for developers using this API in their projects&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>DownloadManager</title><link href="https://sourceforge.net/p/bitext/feature-requests/1/" rel="alternate"/><published>2007-06-29T00:39:32Z</published><updated>2007-06-29T00:39:32Z</updated><author><name>Michael E. DeVore</name><uri>https://sourceforge.net/u/medv4380/</uri></author><id>https://sourceforge.net07c62d935bed9835b7fadb3ac21490bd026cbb4c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Some basic functions to get data from the DownloadManager would be nice.  Since most of the data is private after all.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;public float getCompleted() {&lt;br /&gt;
try{&lt;br /&gt;
return (float) (((float) (100.0)) * ((float) (this.isComplete.cardinality())) / ((float) (this.nbPieces)));&lt;br /&gt;
}catch(Exception e) {&lt;br /&gt;
return 0.00f;&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public float getDLRate() {&lt;br /&gt;
try{&lt;br /&gt;
float rate = 0.00f;&lt;br /&gt;
List&amp;lt;Peer&amp;gt; l = new LinkedList&amp;lt;Peer&amp;gt;(this.peerList.values());&lt;/p&gt;
&lt;p&gt;for (Iterator it = l.iterator(); it.hasNext(); ) {&lt;br /&gt;
Peer p = (Peer) it.next();&lt;br /&gt;
if(p.getDLRate(false) &amp;gt; 0)&lt;br /&gt;
rate =rate + p.getDLRate(true);                              &lt;br /&gt;
}&lt;br /&gt;
return rate/(1024 * 10);&lt;br /&gt;
}catch(Exception e) {&lt;br /&gt;
return 0.00f;&lt;br /&gt;
} &lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;public float getULRate() {&lt;br /&gt;
try{&lt;br /&gt;
float rate = 0.00f;&lt;br /&gt;
List&amp;lt;Peer&amp;gt; l = new LinkedList&amp;lt;Peer&amp;gt;(this.peerList.values());&lt;/p&gt;
&lt;p&gt;for (Iterator it = l.iterator(); it.hasNext(); ) {&lt;br /&gt;
Peer p = (Peer) it.next();&lt;br /&gt;
if(p.getULRate(false) &amp;gt; 0)&lt;br /&gt;
rate =rate + p.getULRate(true);                              &lt;br /&gt;
}&lt;br /&gt;
return rate/(1024 * 10);&lt;br /&gt;
}catch(Exception e) {&lt;br /&gt;
return 0.00f;&lt;br /&gt;
} &lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>