Package com.yahoo.container.jdisc
Class ContentChannelOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- com.yahoo.container.jdisc.ContentChannelOutputStream
-
- All Implemented Interfaces:
com.yahoo.io.WritableByteTransmitter
,java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class ContentChannelOutputStream extends java.io.OutputStream implements com.yahoo.io.WritableByteTransmitter
A buffered stream wrapping a ContentChannel.- Author:
- Steinar Knutsen
-
-
Constructor Summary
Constructors Constructor Description ContentChannelOutputStream(com.yahoo.jdisc.handler.ContentChannel endpoint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Flush the internal buffers, does not touch the ContentChannel.void
flush()
Flush the internal buffers, does not touch the ContentChannel.void
nonCopyingWrite(byte[] b)
Buffered write the contents of the array to this stream, transferring ownership of that array to this stream.void
nonCopyingWrite(byte[] b, int off, int len)
Buffered write of the contents of the array to this stream, transferring ownership of that array to this stream.void
send(java.nio.ByteBuffer src)
Write a ByteBuffer to the wrapped ContentChannel.protected void
send(java.nio.ByteBuffer src, com.yahoo.jdisc.handler.CompletionHandler completionHandler)
void
write(byte[] b)
Buffered write the contents of the array to this stream, copying the contents of the given array to this stream.void
write(byte[] b, int off, int len)
Buffered write of the contents of the array to this stream, copying the contents of the given array to this stream.void
write(int b)
Buffered write of a single byte.long
written()
Returns the number of bytes written to this stream
-
-
-
Method Detail
-
write
public void write(int b) throws java.io.IOException
Buffered write of a single byte.- Specified by:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
Flush the internal buffers, does not touch the ContentChannel.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
Flush the internal buffers, does not touch the ContentChannel.- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException
Buffered write of the contents of the array to this stream, copying the contents of the given array to this stream. It is in other words safe to recycle the arrayb
.- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException
Buffered write the contents of the array to this stream, copying the contents of the given array to this stream. It is in other words safe to recycle the arrayb
.- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
nonCopyingWrite
public void nonCopyingWrite(byte[] b, int off, int len) throws java.io.IOException
Buffered write of the contents of the array to this stream, transferring ownership of that array to this stream. It is in other words not safe to recycle the arrayb
.- Throws:
java.io.IOException
-
nonCopyingWrite
public void nonCopyingWrite(byte[] b) throws java.io.IOException
Buffered write the contents of the array to this stream, transferring ownership of that array to this stream. It is in other words not safe to recycle the arrayb
.- Throws:
java.io.IOException
-
send
public void send(java.nio.ByteBuffer src) throws java.io.IOException
Write a ByteBuffer to the wrapped ContentChannel. Do invokeflush()
before send(ByteBuffer) to avoid garbled output if the stream API has been accessed before using the ByteBuffer based API. As with ContentChannel, this transfers ownership of the ByteBuffer to this stream.- Specified by:
send
in interfacecom.yahoo.io.WritableByteTransmitter
- Throws:
java.io.IOException
-
send
protected void send(java.nio.ByteBuffer src, com.yahoo.jdisc.handler.CompletionHandler completionHandler) throws java.io.IOException
- Throws:
java.io.IOException
-
written
public long written()
Returns the number of bytes written to this stream
-
-