clients

package
v0.13.13 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2022 License: MPL-2.0 Imports: 28 Imported by: 0

Documentation

Overview

package clients is a wrapper around grpc clients so clients can work with non protobuf structs and handle unmarshaling

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DownloadPluginFromGithub added in v0.11.1

func DownloadPluginFromGithub(ctx context.Context, localPath string, org string, name string, version string, typ PluginType) error

func WithDestinationDirectory added in v0.11.2

func WithDestinationDirectory(directory string) func(*DestinationClient)

func WithDestinationGrpcConn added in v0.11.2

func WithDestinationGrpcConn(userConn *grpc.ClientConn) func(*DestinationClient)

func WithDestinationLogger added in v0.11.1

func WithDestinationLogger(logger zerolog.Logger) func(*DestinationClient)

func WithSourceDirectory added in v0.11.2

func WithSourceDirectory(directory string) func(*SourceClient)

func WithSourceGRPCConnection added in v0.11.2

func WithSourceGRPCConnection(userConn *grpc.ClientConn) func(*SourceClient)

func WithSourceLogger added in v0.11.1

func WithSourceLogger(logger zerolog.Logger) func(*SourceClient)

Types

type DestinationClient

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

func NewDestinationClient

func NewDestinationClient(ctx context.Context, registry specs.Registry, path string, version string, opts ...DestinationClientOption) (*DestinationClient, error)

func (*DestinationClient) Close added in v0.11.1

func (c *DestinationClient) Close(ctx context.Context) error

func (*DestinationClient) DeleteStale added in v0.12.0

func (c *DestinationClient) DeleteStale(ctx context.Context, tables schema.Tables, source string, timestamp time.Time) error

func (*DestinationClient) GetProtocolVersion added in v0.13.8

func (c *DestinationClient) GetProtocolVersion(ctx context.Context) (uint64, error)

func (*DestinationClient) GetWaitError added in v0.11.1

func (c *DestinationClient) GetWaitError() error

func (*DestinationClient) Initialize added in v0.0.4

func (c *DestinationClient) Initialize(ctx context.Context, spec specs.Destination) error

func (*DestinationClient) Migrate added in v0.0.4

func (c *DestinationClient) Migrate(ctx context.Context, tables []*schema.Table) error

func (*DestinationClient) Name added in v0.0.10

func (c *DestinationClient) Name(ctx context.Context) (string, error)

func (*DestinationClient) Terminate added in v0.12.0

func (c *DestinationClient) Terminate() error

Terminate is used only in conjunction with NewManagedDestinationClient. It closes the connection it created, kills the spawned process and removes the socket file.

func (*DestinationClient) Version added in v0.0.10

func (c *DestinationClient) Version(ctx context.Context) (string, error)

func (*DestinationClient) Write added in v0.0.4

func (c *DestinationClient) Write(ctx context.Context, source string, syncTime time.Time, resources <-chan []byte) (uint64, error)

Write writes rows as they are received from the channel to the destination plugin. resources is marshaled schema.Resource. We are not marshalling this inside the function because usually it is alreadun marshalled from the destination plugin.

type DestinationClientOption added in v0.11.1

type DestinationClientOption func(*DestinationClient)

type FetchResultMessage

type FetchResultMessage struct {
	Resource []byte
}

type PluginType added in v0.11.1

type PluginType string
const (
	PluginTypeSource      PluginType = "source"
	PluginTypeDestination PluginType = "destination"
	DefaultDownloadDir               = ".cq"
)

type SourceClient

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

SourceClient

func NewSourceClient

func NewSourceClient(ctx context.Context, registry specs.Registry, path string, version string, opts ...SourceClientOption) (*SourceClient, error)

NewSourceClient connect to gRPC server running source plugin and returns a new SourceClient

func (*SourceClient) GetProtocolVersion added in v0.13.8

func (c *SourceClient) GetProtocolVersion(ctx context.Context) (uint64, error)

func (*SourceClient) GetSyncSummary added in v0.12.0

func (c *SourceClient) GetSyncSummary(ctx context.Context) (*schema.SyncSummary, error)

func (*SourceClient) GetTables

func (c *SourceClient) GetTables(ctx context.Context) ([]*schema.Table, error)

func (*SourceClient) GetWaitError added in v0.11.1

func (c *SourceClient) GetWaitError() error

func (*SourceClient) Name added in v0.0.10

func (c *SourceClient) Name(ctx context.Context) (string, error)

func (*SourceClient) Sync added in v0.0.4

func (c *SourceClient) Sync(ctx context.Context, spec specs.Source, res chan<- []byte) error

Sync start syncing for the source client per the given spec and returning the results in the given channel. res is marshaled schema.Resource. We are not unmarshalling this for performance reasons as usually this is sent over-the-wire anyway to a source plugin

func (*SourceClient) Terminate added in v0.12.0

func (c *SourceClient) Terminate() error

Terminate is used only in conjunction with NewManagedSourceClient. It closes the connection it created, kills the spawned process and removes the socket file.

func (*SourceClient) Version added in v0.0.10

func (c *SourceClient) Version(ctx context.Context) (string, error)

type SourceClientOption added in v0.11.1

type SourceClientOption func(*SourceClient)

Jump to

Keyboard shortcuts

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