matching

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultTimeout is the default timeout used to make calls
	DefaultTimeout = time.Minute
	// DefaultLongPollTimeout is the long poll default timeout used to make calls
	DefaultLongPollTimeout = time.Minute * 2
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	matchingservice.MatchingServiceClient
}

Client is the interface exposed by matching service client

func NewClient

func NewClient(
	timeout time.Duration,
	longPollTimeout time.Duration,
	clients common.ClientCache,
	lb LoadBalancer,
) Client

NewClient creates a new history service TChannel client

func NewMetricClient

func NewMetricClient(client Client, metricsClient metrics.Client) Client

NewMetricClient creates a new instance of Client that emits metrics

func NewRetryableClient added in v0.3.14

func NewRetryableClient(client Client, policy backoff.RetryPolicy, isRetryable backoff.IsRetryable) Client

NewRetryableClient creates a new instance of Client with retry policy

type LoadBalancer added in v0.7.0

type LoadBalancer interface {
	// PickWritePartition returns the task queue partition for adding
	// an activity or workflow task. The input is the name of the
	// original task queue (with no partition info). When forwardedFrom
	// is non-empty, this call is forwardedFrom from a child partition
	// to a parent partition in which case, no load balancing should be
	// performed
	PickWritePartition(
		namespaceID string,
		taskQueue taskqueuepb.TaskQueue,
		taskQueueType enumspb.TaskQueueType,
		forwardedFrom string,
	) string

	// PickReadPartition returns the task queue partition to send a poller to.
	// Input is name of the original task queue as specified by caller. When
	// forwardedFrom is non-empty, no load balancing should be done.
	PickReadPartition(
		namespaceID string,
		taskQueue taskqueuepb.TaskQueue,
		taskQueueType enumspb.TaskQueueType,
		forwardedFrom string,
	) string
}

LoadBalancer is the interface for implementers of component that distributes add/poll api calls across available task queue partitions when possible

func NewLoadBalancer added in v0.7.0

func NewLoadBalancer(
	namespaceIDToName func(string) (string, error),
	dc *dynamicconfig.Collection,
) LoadBalancer

NewLoadBalancer returns an instance of matching load balancer that can help distribute api calls across task queue partitions

Jump to

Keyboard shortcuts

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