Documentation ¶
Overview ¶
Package aof implements a minimalist append-only file API with build-in fold-powered operators
package main import (
"log" "github.com/jeroiraz/go-aof"
)
// Note: Error handling not included
func main() { app, err := app.Open("test_file.aof") defer app.Close() // put some data into slice and append to file using the appender var bs []byte off, err := app.Append(bs) app.ForEach(func(e *aof.Entry) (cutoff bool, err error) { log.Printf("Entry at offset: %d has size: %d", e.Offset(), e.Size()) return false, nil }) mr, err := app.Map(func(e *aof.Entry) (size interface{}, cutoff bool, err error) { return e.Size(), false, nil }) log.Printf("Sizes: %v", mr) }
Index ¶
- Constants
- Variables
- type Appender
- func (app *Appender) Append(bs []byte) (off int64, err error)
- func (app *Appender) AppendBulk(bss [][]byte) (offs []int64, err error)
- func (app *Appender) Close() error
- func (app *Appender) FilteredMap(f FilterFn, m MapFn) (ls []interface{}, err error)
- func (app *Appender) Fold(f FoldFn, v interface{}) (ret interface{}, err error)
- func (app *Appender) FoldWithHandler(handler FoldHandler) error
- func (app *Appender) ForEach(f ForEachFn) error
- func (app *Appender) Map(f MapFn) (ls []interface{}, err error)
- func (app *Appender) Read(off int64) (e *Entry, err error)
- type Config
- type Entry
- type FilterFn
- type FoldFn
- type FoldHandler
- type ForEachFn
- type MapFn
Constants ¶
View Source
const DefaultBaseOffset = 0
View Source
const DefaultMaxEntrySize = 65535
View Source
const DefaultPerm = 0644
View Source
const DefaultReadOnly = false
Variables ¶
View Source
var ( ErrUnexpectedReadError = errors.New("aof: Unexpected error reading file") ErrCompletingLastEntry = errors.New("aof: Error completing last Entry") ErrLastEntryIncomplete = errors.New("aof: Last Entry was incomplete") ErrInvalidArguments = errors.New("aof: Invalid arguments") ErrUnexpectedWriteErr = errors.New("aof: Unexpected error writing file") ErrEntryExceedsMaxSize = errors.New("aof: Entry exceeds max supported size") ErrAppenderClosed = errors.New("aof: Appender closed") )
Functions ¶
This section is empty.
Types ¶
type Appender ¶
type Appender struct {
// contains filtered or unexported fields
}
func (*Appender) AppendBulk ¶
func (*Appender) FilteredMap ¶
func (*Appender) FoldWithHandler ¶
func (app *Appender) FoldWithHandler(handler FoldHandler) error
type Entry ¶
type Entry struct {
// contains filtered or unexported fields
}
func (*Entry) Incomplete ¶
type FoldHandler ¶
Click to show internal directories.
Click to hide internal directories.