roundrobin

package
v1.32.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2018 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Spec

Spec returns a configuration specification for the round-robin peer list implementation, making it possible to select the least recently chosen peer with transports that use outbound peer list configuration (like HTTP).

cfg := yarpcconfig.New()
cfg.MustRegisterPeerList(roundrobin.Spec())

This enables the round-robin peer list:

outbounds:
  otherservice:
    unary:
      http:
        url: https://host:port/rpc
        round-robin:
          peers:
            - 127.0.0.1:8080
            - 127.0.0.1:8081

Types

type Configuration added in v1.31.0

type Configuration struct {
	Capacity *int `config:"capacity"`
}

Configuration descripes how to build a round-robin peer list.

type List

type List struct {
	*peerlist.List
}

List is a PeerList which rotates which peers are to be selected in a circle

func New

func New(transport peer.Transport, opts ...ListOption) *List

New creates a new round robin peer list.

type ListOption

type ListOption func(*listConfig)

ListOption customizes the behavior of a roundrobin list.

func Capacity

func Capacity(capacity int) ListOption

Capacity specifies the default capacity of the underlying data structures for this list.

Defaults to 10.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL