tempfile

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package tempfile implements a virtual temp files that can be written to (in series) and then read back (series/parallel) and then removed from the filesystem when done if multiple "tempfiles" are needed on the application layer, they are mapped to sections of the same real file on the filesystem

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileWriter

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

FileWriter allows for creating virtual temp files for reading/writing

func New

func New(dir string) (*FileWriter, error)

New creates a new timefile in dir, if dir is empty the OS default is used

func (*FileWriter) Close

func (w *FileWriter) Close() error

Close stops the tempfile from accepting new data, closes the file, and removes the temp file from disk works like an abort, unrecoverable

func (*FileWriter) Name

func (w *FileWriter) Name() string

Name returns the full path of the underlying file on the OS

func (*FileWriter) Next

func (w *FileWriter) Next() (int64, error)

Next stops writeing the the current section/file and prepaired the tempwriter for the next one

func (*FileWriter) Save

func (w *FileWriter) Save() (TempReader, error)

Save stops writing new data/sections to the temp file and returns a reader for reading the data/sections back

func (*FileWriter) Size

func (w *FileWriter) Size() int

Size returns the number of virtual files created

func (*FileWriter) Write

func (w *FileWriter) Write(p []byte) (int, error)

Write writes a byte to the current file section

func (*FileWriter) WriteString

func (w *FileWriter) WriteString(s string) (int, error)

WriteString writes s to the current file section

type MockFileWriter

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

MockFileWriter allows writeing to a temp file(s) that are backed by memory

func Mock

func Mock(n int) *MockFileWriter

Mock returns a new tempfileWrite backed by memory

func (*MockFileWriter) Close

func (w *MockFileWriter) Close() error

Close stops the tempfile from accepting new data, works like an abort, unrecoverable

func (*MockFileWriter) Next

func (w *MockFileWriter) Next() (int64, error)

Next stops writeing the the current section/file and prepaired the tempwriter for the next one

func (*MockFileWriter) Save

func (w *MockFileWriter) Save() (TempReader, error)

Save stops allowing new writes and returns a TempReader for reading the data back

func (*MockFileWriter) Size

func (w *MockFileWriter) Size() int

Size return the number of "files" saved

func (*MockFileWriter) Write

func (w *MockFileWriter) Write(p []byte) (int, error)

Write writes the byte to the temp file

func (*MockFileWriter) WriteString

func (w *MockFileWriter) WriteString(s string) (int, error)

WriteString writes the string to the temp file

type TempReader

type TempReader interface {
	io.Closer
	Size() int
	Read(i int) *bufio.Reader
}

TempReader defins the methods to allow reading the sections from tempfiles

type TempWriter

type TempWriter interface {
	io.Closer
	Size() int
	Write(p []byte) (int, error)
	WriteString(s string) (int, error)
	Next() (int64, error)
	Save() (TempReader, error)
}

TempWriter interface defines the virtual tempfile creation/writing stage

Jump to

Keyboard shortcuts

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