Skip to content

IStreamQueueBalancer Methods

The stream queue balancer is responsible for load balancing queues across all other related queue balancers. It notifies any listeners (
IStreamQueueBalanceListener
) of changes to the distribution of queues. Method GetMyQueues, SubscribeToQueueDistributionChangeEvents, and UnSubscribeFromQueueDistributionChangeEvents will likely be called in the IStreamQueueBalanceListener's thread so they need to be thread safe

GetMyQueues

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

Returns

Queue allocated to this balancer.

Initialize(IStreamQueueMapper)

abstract
public abstract Task Initialize(IStreamQueueMapper queueMapper)
Initializes this instance.

Parameters

queueMapperIStreamQueueMapper
The queue mapper.

Returns

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

Shutdown

abstract
public abstract Task Shutdown()
Shutdown the queue balancer.

Returns

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

SubscribeToQueueDistributionChangeEvents(IStreamQueueBalanceListener)

abstract
public abstract 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)

abstract
public abstract 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