clients

package
v0.11.5 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2022 License: MPL-2.0 Imports: 21 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, writers ...io.Writer) 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 WithDestinationWithWriters added in v0.11.2

func WithDestinationWithWriters(writers ...io.Writer) func(*DestinationClient)

WithDestinationWithWriters adds writers when downloading plugins from github

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)

func WithSourceWriters added in v0.11.2

func WithSourceWriters(writers ...io.Writer) func(*SourceClient)

WithSourceWriters adds writers when downloading plugins from github

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() 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 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) 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