E
- the type of the mutable entries.@NotThreadSafe public class MultiplexingOutputService<E extends net.java.truecommons.cio.MutableEntry> extends net.java.truecommons.cio.DecoratingOutputService<E>
close()
d then, another attempt is
made to copy the I/O buffer into the decorated container.
If this container is still busy with writing an entry to the decorated
container, then the copying is deferred until either another I/O buffer
gets close()
d or this container gets close()
d,
whatever happens first.
Note that this implies that close()
ing an entry or this container
may fail with an IOException
.
Constructor and Description |
---|
MultiplexingOutputService(net.java.truecommons.cio.IoBufferPool pool,
net.java.truecommons.cio.OutputService<E> output)
Constructs a new multiplexed output service.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
E |
entry(String name) |
boolean |
isBusy()
Returns whether the container output archive is busy writing an archive
entry or not.
|
Iterator<E> |
iterator() |
net.java.truecommons.cio.OutputSocket<E> |
output(E local) |
int |
size() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
public MultiplexingOutputService(net.java.truecommons.cio.IoBufferPool pool, @WillCloseWhenClosed net.java.truecommons.cio.OutputService<E> output)
output
- the decorated output service.pool
- the pool for buffering entry data.@DischargesObligation public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in interface net.java.truecommons.shed.Stream<E extends net.java.truecommons.cio.MutableEntry>
close
in class net.java.truecommons.cio.DecoratingOutputService<E extends net.java.truecommons.cio.MutableEntry>
IOException
@CheckForNull public E entry(String name)
entry
in interface net.java.truecommons.cio.Container<E extends net.java.truecommons.cio.MutableEntry>
entry
in class net.java.truecommons.cio.DecoratingContainer<E extends net.java.truecommons.cio.MutableEntry,net.java.truecommons.cio.OutputService<E extends net.java.truecommons.cio.MutableEntry>>
public boolean isBusy()
public Iterator<E> iterator()
iterator
in interface Iterable<E extends net.java.truecommons.cio.MutableEntry>
iterator
in interface net.java.truecommons.cio.Container<E extends net.java.truecommons.cio.MutableEntry>
iterator
in class net.java.truecommons.cio.DecoratingContainer<E extends net.java.truecommons.cio.MutableEntry,net.java.truecommons.cio.OutputService<E extends net.java.truecommons.cio.MutableEntry>>
public int size()
size
in interface net.java.truecommons.cio.Container<E extends net.java.truecommons.cio.MutableEntry>
size
in class net.java.truecommons.cio.DecoratingContainer<E extends net.java.truecommons.cio.MutableEntry,net.java.truecommons.cio.OutputService<E extends net.java.truecommons.cio.MutableEntry>>
Copyright © 2005–2018 Schlichtherle IT Services. All rights reserved.