Documentation
¶
Overview ¶
Package omnistorage provides a lightweight storage abstraction layer for Go.
This package re-exports the core object storage interfaces and automatically registers all built-in backends (file, memory, channel, sftp, dropbox).
For cloud storage backends (S3, GCS, GitHub, Google Drive), use github.com/plexusone/omnistorage which includes both core and cloud backends.
Usage:
import "github.com/plexusone/omnistorage-core"
backend, _ := omnistorage.Open("file", map[string]string{
"root": "/path/to/storage",
})
Available backends:
- file: Local filesystem storage
- memory: In-memory storage (for testing)
- channel: In-process channel-based storage
- sftp: SSH file transfer protocol
- dropbox: Dropbox cloud storage
Index ¶
Constants ¶
const ( HashMD5 = object.HashMD5 HashSHA1 = object.HashSHA1 HashSHA256 = object.HashSHA256 HashCRC32C = object.HashCRC32C )
Re-export hash types.
Variables ¶
var ( // Register registers a backend factory. Register = object.Register // Open creates a backend from the registry. Open = object.Open // WithContentType sets the content type for a writer. WithContentType = object.WithContentType // WithMetadata sets metadata for a writer. WithMetadata = object.WithMetadata // WithOffset sets the read offset. WithOffset = object.WithOffset // WithLimit sets the read limit. WithLimit = object.WithLimit // ApplyWriterOptions applies writer options. ApplyWriterOptions = object.ApplyWriterOptions // ApplyReaderOptions applies reader options. ApplyReaderOptions = object.ApplyReaderOptions // Backends returns a sorted list of registered backend names. Backends = object.Backends )
Re-export core functions.
var ( ErrNotFound = object.ErrNotFound ErrPermissionDenied = object.ErrPermissionDenied ErrBackendClosed = object.ErrBackendClosed ErrNotSupported = object.ErrNotSupported ErrInvalidPath = object.ErrInvalidPath ErrWriterClosed = object.ErrWriterClosed )
Re-export core errors.
Functions ¶
This section is empty.
Types ¶
type ExtendedBackend ¶
type ExtendedBackend = object.ExtendedBackend
ExtendedBackend extends Backend with additional operations.
type ObjectInfo ¶
type ObjectInfo = object.ObjectInfo
ObjectInfo contains metadata about a stored object.
type RecordReader ¶
type RecordReader = object.RecordReader
RecordReader reads framed records from an underlying reader.
type RecordWriter ¶
type RecordWriter = object.RecordWriter
RecordWriter writes framed records to an underlying writer.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package kvs provides a key-value storage interface.
|
Package kvs provides a key-value storage interface. |
|
backend/memory
Package memory provides an in-memory key-value storage backend.
|
Package memory provides an in-memory key-value storage backend. |
|
backend/sqlite
Package sqlite provides a SQLite key-value storage backend.
|
Package sqlite provides a SQLite key-value storage backend. |
|
Package omnistorage provides a unified storage abstraction layer for Go.
|
Package omnistorage provides a unified storage abstraction layer for Go. |
|
backend/channel
Package channel provides a Go channel-based backend for omnistorage.
|
Package channel provides a Go channel-based backend for omnistorage. |
|
backend/file
Package file provides a local filesystem backend for omnistorage.
|
Package file provides a local filesystem backend for omnistorage. |
|
backend/memory
Package memory provides an in-memory backend for omnistorage.
|
Package memory provides an in-memory backend for omnistorage. |
|
backend/sftp
Package sftp provides an SFTP backend for omnistorage.
|
Package sftp provides an SFTP backend for omnistorage. |
|
compress/gzip
Package gzip provides gzip compression support for omnistorage.
|
Package gzip provides gzip compression support for omnistorage. |
|
compress/zstd
Package zstd provides Zstandard compression support for omnistorage.
|
Package zstd provides Zstandard compression support for omnistorage. |
|
format/ndjson
Package ndjson provides NDJSON (newline-delimited JSON) format support for omnistorage.
|
Package ndjson provides NDJSON (newline-delimited JSON) format support for omnistorage. |
|
multi
Package multi provides fan-out writing to multiple backends simultaneously.
|
Package multi provides fan-out writing to multiple backends simultaneously. |
|
sync
Package sync provides file synchronization between omnistorage backends.
|
Package sync provides file synchronization between omnistorage backends. |
|
sync/filter
Package filter provides file filtering for sync operations.
|
Package filter provides file filtering for sync operations. |