Inherits

Includes

  • MonitorMixin

Methods

self.

new

Returns a new instance of RoundRobin

host_up

(host)

Adds this host to rotation

Parameters:
Name Type Details
host Host a host instance
Returns:
Type Details
LoadBalancing::Policies::RoundRobin self
See Also:
Specifications:
RoundRobin#host_up adds the host to the rotation
policy.host_up(host)
plan = policy.plan(keyspace, statement, options)
expect(plan).to have_next
expect(plan.next).to eq(host)

host_down

(host)

Removes this host from rotation

Parameters:
Name Type Details
host Host a host instance
Returns:
Type Details
LoadBalancing::Policies::RoundRobin self
See Also:
Specifications:
RoundRobin#host_down removes the host from the rotation
policy.host_up(host)
policy.host_down(host)
plan = policy.plan(keyspace, statement, options)
expect(plan).to_not have_next

host_found

(host)

Noop

Parameters:
Name Type Details
host Host a host instance
Returns:
Type Details
LoadBalancing::Policies::RoundRobin self
See Also:

host_lost

(host)

Noop

Parameters:
Name Type Details
host Host a host instance
Returns:
Type Details
LoadBalancing::Policies::RoundRobin self
See Also:

distance

(host)

Returns distance to host. All hosts in rotation are considered :local, all other hosts - :ignore.

Parameters:
Name Type Details
host Host a host instance
Returns:
Type Details
Symbol :local for all hosts in rotation and :ignore for all other hosts.
See Also:

plan

(keyspace, statement, options)

Returns a load balancing plan that rotates hosts by 1 each time a plan is requested.

Parameters:
Name Type Details
keyspace String current keyspace of the Session
statement Statement actual statement to be executed
options Execution::Options execution options to be used
Returns:
Type Details
LoadBalancing::Plan a rotated load balancing plan
See Also: