gax

package
v0.0.0-...-816697b Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2017 License: Apache-2.0, Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

This is ia snapshot from github.com/googleapis/gax-go with minor modifications.

This is ia snapshot from github.com/googleapis/gax-go with minor modifications.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Invoke

func Invoke(ctx context.Context, stub APICall, opts ...CallOption) error

Invoke calls stub with a child of context modified by the specified options.

Types

type APICall

type APICall func(context.Context) error

A user defined call stub.

type BackoffSettings

type BackoffSettings struct {
	DelayTimeoutSettings MultipliableDuration
	RPCTimeoutSettings   MultipliableDuration
}

Parameters to the exponential backoff algorithm for retrying.

type CallOption

type CallOption interface {
	Resolve(*CallSettings)
}

func WithDelayTimeoutSettings

func WithDelayTimeoutSettings(initial time.Duration, max time.Duration, multiplier float64) CallOption

WithDelayTimeoutSettings specifies:

  • The initial delay time, in milliseconds, between the completion of the first failed request and the initiation of the first retrying request.
  • The multiplier by which to increase the delay time between the completion of failed requests, and the initiation of the subsequent retrying request.
  • The maximum delay time, in milliseconds, between requests. When this value is reached, `RetryDelayMultiplier` will no longer be used to increase delay time.

func WithRetryCodes

func WithRetryCodes(retryCodes []codes.Code) CallOption

WithRetryCodes sets a list of Google API canonical error codes upon which a retry should be attempted.

type CallSettings

type CallSettings struct {
	Timeout       time.Duration
	RetrySettings RetrySettings
}

Encapsulates the call settings for a particular API call.

func (CallSettings) Resolve

func (w CallSettings) Resolve(s *CallSettings)

type MultipliableDuration

type MultipliableDuration struct {
	Initial    time.Duration
	Max        time.Duration
	Multiplier float64
}

type RetrySettings

type RetrySettings struct {
	RetryCodes      map[codes.Code]bool
	BackoffSettings BackoffSettings
}

Per-call configurable settings for retrying upon transient failure.

Jump to

Keyboard shortcuts

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