java.lang.Object
net.i2p.router.tunnel.pool.TestJob.ReplySelector
- All Implemented Interfaces:
MessageSelector
- Enclosing class:
TestJob
Matches the reply for one test message.
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final longThe test id the reply must carry.private final TestJob.RoundTokenThe round this reply belongs to.Constructor Summary
ConstructorsConstructorDescriptionReplySelector(long id, TestJob.RoundToken token) Remembers which message id and round this selector is waiting on.Method Summary
All MethodsModifier and TypeMethodDescriptionbooleanReturns true if the selector should still keep searching for further matches.longReturns the # of milliseconds since the epoch after which this selector should stop searching for matches.booleanReturns true if the received message matches the selector.
Field Details
_id
private final long _idThe test id the reply must carry._token
The round this reply belongs to.
Constructor Details
ReplySelector
Remembers which message id and round this selector is waiting on.- Parameters:
id- the message id being waited ontoken- the round this selector belongs to
Method Details
continueMatching
public boolean continueMatching()Description copied from interface:MessageSelectorReturns true if the selector should still keep searching for further matches. This is called only if isMatch() returns true. If this returns true, isMatch() will not be called again.- Specified by:
continueMatchingin interfaceMessageSelector- Returns:
- true to keep searching for further matches, false to stop searching
getExpiration
public long getExpiration()Description copied from interface:MessageSelectorReturns the # of milliseconds since the epoch after which this selector should stop searching for matches. At some time after expiration, ifMessageSelector.continueMatching()has not returned false, the job specified byOutNetMessage.getOnFailedReplyJob()will be run for every OutNetMessage associated with this selector (by OutboundMessageRegistry).- Specified by:
getExpirationin interfaceMessageSelector- Returns:
- the number of milliseconds since the epoch at which to stop searching
isMatch
Description copied from interface:MessageSelectorReturns true if the received message matches the selector. If this returns true, the job specified byOutNetMessage.getOnReplyJob()will be run for every OutNetMessage associated with this selector (byInNetMessagePool), after calling setMessage() for that ReplyJob.WARNING this is called from within
OutboundMessageSelector.getOriginalMessages()inside a lock and can lead to deadlocks if the selector does too much inMessageSelector.isMatch(I2NPMessage). Until the lock is removed, take care to keep it simple.- Specified by:
isMatchin interfaceMessageSelector- Parameters:
m- the received message to test against this selector- Returns:
- true if the received message is one this selector was waiting for