backoff

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2023 License: MIT Imports: 12 Imported by: 6

Documentation

Index

Constants

View Source
const Stop = backoff.Stop

Stop indicates that no more retries should be made for use in NextBackOff().

Variables

View Source
var (
	BackoffKind_name = map[int32]string{
		0: "BackoffKind_UNKNOWN",
		1: "BackoffKind_EXPONENTIAL",
		2: "BackoffKind_CONSTANT",
	}
	BackoffKind_value = map[string]int32{
		"BackoffKind_UNKNOWN":     0,
		"BackoffKind_EXPONENTIAL": 1,
		"BackoffKind_CONSTANT":    2,
	}
)

Enum value maps for BackoffKind.

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)
View Source
var File_github_com_aperturerobotics_util_backoff_backoff_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Backoff

type Backoff struct {

	// BackoffKind is the kind of backoff.
	BackoffKind BackoffKind `protobuf:"varint,1,opt,name=backoff_kind,json=backoffKind,proto3,enum=backoff.BackoffKind" json:"backoff_kind,omitempty"`
	// Exponential is the arguments for an exponential backoff.
	Exponential *Exponential `protobuf:"bytes,2,opt,name=exponential,proto3" json:"exponential,omitempty"`
	// Constant is the arugment for a constant backoff.
	Constant *Constant `protobuf:"bytes,3,opt,name=constant,proto3" json:"constant,omitempty"`
	// contains filtered or unexported fields
}

Backoff configures a backoff.

func (*Backoff) CloneGenericVT

func (m *Backoff) CloneGenericVT() proto.Message

func (*Backoff) CloneVT

func (m *Backoff) CloneVT() *Backoff

func (*Backoff) Construct

func (b *Backoff) Construct() backoff.BackOff

Construct constructs the backoff. Validates the options.

func (*Backoff) Descriptor deprecated

func (*Backoff) Descriptor() ([]byte, []int)

Deprecated: Use Backoff.ProtoReflect.Descriptor instead.

func (*Backoff) EqualVT

func (this *Backoff) EqualVT(that *Backoff) bool

func (*Backoff) GetBackoffKind

func (x *Backoff) GetBackoffKind() BackoffKind

func (*Backoff) GetConstant

func (x *Backoff) GetConstant() *Constant

func (*Backoff) GetEmpty

func (b *Backoff) GetEmpty() bool

GetEmpty returns if the backoff config is empty.

func (*Backoff) GetExponential

func (x *Backoff) GetExponential() *Exponential

func (*Backoff) MarshalToSizedBufferVT

func (m *Backoff) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Backoff) MarshalToVT

func (m *Backoff) MarshalToVT(dAtA []byte) (int, error)

func (*Backoff) MarshalVT

func (m *Backoff) MarshalVT() (dAtA []byte, err error)

func (*Backoff) ProtoMessage

func (*Backoff) ProtoMessage()

func (*Backoff) ProtoReflect

func (x *Backoff) ProtoReflect() protoreflect.Message

func (*Backoff) Reset

func (x *Backoff) Reset()

func (*Backoff) SizeVT

func (m *Backoff) SizeVT() (n int)

func (*Backoff) String

func (x *Backoff) String() string

func (*Backoff) UnmarshalVT

func (m *Backoff) UnmarshalVT(dAtA []byte) error

type BackoffKind

type BackoffKind int32

BackoffKind is the kind of backoff.

const (
	// BackoffKind_UNKNOWN defaults to BackoffKind_EXPONENTIAL
	BackoffKind_BackoffKind_UNKNOWN BackoffKind = 0
	// BackoffKind_EXPONENTIAL is an exponential backoff.
	BackoffKind_BackoffKind_EXPONENTIAL BackoffKind = 1
	// BackoffKind_CONSTANT is a constant backoff.
	BackoffKind_BackoffKind_CONSTANT BackoffKind = 2
)

func (BackoffKind) Descriptor

func (BackoffKind) Enum

func (x BackoffKind) Enum() *BackoffKind

func (BackoffKind) EnumDescriptor deprecated

func (BackoffKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use BackoffKind.Descriptor instead.

func (BackoffKind) Number

func (x BackoffKind) Number() protoreflect.EnumNumber

func (BackoffKind) String

func (x BackoffKind) String() string

func (BackoffKind) Type

type Constant

type Constant struct {

	// Interval is the timing to back off, in milliseconds.
	// Defaults to 5 seconds.
	Interval uint32 `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// contains filtered or unexported fields
}

Constant contains constant backoff options.

func (*Constant) CloneGenericVT

func (m *Constant) CloneGenericVT() proto.Message

func (*Constant) CloneVT

func (m *Constant) CloneVT() *Constant

func (*Constant) Descriptor deprecated

func (*Constant) Descriptor() ([]byte, []int)

Deprecated: Use Constant.ProtoReflect.Descriptor instead.

func (*Constant) EqualVT

func (this *Constant) EqualVT(that *Constant) bool

func (*Constant) GetInterval

func (x *Constant) GetInterval() uint32

func (*Constant) MarshalToSizedBufferVT

func (m *Constant) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Constant) MarshalToVT

func (m *Constant) MarshalToVT(dAtA []byte) (int, error)

func (*Constant) MarshalVT

func (m *Constant) MarshalVT() (dAtA []byte, err error)

func (*Constant) ProtoMessage

func (*Constant) ProtoMessage()

func (*Constant) ProtoReflect

func (x *Constant) ProtoReflect() protoreflect.Message

func (*Constant) Reset

func (x *Constant) Reset()

func (*Constant) SizeVT

func (m *Constant) SizeVT() (n int)

func (*Constant) String

func (x *Constant) String() string

func (*Constant) UnmarshalVT

func (m *Constant) UnmarshalVT(dAtA []byte) error

type Exponential

type Exponential struct {

	// InitialInterval is the initial interval in milliseconds.
	// Default: 800ms.
	InitialInterval uint32 `protobuf:"varint,1,opt,name=initial_interval,json=initialInterval,proto3" json:"initial_interval,omitempty"`
	// Multiplier is the timing multiplier.
	// Default: 1.8
	Multiplier float32 `protobuf:"fixed32,2,opt,name=multiplier,proto3" json:"multiplier,omitempty"`
	// MaxInterval is the maximum timing interval in milliseconds.
	// Default: 20 seconds
	MaxInterval uint32 `protobuf:"varint,3,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"`
	// RandomizationFactor is the randomization factor.
	// Default: 0
	RandomizationFactor float32 `protobuf:"fixed32,4,opt,name=randomization_factor,json=randomizationFactor,proto3" json:"randomization_factor,omitempty"`
	// MaxElapsedTime if set specifies a maximum time for the backoff, in milliseconds.
	// After this time the backoff and attached process terminates.
	// May be empty, might be ignored.
	MaxElapsedTime uint32 `protobuf:"varint,5,opt,name=max_elapsed_time,json=maxElapsedTime,proto3" json:"max_elapsed_time,omitempty"`
	// contains filtered or unexported fields
}

Exponential is the exponential arguments.

func (*Exponential) CloneGenericVT

func (m *Exponential) CloneGenericVT() proto.Message

func (*Exponential) CloneVT

func (m *Exponential) CloneVT() *Exponential

func (*Exponential) Descriptor deprecated

func (*Exponential) Descriptor() ([]byte, []int)

Deprecated: Use Exponential.ProtoReflect.Descriptor instead.

func (*Exponential) EqualVT

func (this *Exponential) EqualVT(that *Exponential) bool

func (*Exponential) GetInitialInterval

func (x *Exponential) GetInitialInterval() uint32

func (*Exponential) GetMaxElapsedTime

func (x *Exponential) GetMaxElapsedTime() uint32

func (*Exponential) GetMaxInterval

func (x *Exponential) GetMaxInterval() uint32

func (*Exponential) GetMultiplier

func (x *Exponential) GetMultiplier() float32

func (*Exponential) GetRandomizationFactor

func (x *Exponential) GetRandomizationFactor() float32

func (*Exponential) MarshalToSizedBufferVT

func (m *Exponential) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Exponential) MarshalToVT

func (m *Exponential) MarshalToVT(dAtA []byte) (int, error)

func (*Exponential) MarshalVT

func (m *Exponential) MarshalVT() (dAtA []byte, err error)

func (*Exponential) ProtoMessage

func (*Exponential) ProtoMessage()

func (*Exponential) ProtoReflect

func (x *Exponential) ProtoReflect() protoreflect.Message

func (*Exponential) Reset

func (x *Exponential) Reset()

func (*Exponential) SizeVT

func (m *Exponential) SizeVT() (n int)

func (*Exponential) String

func (x *Exponential) String() string

func (*Exponential) UnmarshalVT

func (m *Exponential) UnmarshalVT(dAtA []byte) error

Jump to

Keyboard shortcuts

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