Skip to content

QueueBalancerBase Methods

Base class for StreamQueueBalancer

GetMyQueues

abstract
public abstract IEnumerable<QueueId> GetMyQueues()
Retrieves the latest queue distribution for this balancer.

Returns

Queue allocated to this balancer.

Initialize(IStreamQueueMapper)

virtual
View source
public virtual Task Initialize(IStreamQueueMapper queueMapper)
Initializes this instance.

Parameters

queueMapperIStreamQueueMapper
The queue mapper.

Returns

A System.Threading.Tasks.Task representing the operation.

NotifyListeners

View source
protected Task NotifyListeners()
Notifies subscribers that the queue distribution has changed.

Returns

A task which represents the notification operation.

OnClusterMembershipChange(HashSet<SiloAddress>)

abstract
protected abstract void OnClusterMembershipChange(HashSet<SiloAddress> activeSilos)
Handles a change to the set of active silos.

Parameters

activeSilosHashSet<SiloAddress>
The addresses of the active silos.

Shutdown

virtual
View source
public virtual Task Shutdown()
Shutdown the queue balancer.

Returns

A System.Threading.Tasks.Task representing the operation.

SubscribeToQueueDistributionChangeEvents(IStreamQueueBalanceListener)

View source
public bool SubscribeToQueueDistributionChangeEvents(IStreamQueueBalanceListener observer)
Subscribes to receive queue distribution change notifications

Parameters

observerIStreamQueueBalanceListener
An observer interface to receive queue distribution change notifications.

Returns

A value indicating whether subscription succeeded or not.

UnSubscribeFromQueueDistributionChangeEvents(IStreamQueueBalanceListener)

View source
public bool UnSubscribeFromQueueDistributionChangeEvents(IStreamQueueBalanceListener observer)
Unsubscribes from receiving queue distribution notifications.

Parameters

observerIStreamQueueBalanceListener
An observer interface to receive queue distribution change notifications.

Returns

A value indicating whether teh unsubscription succeeded or not