client

package
v2.20.1 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2022 License: Apache-2.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const (
	DefaultChunkSize = 4 * 1024
)

Variables

View Source
var (
	ErrDownloadHeaderUnexpectedNumber = &backoff.PermanentError{Err: errors.New("unexpected number of headers")}
	ErrDownloadChecksumMismatch       = &backoff.PermanentError{Err: errors.New("download checksum mismatch")}
	ErrDownloadDataChunkNoData        = &backoff.PermanentError{Err: errors.New("download DataChunk without data")}
	ErrNotConnected                   = &backoff.PermanentError{Err: errors.New("not connected")}
	ErrUnmarshallingData              = &backoff.PermanentError{Err: errors.New("unable to unmarshal data")}
)
View Source
var (
	DefaultBackoffSettings = BackoffSettings{
		// contains filtered or unexported fields
	}
)

Functions

This section is empty.

Types

type BackoffSettings

type BackoffSettings struct {
	// contains filtered or unexported fields
}

type Client

type Client interface {
	Connect(ctx context.Context) error
	Close() error

	Server() string
	WithServer(string) Client

	DialOptions() []grpc.DialOption
	WithDialOptions(options ...grpc.DialOption) Client

	WithInterceptor(interceptor interceptors.Interceptor) Client
	WithClientInterceptor(interceptor interceptors.ClientInterceptor) Client

	WithBackoffSettings(backoffSettings BackoffSettings) Client
}

type Commander

type Commander interface {
	Client
	ChunksSize() int
	WithChunkSize(int) Client
	Send(context.Context, Message) error
	Download(context.Context, *proto.Metadata) (*proto.NginxConfig, error)
	Upload(context.Context, *proto.NginxConfig, string) error
	Recv() <-chan Message
}

func NewCommanderClient

func NewCommanderClient() Commander

type Controller

type Controller interface {
	WithClient(Client) Controller
	Context() context.Context
	WithContext(context.Context) Controller
	Connect() error
	Close() error
}

func NewClientController

func NewClientController() Controller

type Message

type Message interface {
	Meta() *proto.Metadata
	Type() MsgType
	Classification() MsgClassification
	Data() interface{}
	Raw() interface{}
}

func MessageFromCommand

func MessageFromCommand(cmd *proto.Command) Message

func MessageFromEvents added in v2.20.0

func MessageFromEvents(event *models.EventReport) Message

func MessageFromMetrics

func MessageFromMetrics(metric *proto.MetricsReport) Message

type MetricReporter

type MetricReporter interface {
	Client
	Send(context.Context, Message) error
}

func NewMetricReporterClient

func NewMetricReporterClient() MetricReporter

type MsgClassification

type MsgClassification int
const (
	MsgClassificationCommand MsgClassification = iota
	MsgClassificationMetric
	MsgClassificationEvent
)

type MsgType

type MsgType interface {
	String() string
	EnumDescriptor() ([]byte, []int)
}

Jump to

Keyboard shortcuts

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