Class RaftClient.Listener<T>
public class RaftClient.Listener<T> : JVMBridgeListener, IDynamicMetaObjectProvider, IJVMBridgeCore, IEquatable<IJVMBridgeBaseInstance>, IDisposable, IJVMBridgeBaseStatic, IJVMBridgeBase, IJVMBridgeBaseInstance, IJVMBridgeDefinition
Type Parameters
T
- Inheritance
-
RaftClient.Listener<T>
- Implements
- Derived
Constructors
Listener(IJVMBridgeBaseInitializer)
Initializer used internally by JCOBridge. Do not use directly.
[Obsolete("This public initializer is needed for JCOBridge internal use, other uses can produce unidentifiable behaviors.")]
public Listener(IJVMBridgeBaseInitializer initializer)
Parameters
initializerIJVMBridgeBaseInitializer
Listener(params object[])
Generic constructor used by JCOBridge when a derived class needs to forward arguments to the base JVMBridgeBase class.
public Listener(params object[] args)
Parameters
argsobject[]
Properties
BridgeClassName
Java class name to be instantiated
public override string BridgeClassName { get; }
Property Value
OnBeginShutdown
public Action OnBeginShutdown { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnHandleCommit
public Action<BatchReader<T>> OnHandleCommit { get; set; }
Property Value
- Action<BatchReader<T>>
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnHandleLeaderChange
public Action<LeaderAndEpoch> OnHandleLeaderChange { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnHandleLoadSnapshot
public Action<SnapshotReader<T>> OnHandleLoadSnapshot { get; set; }
Property Value
- Action<SnapshotReader<T>>
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
Methods
BeginShutdown()
public virtual void BeginShutdown()
Remarks
The method invokes the default implementation in the JVM interface using BeginShutdownDefault(); override the method to implement a different behavior
BeginShutdownDefault()
public void BeginShutdownDefault()
Remarks
The method invokes the default implementation in the JVM interface
HandleCommit(BatchReader<T>)
public virtual void HandleCommit(BatchReader<T> arg0)
Parameters
arg0BatchReader<T>
HandleLeaderChange(LeaderAndEpoch)
public virtual void HandleLeaderChange(LeaderAndEpoch arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface using HandleLeaderChangeDefault(LeaderAndEpoch); override the method to implement a different behavior
HandleLeaderChangeDefault(LeaderAndEpoch)
public void HandleLeaderChangeDefault(LeaderAndEpoch arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface
HandleLoadSnapshot(SnapshotReader<T>)
public virtual void HandleLoadSnapshot(SnapshotReader<T> arg0)
Parameters
arg0SnapshotReader<T>
InitializeHandlers(Type)
Handlers initializer for RaftClient.Listener
protected virtual void InitializeHandlers(Type listenerRuntimeType)
Parameters
listenerRuntimeTypeType
ListenerShallManageEvent(int)
Invoked from the JVMBridgeListener on each received event to notify the user which can decide to abort the execution for the specific event returning false
protected override bool ListenerShallManageEvent(int eventIndex)
Parameters
eventIndexintThe index of the event triggered as returned from AddEventHandler(string, EventHandler) or AddEventHandler<TDataClass>(string, EventHandler<CLRListenerEventArgs<TDataClass>>)
Returns
Remarks
By default every event continues the execution and reads the data from JVM; this implies an extra cost which can be limited using ListenerShallManageEvent(int) or the ListenerShallManageEventIndex/ListenerShallManageEventName handlers. Returning false the control is immediately returned to the JVM, anyway the user has received the notification. It can be useful in scenarios where the user is interested in few events and the other are simply discarded to optimize the execution speed. By default, this function invokes ListenerShallManageEventIndex, then try ListenerShallManageEventName if they are set or return true
ListenerShallManageEventHandlers(int)
protected virtual bool ListenerShallManageEventHandlers(int eventIndex)
Parameters
eventIndexint