public interface ViewStateManager
Modifier and Type | Method and Description |
---|---|
void |
bind(TopologyEventListener eventListener)
Binds the given eventListener, sending it an INIT event if applicable.
|
void |
handleActivated()
Handles activation - ie marks this manager as activated thus the TOPOLOGY_INIT
event can be sent to already bound listeners and subsequent calls to
handleChanging/handleNewView will result in according/appropriate TOPOLOGY_CHANGING/
TOPOLOGY_CHANGED events.
|
void |
handleChanging()
Handles the fact that some (possibly early) indicator of a change in a topology
has been detected and that a new view is being agreed upon (whatever that means,
be it voting or similar).
|
void |
handleDeactivated()
Must be called when the corresponding service (typically a DiscoveryService implementation)
is deactivated.
|
void |
handleNewView(BaseTopologyView newView)
Handles the fact that a new view became true/established and sends out
TOPOLOGY_INIT to uninitialized listeners and TOPOLOGY_CHANGED to already initialized
listeners (in the latter case, also sends a TOPOLOGY_CHANGING if that has not yet been
done)
|
void |
installMinEventDelayHandler(DiscoveryService discoveryService,
Scheduler scheduler,
long minEventDelaySecs)
Installs an optional 'min event delay handler' which, using the given scheduler,
delays sending TOPOLOGY_CHANGED event after receiving a handleNewView - with the
idea as to limit the number of toggling between view states.
|
boolean |
unbind(TopologyEventListener eventListener)
Unbinds the given eventListener, returning whether or not it was bound at all.
|
int |
waitForAsyncEvents(long timeout)
for testing only: wait for any potentially queued async events to be delivered
before returning.
|
void installMinEventDelayHandler(DiscoveryService discoveryService, Scheduler scheduler, long minEventDelaySecs)
void bind(TopologyEventListener eventListener)
eventListener
- the eventListener that is to bindboolean unbind(TopologyEventListener eventListener)
eventListener
- the eventListner that is to unbindvoid handleActivated()
void handleDeactivated()
Will mark this manager as deactivated and flags the last available view as not current.
void handleChanging()
Will send out TOPOLOGY_CHANGING to all initialized listeners.
void handleNewView(BaseTopologyView newView)
newView
- the new, established view
true if we were either in changing mode or the newView was different from the previous one.int waitForAsyncEvents(long timeout)
timeout
- time in millis to wait for at max - 0 to not wait at all - -1
to wait indefinitelyCopyright © 2022 The Apache Software Foundation. All rights reserved.