api

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2022 License: MIT Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheConfigInjector

type CacheConfigInjector interface {
	CacheSystem() CacheSystem
}

CacheConfigInjector interface to be used by a function to inject the cache system config into a deployment package

type CacheSystem

type CacheSystem interface {
	FileSystem

	Deploy() error
	Undeploy() error

	Flush(system FileSystem) error
	Clear() error

	//FunctionInjector can be used by function deployment code to modify function deploymentes to use the underling cache system, warning needs to be implmented for each platfrom induvidually
	FunctionInjector() CacheConfigInjector
}

CacheSystem represent a ephemeral file system used for intermediate state between map/reduce phases

type FileInfo

type FileInfo struct {
	Name string // file path
	Size int64  // file size in bytes
}

FileInfo provides information about a file

type FileSystem

type FileSystem interface {
	ListFiles(pathGlob string) ([]FileInfo, error)
	Stat(filePath string) (FileInfo, error)
	OpenReader(filePath string, startAt int64) (io.ReadCloser, error)
	OpenWriter(filePath string) (io.WriteCloser, error)
	Delete(filePath string) error
	Join(elem ...string) string
	Split(path string) []string
	Init() error
}

FileSystem provides the file backend for MapReduce jobs. Input data is read from a file system. Intermediate and output data is written to a file system. This is abstracted to allow remote filesystems like S3 to be supported.

type Plugin

type Plugin struct {
	FullName       string `json:"name"`       // FullName of the plugin, must be a go `get`-able package
	ExecutableName string `json:"executable"` // Name of the executable installed by go install
	// contains filtered or unexported fields
}

func (*Plugin) GetConnection

func (p *Plugin) GetConnection() grpc.ClientConnInterface

func (*Plugin) Init

func (p *Plugin) Init() error

func (*Plugin) Interact

func (p *Plugin) Interact(in io.Reader) error

func (*Plugin) IsConnected

func (p *Plugin) IsConnected() bool

func (*Plugin) Start

func (p *Plugin) Start(args ...string) error

func (*Plugin) Stop

func (p *Plugin) Stop()

Jump to

Keyboard shortcuts

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