Top Description Fields Constructors Methods
io.rsocket.loadbalance

public Class RoundRobinLoadbalanceStrategy

extends Object
implements LoadbalanceStrategy
Class Inheritance
All Implemented Interfaces
io.rsocket.loadbalance.LoadbalanceStrategy
Imports
io.rsocket.RSocket, java.util.List, java.util.concurrent.atomic.AtomicIntegerFieldUpdater

Simple LoadbalanceStrategy that selects the RSocket to use in round-robin order.
Since
1.1

Field Summary

Modifier and TypeField and Description
private static final AtomicIntegerFieldUpdater<RoundRobinLoadbalanceStrategy>
pack-priv volatile int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public RSocket
select(List<RSocket>
the list to choose from
sockets
)

Implements io.rsocket.loadbalance.LoadbalanceStrategy.select.

Select an RSocket from the given non-empty list.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

NEXT_INDEXback to summary
private static final AtomicIntegerFieldUpdater<RoundRobinLoadbalanceStrategy> NEXT_INDEX
nextIndexback to summary
pack-priv volatile int nextIndex

Constructor Detail

RoundRobinLoadbalanceStrategyback to summary
public RoundRobinLoadbalanceStrategy()

Method Detail

selectback to summary
public RSocket select(List<RSocket> sockets)

Implements io.rsocket.loadbalance.LoadbalanceStrategy.select.

Doc from io.rsocket.loadbalance.LoadbalanceStrategy.select.

Select an RSocket from the given non-empty list.

Parameters
sockets:List<RSocket>

the list to choose from

Returns:RSocket

the selected instance

Annotations
@Override