clients

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: MPL-2.0 Imports: 22 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, githubPath string, version string, typ PluginType, writers ...io.Writer) error

func WithDestinationLogger added in v0.11.1

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

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(cc grpc.ClientConnInterface) *DestinationClient

func NewManagedDestinationClient added in v0.11.1

func NewManagedDestinationClient(ctx context.Context, path string, opts ...DestinationClientOption) (*DestinationClient, error)

NewManagedDestinationClient starts a new destination plugin process, connects to it via gRPC server and returns a new DestinationClient

func (*DestinationClient) Close added in v0.11.1

func (c *DestinationClient) Close() error

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

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) 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, 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 source 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"
)

type SourceClient

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

SourceClient

func NewManagedSourceClient added in v0.11.1

func NewManagedSourceClient(ctx context.Context, path string, opts ...SourceClientOption) (*SourceClient, error)

NewManagedSourceClient starts a new source plugin process, connects to it via gRPC server and returns a new SourceClient

func NewSourceClient

func NewSourceClient(cc grpc.ClientConnInterface) *SourceClient

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

func (*SourceClient) Close added in v0.11.1

func (c *SourceClient) Close() error

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

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 destination plugin

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