backup

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Compression added in v0.0.3

type Compression string

Compression the type of compression

const (
	// NoneCompression no compression
	NoneCompression Compression = "NONE"
	// GZIPCompression gzip
	GZIPCompression Compression = "GZIP"
	// ZStandardCompression Zstandard
	ZStandardCompression Compression = "Zstandard"
)

type CompressionLevel added in v0.0.3

type CompressionLevel string

CompressionLevel the level of compression

const (
	// NoCompressionLevel no compression
	NoCompressionLevel CompressionLevel = "No"
	// BestSpeedCompressionLevel best speed
	BestSpeedCompressionLevel CompressionLevel = "BestSpeed"
	// DefaultCompressionLevel default compression
	DefaultCompressionLevel CompressionLevel = "Default"
	// BestCompressionCompressionLevel best compression
	BestCompressionCompressionLevel CompressionLevel = "BestCompression"
	// HuffmanOnlyCompressionLevel HuffmanOnly gzip specific compression
	HuffmanOnlyCompressionLevel CompressionLevel = "HuffmanOnly"
)

type CompressionWriterFactory added in v0.0.3

type CompressionWriterFactory interface {
	// Create returns a compression writer
	Create(io.Writer) (io.WriteCloser, error)
	// Filename returns the new filename based on the compression
	Filename(originalFilename string) string
}

CompressionWriterFactory is factory for compression writer

func NewCompressionWriterFactory added in v0.0.3

func NewCompressionWriterFactory(
	enabled bool,
	compression Compression,
	level CompressionLevel,
) CompressionWriterFactory

NewCompressionWriterFactory constructor of CompressionWriterFactory nolint: revive

type FileBackup

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

FileBackup saves the events on the file system

func NewFileBackup

func NewFileBackup(
	archive IBackupSingle,
) (*FileBackup, error)

NewFileBackup creates file system backup service nolint: revive

func (*FileBackup) Flush

func (b *FileBackup) Flush()

Flush is called before shutdown to force process of the last batch

func (*FileBackup) SaveAsync

func (b *FileBackup) SaveAsync(event *types.Event)

SaveAsync saves an event with default batcher

type IBackup

type IBackup interface {
	SaveAsync(event *types.Event)
	Flush()
}

IBackup interface for all backup sub directories

func New

func New(
	enabled bool,
	backupInterval time.Duration,
	baseDirectory string,
	compressionFactory CompressionWriterFactory,
) (IBackup, error)

New is factory for backup service nolint: revive

type IBackupSingle added in v0.0.3

type IBackupSingle interface {
	SaveAsync(event *types.Event)
	Flush()
	Compress()
}

IBackupSingle is single directory backup interface

type NullBackup

type NullBackup struct {
}

NullBackup is disabled backup implementation

func NewNullBackup

func NewNullBackup() *NullBackup

NewNullBackup creates disabled backup implementation

func (*NullBackup) Flush

func (*NullBackup) Flush()

Flush disabled implementation

func (*NullBackup) SaveAsync

func (*NullBackup) SaveAsync(_ *types.Event)

SaveAsync disabled implementation

type SingleFileBackup added in v0.0.3

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

SingleFileBackup saves the events on the file system

func NewSingleFileBackup added in v0.0.3

func NewSingleFileBackup(
	backupInterval time.Duration,
	directory string,
	compressionFactory CompressionWriterFactory,
) *SingleFileBackup

NewSingleFileBackup creates single file system backup service nolint: revive

func (*SingleFileBackup) Compress added in v0.0.3

func (b *SingleFileBackup) Compress()

Compress aggregates hourly files into daily summary with meta

func (*SingleFileBackup) Flush added in v0.0.3

func (b *SingleFileBackup) Flush()

Flush is called before shutdown to force process of the last batch

func (*SingleFileBackup) SaveAsync added in v0.0.3

func (b *SingleFileBackup) SaveAsync(event *types.Event)

SaveAsync saves an event with default batcher nolint: revive

Directories

Path Synopsis
Package backupmocks is a generated GoMock package.
Package backupmocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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