Author: sebb
Date: Tue Feb 22 02:23:12 2011
New Revision: 1073207

URL: http://svn.apache.org/viewvc?rev=1073207&view=rev
Log:
NET-359 CopyStreamAdapter unconditionally resets the CopyStreamEvent source and 
is inefficient

Modified:
    commons/proper/net/trunk/src/changes/changes.xml
    
commons/proper/net/trunk/src/main/java/org/apache/commons/net/io/CopyStreamAdapter.java

Modified: commons/proper/net/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/net/trunk/src/changes/changes.xml?rev=1073207&r1=1073206&r2=1073207&view=diff
==============================================================================
--- commons/proper/net/trunk/src/changes/changes.xml (original)
+++ commons/proper/net/trunk/src/changes/changes.xml Tue Feb 22 02:23:12 2011
@@ -53,6 +53,9 @@ The <action> type attribute can be add,u
 
     <body>
         <release version="TBA" date="TBA" description="TBA"
+            <action issue="NET-359" dev="sebb" type="fix">
+            CopyStreamAdapter unconditionally resets the CopyStreamEvent 
source and is inefficient
+            </action>
             <action issue="NET-355" dev="sebb" type="fix">
             examples.nntp.NNTPUtils does not compile
             </action>

Modified: 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/io/CopyStreamAdapter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/io/CopyStreamAdapter.java?rev=1073207&r1=1073206&r2=1073207&view=diff
==============================================================================
--- 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/io/CopyStreamAdapter.java
 (original)
+++ 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/io/CopyStreamAdapter.java
 Tue Feb 22 02:23:12 2011
@@ -63,9 +63,10 @@ public class CopyStreamAdapter implement
      */
     public void bytesTransferred(CopyStreamEvent event)
     {
-        bytesTransferred(event.getTotalBytesTransferred(),
-                         event.getBytesTransferred(),
-                         event.getStreamSize());
+        for (EventListener listener : internalListeners)
+        {
+            ((CopyStreamListener) (listener)).bytesTransferred(event);
+        }
     }
 
     /**
@@ -86,16 +87,10 @@ public class CopyStreamAdapter implement
     public void bytesTransferred(long totalBytesTransferred,
                                  int bytesTransferred, long streamSize)
     {
-        CopyStreamEvent event;
-
-        event = new CopyStreamEvent(this,
-                                    totalBytesTransferred,
-                                    bytesTransferred,
-                                    streamSize);
-
         for (EventListener listener : internalListeners)
         {
-            ((CopyStreamListener) (listener)).bytesTransferred(event);
+            ((CopyStreamListener) (listener)).bytesTransferred(
+                    totalBytesTransferred, bytesTransferred, streamSize);
         }
     }
 


Reply via email to