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
Click to show internal directories.
Click to hide internal directories.