public final class InvocationTracker extends Object
| Constructor and Description |
|---|
InvocationTracker(Channel channel)
Construct a new instance, using the maximum number of messages from the channel.
|
InvocationTracker(Channel channel,
int maxMessages)
Construct a new instance.
|
InvocationTracker(Channel channel,
int maxMessages,
IntUnaryOperator intMasker)
Construct a new instance.
|
InvocationTracker(Channel channel,
IntUnaryOperator intMasker)
Construct a new instance, using the maximum number of messages from the channel.
|
InvocationTracker(Channel channel,
MessageTracker messageTracker,
IntUnaryOperator intMasker)
Construct a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
<T extends Invocation> |
addInvocation(IntFunction<T> producer)
Add an invocation to this tracker.
|
MessageOutputStream |
allocateMessage()
Allocate a message, possibly blocking until one is available.
|
MessageOutputStream |
allocateMessage(Invocation invocation)
Allocate a message on behalf of an invocation, possibly blocking until a message is available.
|
boolean |
containsIndex(int index)
Determine if the tracker contains an entry at the given index.
|
Invocation |
putIfAbsent(Invocation invocation)
Put an invocation into the tracker if there is none with the corresponding ID.
|
void |
remove(Invocation invocation)
Unconditionally remove an invocation from the map.
|
boolean |
signalResponse(int index,
int parameter,
MessageInputStream responseStream,
boolean remove)
Signal the arrival of a response with the given index.
|
public InvocationTracker(Channel channel, int maxMessages, IntUnaryOperator intMasker)
channel - the channel that is being trackedmaxMessages - the maximum number of concurrent messages to allowintMasker - the function to apply to ID numbers to limit them to a specific rangepublic InvocationTracker(Channel channel, MessageTracker messageTracker, IntUnaryOperator intMasker)
channel - the channel that is being trackedmessageTracker - the message tracker to useintMasker - the function to apply to ID numbers to limit them to a specific rangepublic InvocationTracker(Channel channel, IntUnaryOperator intMasker)
channel - the channel that is being trackedintMasker - the function to apply to ID numbers to limit them to a specific rangepublic InvocationTracker(Channel channel, int maxMessages)
channel - the channel that is being trackedmaxMessages - the maximum number of concurrent messages to allowpublic InvocationTracker(Channel channel)
channel - the channel that is being trackedpublic <T extends Invocation> T addInvocation(IntFunction<T> producer)
T - the invocation typeproducer - the invocation producer, which may be called more than oncepublic boolean containsIndex(int index)
index - the indextrue if the tracker contains the entry, false otherwisepublic Invocation putIfAbsent(Invocation invocation)
invocation - the invocationnull if the put was successfulpublic boolean signalResponse(int index,
int parameter,
MessageInputStream responseStream,
boolean remove)
index - the index of the responseparameter - an integer parameter to pass to the response handler (typically a message ID type)responseStream - the response streamremove - true to release the index for subsequent invocations, false otherwisetrue if the index was valid, false otherwisepublic void remove(Invocation invocation)
invocation - the invocationpublic MessageOutputStream allocateMessage() throws IOException
IOException - if an error occurspublic MessageOutputStream allocateMessage(Invocation invocation) throws IOException
invocation - the invocation of the messageIOException - if an error occursCopyright © 2017 JBoss by Red Hat. All rights reserved.