storage

package
v0.1.0-devel Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2022 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Overview

Package storage provides utilities and facades to interact with storage engines

Index

Constants

This section is empty.

Variables

View Source
var ErrAlreadyExist error = fmt.Errorf("object already exist")
View Source
var ErrDriverNotFound error = fmt.Errorf("Driver not found")
View Source
var ErrNotExist error = fmt.Errorf("object not exist")

Functions

func DefaultReleaseTimer

func DefaultReleaseTimer(driver Driver, id uuid.UUID, duration time.Duration) <-chan error

func NewCallbackWriteCloser

func NewCallbackWriteCloser(w io.Writer, callback func(w io.Writer) error) io.WriteCloser

func RegisterDriver

func RegisterDriver(name string, factory DriverFactory)

func RemoveDriver

func RemoveDriver(name string)

Types

type CallbackWriteCloser

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

func (*CallbackWriteCloser) Close

func (cwc *CallbackWriteCloser) Close() error

func (*CallbackWriteCloser) Write

func (cwc *CallbackWriteCloser) Write(p []byte) (n int, err error)

type Driver

type Driver interface {
	// GetName returns the name of the interface
	GetName() string
	// NewObject creates a new object in the storage
	NewObject(id uuid.UUID) (io.WriteCloser, error)
	// GetObject retrieves an object in the storage
	GetObject(id uuid.UUID) (io.ReadCloser, error)
	// IsExist returns if an object exists
	IsExist(id uuid.UUID) (bool, error)
	// ReleaseObject releases an object in the storage
	ReleaseObject(id uuid.UUID) error
	// SetExpire sets an expire duration for an exact object
	SetExpire(id uuid.UUID, expire time.Duration) <-chan error
}

Driver defines storage driver interface

func NewDriver

func NewDriver(name string, conf DriverConfigure) (Driver, error)

type DriverConfigure

type DriverConfigure map[string]interface{}

type DriverFactory

type DriverFactory func(conf DriverConfigure) (Driver, error)

Directories

Path Synopsis
Package drivers includes several storage drivers for objdeliv
Package drivers includes several storage drivers for objdeliv
local
Package local implements a local storage driver for objdeliv
Package local implements a local storage driver for objdeliv
memory
Package memory implements a memory storage driver for objdeliv
Package memory implements a memory storage driver for objdeliv

Jump to

Keyboard shortcuts

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