atomicwriter

package
v0.0.0-...-e82d903 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(filename string, perm os.FileMode) (io.WriteCloser, error)

New returns a WriteCloser so that writing to it writes to a temporary file and closing it atomically changes the temporary file to destination path. Writing and closing concurrently is not allowed. NOTE: umask is not considered for the file's permissions.

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile atomically writes data to a file named by filename and with the specified permission bits. NOTE: umask is not considered for the file's permissions.

Types

type WriteSet

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

WriteSet is used to atomically write a set of files and ensure they are visible at the same time. Must be committed to a new directory.

func NewWriteSet

func NewWriteSet(tmpDir string) (*WriteSet, error)

NewWriteSet creates a new atomic write set to atomically create a set of files. The given directory is used as the base directory for storing files before commit. If no temporary directory is given the system default is used.

func (*WriteSet) Cancel

func (ws *WriteSet) Cancel() error

Cancel cancels the set and removes all temporary data created in the set.

func (*WriteSet) Commit

func (ws *WriteSet) Commit(target string) error

Commit moves all created files to the target directory. The target directory must not exist and the parent of the target directory must exist.

func (*WriteSet) FileWriter

func (ws *WriteSet) FileWriter(name string, flag int, perm os.FileMode) (io.WriteCloser, error)

FileWriter opens a file writer inside the set. The file should be synced and closed before calling commit.

func (*WriteSet) String

func (ws *WriteSet) String() string

String returns the location the set is writing to.

func (*WriteSet) WriteFile

func (ws *WriteSet) WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile writes a file to the set, guaranteeing the file has been synced.

Jump to

Keyboard shortcuts

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