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
,Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
MaxPendingContentChannelOutputStream
public class ContentChannelOutputStream
extends OutputStream
implements com.yahoo.io.WritableByteTransmitter
A buffered stream wrapping a ContentChannel.
- Author:
- Steinar Knutsen
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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
(ByteBuffer src) Write a ByteBuffer to the wrapped ContentChannel.protected void
send
(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 streamMethods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
ContentChannelOutputStream
public ContentChannelOutputStream(com.yahoo.jdisc.handler.ContentChannel endpoint)
-
-
Method Details
-
write
Buffered write of a single byte.- Specified by:
write
in classOutputStream
- Throws:
IOException
-
close
Flush the internal buffers, does not touch the ContentChannel.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- Throws:
IOException
-
flush
Flush the internal buffers, does not touch the ContentChannel.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
-
write
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 classOutputStream
- Throws:
IOException
-
write
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 classOutputStream
- Throws:
IOException
-
nonCopyingWrite
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:
IOException
-
nonCopyingWrite
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:
IOException
-
send
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:
IOException
-
send
protected void send(ByteBuffer src, com.yahoo.jdisc.handler.CompletionHandler completionHandler) throws IOException - Throws:
IOException
-
written
public long written()Returns the number of bytes written to this stream
-