public static final class TestLessInputStream.TestLessInputStreamBuilder
extends java.lang.Object
streams
, registers cachable commands
and provides accessible API to dispatch immediate commands to all atomically
alive streams.Modifier and Type | Class and Description |
---|---|
private class |
TestLessInputStream.TestLessInputStreamBuilder.CachableCommands
Event is persisted.
|
private class |
TestLessInputStream.TestLessInputStreamBuilder.CIt |
private class |
TestLessInputStream.TestLessInputStreamBuilder.ImmediateCommands
Event is called just now for all alive streams and command is not persisted.
|
private static class |
TestLessInputStream.TestLessInputStreamBuilder.Node |
Modifier and Type | Field and Description |
---|---|
private java.util.Queue<TestLessInputStream> |
aliveStreams |
private TestLessInputStream.TestLessInputStreamBuilder.CachableCommands |
cachableCommands |
private TestLessInputStream.TestLessInputStreamBuilder.Node |
head |
private TestLessInputStream.TestLessInputStreamBuilder.ImmediateCommands |
immediateCommands |
private java.lang.Iterable<Command> |
iterableCachable |
private java.util.concurrent.locks.ReentrantReadWriteLock |
rwLock |
Constructor and Description |
---|
TestLessInputStreamBuilder() |
Modifier and Type | Method and Description |
---|---|
private boolean |
addTailNodeIfAbsent(Command command) |
TestLessInputStream |
build() |
NotifiableTestStream |
getCachableCommands() |
NotifiableTestStream |
getImmediateCommands() |
(package private) java.lang.Iterable<Command> |
getIterableCachable()
The iterator is not thread safe.
|
private static TestLessInputStream.TestLessInputStreamBuilder.Node |
nextCachedNode(TestLessInputStream.TestLessInputStreamBuilder.Node current) |
void |
removeStream(TestLessInputStream is) |
private final java.util.concurrent.locks.ReentrantReadWriteLock rwLock
private final java.util.Queue<TestLessInputStream> aliveStreams
private final TestLessInputStream.TestLessInputStreamBuilder.ImmediateCommands immediateCommands
private final TestLessInputStream.TestLessInputStreamBuilder.CachableCommands cachableCommands
private final TestLessInputStream.TestLessInputStreamBuilder.Node head
private final java.lang.Iterable<Command> iterableCachable
public TestLessInputStream build()
public void removeStream(TestLessInputStream is)
public NotifiableTestStream getImmediateCommands()
public NotifiableTestStream getCachableCommands()
java.lang.Iterable<Command> getIterableCachable()
private boolean addTailNodeIfAbsent(Command command)
private static TestLessInputStream.TestLessInputStreamBuilder.Node nextCachedNode(TestLessInputStream.TestLessInputStreamBuilder.Node current)