Package org.jgroups.protocols
Class RATE_LIMITER2
- java.lang.Object
-
- org.jgroups.stack.Protocol
-
- org.jgroups.protocols.RATE_LIMITER2
-
-
Field Summary
Fields Modifier and Type Field Description protected AverageMinMax
avg_block_time
protected long
bytes_left
protected java.util.concurrent.locks.Condition
cond
protected boolean
drop_dont_block_msgs
protected java.util.concurrent.Future<?>
f
protected long
interval
protected java.util.concurrent.locks.Lock
lock
protected int
max_bytes
protected java.util.concurrent.atomic.LongAdder
num_blockings
protected java.util.concurrent.atomic.LongAdder
num_dropped_msgs
protected int
num_replenishments
protected boolean
running
protected java.lang.Runnable
task
protected TimeScheduler
timer
-
Fields inherited from class org.jgroups.stack.Protocol
after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, stack, stats, up_prot
-
-
Constructor Summary
Constructors Constructor Description RATE_LIMITER2()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
changeInterval(long new_interval)
java.lang.Object
down(Message msg)
A message is sent down the stack.boolean
dropDontBlockMessages()
RATE_LIMITER2
dropDontBlockMessages(boolean p)
void
init()
Called after a protocol has been created and before the protocol is started.long
interval()
RATE_LIMITER2
interval(long i)
int
maxBytes()
RATE_LIMITER2
maxBytes(int m)
void
replenish()
void
resetStats()
void
start()
This method is called on aJChannel.connect(String)
; starts work.void
stop()
Called on aJChannel.disconnect()
; stops work (e.g.-
Methods inherited from class org.jgroups.stack.Protocol
accept, addPolicy, addr, addr, afterCreationHook, destroy, down, down, enableStats, getAddress, getComponents, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getPolicies, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, level, parse, policies, providedDownServices, providedUpServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, setAddress, setDownProtocol, setErgonomics, setId, setLevel, setPolicies, setProtocolStack, setSocketFactory, setUpProtocol, setValue, statsEnabled, toString, up, up, up
-
-
-
-
Field Detail
-
max_bytes
protected int max_bytes
-
interval
protected long interval
-
drop_dont_block_msgs
protected boolean drop_dont_block_msgs
-
bytes_left
protected long bytes_left
-
num_replenishments
protected int num_replenishments
-
num_dropped_msgs
protected final java.util.concurrent.atomic.LongAdder num_dropped_msgs
-
num_blockings
protected final java.util.concurrent.atomic.LongAdder num_blockings
-
avg_block_time
protected final AverageMinMax avg_block_time
-
lock
protected java.util.concurrent.locks.Lock lock
-
cond
protected java.util.concurrent.locks.Condition cond
-
running
protected boolean running
-
timer
protected TimeScheduler timer
-
f
protected java.util.concurrent.Future<?> f
-
task
protected final java.lang.Runnable task
-
-
Method Detail
-
maxBytes
public int maxBytes()
-
maxBytes
public RATE_LIMITER2 maxBytes(int m)
-
interval
public long interval()
-
interval
public RATE_LIMITER2 interval(long i)
-
dropDontBlockMessages
public boolean dropDontBlockMessages()
-
dropDontBlockMessages
public RATE_LIMITER2 dropDontBlockMessages(boolean p)
-
init
public void init() throws java.lang.Exception
Description copied from class:Protocol
Called after a protocol has been created and before the protocol is started. Attributes are already set. Other protocols are not yet connected and events cannot yet be sent.
-
start
public void start() throws java.lang.Exception
Description copied from class:Protocol
This method is called on aJChannel.connect(String)
; starts work. Protocols are connected ready to receive events. Will be called from bottom to top.- Specified by:
start
in interfaceLifecycle
- Overrides:
start
in classProtocol
- Throws:
java.lang.Exception
- Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, soJChannel.connect(String)
will throw an exception
-
stop
public void stop()
Description copied from class:Protocol
Called on aJChannel.disconnect()
; stops work (e.g. by closing multicast socket). Will be called from top to bottom.
-
resetStats
public void resetStats()
- Overrides:
resetStats
in classProtocol
-
replenish
public void replenish()
-
changeInterval
public void changeInterval(long new_interval)
-
-