Package org.jgroups.util
Class Credit
java.lang.Object
org.jgroups.util.Credit
- Direct Known Subclasses:
NonBlockingCredit
Maintains credits for a unicast destination. Used by flow control.
- Since:
- 4.0.4
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandecrement(long credits) longdecrementAndGet(long credits, long min_credits, long max_credits) booleandecrementIfEnoughCredits(Message msg, int credits, long timeout) longget()doubleintvoidincrement(long credits, long max_credits) booleanneedToSendCreditRequest(long max_block_time) reset()Sets this credit to be done and releases all blocked threads.voidtoString()
-
Field Details
-
lock
-
credits_available
-
done
protected boolean done -
credits_left
protected long credits_left -
num_blockings
protected int num_blockings -
last_credit_request
protected long last_credit_request -
avg_blockings
-
-
Constructor Details
-
Credit
public Credit(long credits) -
Credit
-
-
Method Details
-
getNumBlockings
public int getNumBlockings() -
get
public long get() -
getAverageBlockTime
public double getAverageBlockTime() -
resetStats
public void resetStats() -
decrementIfEnoughCredits
-
decrementAndGet
public long decrementAndGet(long credits, long min_credits, long max_credits) -
increment
public void increment(long credits, long max_credits) -
reset
Sets this credit to be done and releases all blocked threads. This is not revertable; a new credit has to be created -
needToSendCreditRequest
public boolean needToSendCreditRequest(long max_block_time) -
toString
-
decrement
protected boolean decrement(long credits)
-