persist

package
v0.5.2-rc3 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2016 License: MIT Imports: 13 Imported by: 66

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrBadVersion indicates that the version number of the file is not
	// compatible with the current codebase.
	ErrBadVersion = errors.New("incompatible version")

	// ErrBadHeader indicates that the file opened is not the file that was
	// expected.
	ErrBadHeader = errors.New("wrong header")
)

Functions

func Load added in v0.3.3

func Load(meta Metadata, data interface{}, r io.Reader) error

Load loads json data from a reader.

func LoadFile added in v0.3.3

func LoadFile(meta Metadata, data interface{}, filename string) error

LoadFile loads json data from a file.

func NewSafeFile added in v1.0.0

func NewSafeFile(filename string) (*safeFile, error)

NewSafeFile returns a file that can atomically be written to disk, minimizing the risk of corruption.

func RandomSuffix added in v1.0.0

func RandomSuffix() string

RandomSuffix returns a 20 character base32 suffix for a filename. There are 100 bits of entropy, and a very low probability of colliding with existing files unintentionally.

func Save added in v0.3.3

func Save(meta Metadata, data interface{}, w io.Writer) error

Save saves json data to a writer.

func SaveFile added in v0.3.3

func SaveFile(meta Metadata, data interface{}, filename string) error

SaveFile atomically saves json data to a file.

Types

type BoltDatabase added in v1.0.0

type BoltDatabase struct {
	Metadata
	*bolt.DB
}

BoltDatabase is a persist-level wrapper for the bolt database, providing extra information such as a version number.

func OpenDatabase added in v1.0.0

func OpenDatabase(md Metadata, filename string) (*BoltDatabase, error)

OpenDatabase opens a database filename and checks metadata

func (*BoltDatabase) Close added in v1.0.0

func (db *BoltDatabase) Close() error

CloseDatabase saves the bolt database to a file, and updates metadata

type Logger added in v1.0.0

type Logger struct {
	*log.Logger
	// contains filtered or unexported fields
}

Logger is a wrapper for the standard library logger that enforces logging into a file with the Sia-standard settings.

func NewLogger added in v1.0.0

func NewLogger(logFilename string) (*Logger, error)

NewLogger returns a logger that can be closed. Calls should not be made to the logger after 'Close' has been called.

func (*Logger) Close added in v1.0.0

func (l *Logger) Close() error

Close terminates the Logger.

func (*Logger) Critical added in v1.0.0

func (l *Logger) Critical(v ...interface{})

Critical logs a message with a CRITICAL prefix. If debug mode is enabled, it will also write the message to os.Stderr and panic.

func (*Logger) Debug added in v1.0.0

func (l *Logger) Debug(v ...interface{})

Debug is equivalent to Logger.Print when build.DEBUG is true. Otherwise it is a no-op.

func (*Logger) Debugf added in v1.0.0

func (l *Logger) Debugf(format string, v ...interface{})

Debug is equivalent to Logger.Printf when build.DEBUG is true. Otherwise it is a no-op.

func (*Logger) Debugln added in v1.0.0

func (l *Logger) Debugln(v ...interface{})

Debug is equivalent to Logger.Println when build.DEBUG is true. Otherwise it is a no-op.

type Metadata added in v0.3.3

type Metadata struct {
	Header, Version string
}

Metadata contains the header and version of the data being stored.

Jump to

Keyboard shortcuts

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