org.objectweb.carol.irmi
Class CountOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.objectweb.carol.irmi.CountOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class CountOutputStream
extends OutputStream

CountOutputStream is a simple instrumented OutputStream implementation that delegates all method calls to a provided OutputStream while timing all method calls and counting how many bytes are written by this OutputStream.

Author:
Rafael H. Schloming <rhs@mit.edu>

Constructor Summary
CountOutputStream(OutputStream os)
          Constructs a new CountOutputStream that delegates to the given OutputStream.
 
Method Summary
 void close()
           
 void flush()
           
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CountOutputStream

public CountOutputStream(OutputStream os)
Constructs a new CountOutputStream that delegates to the given OutputStream.

Parameters:
os - the delegate OutputStream
Method Detail

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException

write

public void write(byte[] b)
           throws IOException
Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(int b)
           throws IOException
Specified by:
write in class OutputStream
Throws:
IOException