private final class IOCache.CacheOutputSocket extends OutputSocket<Entry>
| Modifier and Type | Field and Description |
|---|---|
private IOCache.Buffer |
buffer |
| Modifier | Constructor and Description |
|---|---|
private |
IOCache.CacheOutputSocket() |
| Modifier and Type | Method and Description |
|---|---|
private OutputSocket<?> |
getBoundSocket() |
private IOCache.Buffer |
getBuffer() |
Entry |
getLocalTarget()
Returns the local target for I/O operations.
|
java.io.OutputStream |
newOutputStream()
Returns a new output stream for writing bytes to the
local target. |
java.nio.channels.SeekableByteChannel |
newSeekableByteChannel()
Optional: Returns a new seekable byte channel for writing bytes
to the
local target in arbitrary order. |
bind, connect, getPeerTarget@CheckForNull private volatile IOCache.Buffer buffer
public Entry getLocalTarget() throws java.io.IOException
IOSocket
Note that this interface contract does not state any other
terms or conditions for the returned object.
In particular, clients need to consider that multiple invocations of
this method could return different objects (e.g. defensive copies) which
may even fail the Object.equals(java.lang.Object) test.
On the other hand, implementations need to consider that clients could
attempt to change the state of the returned object in arbitrary manner.
Consequently, the result of doing so is undefined, too.
In particular, a subsequent I/O operation may not reflect the change
or may even fail.
Sub-interfaces or implementations may add additional terms and
conditions in order to resolve these potential issues.
getLocalTarget in class IOSocket<Entry,Entry>java.io.IOExceptionpublic java.nio.channels.SeekableByteChannel newSeekableByteChannel()
throws java.io.IOException
OutputSocketlocal target in arbitrary order.
If this method is supported, implementations must enable calling it any number of times. Furthermore, the returned seekable byte channel should not be buffered. Buffering should be addressed by client applications instead.
newSeekableByteChannel in class OutputSocket<Entry>java.io.IOException - on any I/O error.public java.io.OutputStream newOutputStream()
throws java.io.IOException
OutputSocketlocal target.
Implementations must enable calling this method any number of times.
Furthermore, the returned output stream should not be buffered.
Buffering should be addressed by the caller instead - see
IOSocket.copy(de.schlichtherle.truezip.socket.InputSocket<?>, de.schlichtherle.truezip.socket.OutputSocket<?>).
newOutputStream in class OutputSocket<Entry>java.io.IOException - on any I/O error.private OutputSocket<?> getBoundSocket() throws java.io.IOException
java.io.IOExceptionprivate IOCache.Buffer getBuffer() throws java.io.IOException
java.io.IOExceptionCopyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.