Class StoreMessageSelector
- java.lang.Object
-
- net.i2p.router.networkdb.kademlia.StoreMessageSelector
-
- All Implemented Interfaces:
MessageSelector
class StoreMessageSelector extends Object implements MessageSelector
Check to see the message is a reply from the peer regarding the current store
-
-
Constructor Summary
Constructors Constructor Description StoreMessageSelector(RouterContext ctx, long storeJobId, RouterInfo peer, long waitingForId, long expiration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
continueMatching()
Returns true if the selector should still keep searching for further matches.long
getExpiration()
Returns the # of milliseconds since the epoch after which this selector should stop searching for matches.boolean
isMatch(I2NPMessage message)
Returns true if the received message matches the selector.String
toString()
-
-
-
Constructor Detail
-
StoreMessageSelector
public StoreMessageSelector(RouterContext ctx, long storeJobId, RouterInfo peer, long waitingForId, long expiration)
- Parameters:
storeJobId
- just for loggingpeer
- just for logging
-
-
Method Detail
-
continueMatching
public boolean continueMatching()
Description copied from interface:MessageSelector
Returns 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:
continueMatching
in interfaceMessageSelector
-
getExpiration
public long getExpiration()
Description copied from interface:MessageSelector
Returns the # of milliseconds since the epoch after which this selector should stop searching for matches. At some time after expiration, if continueMatching() has not returned false, the job specified by OutNetMessage.getOnFailedReplyJob() will be run for every OutNetMessage associated with this selector (by OutboundMessageRegistry).- Specified by:
getExpiration
in interfaceMessageSelector
-
isMatch
public boolean isMatch(I2NPMessage message)
Description copied from interface:MessageSelector
Returns true if the received message matches the selector. If this returns true, the job specified by OutNetMessage.getOnReplyJob() will be run for every OutNetMessage associated with this selector (by InNetMessagePool), 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 in isMatch(). Until the lock is removed, take care to keep it simple.- Specified by:
isMatch
in interfaceMessageSelector
-
-