Documentation ¶
Overview ¶
Package ioutil implements some I/O utility functions which are not covered by the standard library.
Index ¶
- func AppendFile(dst string, src string) error
- func CopyAligned(w *os.File, r io.Reader, alignedBuf []byte, totalSize int64) (int64, error)
- func NewSkipReader(r io.Reader, n int64) io.Reader
- func NopCloser(w io.Writer) io.WriteCloser
- func SameFile(fi1, fi2 os.FileInfo) bool
- type LimitWriter
- type SkipReader
- type WriteOnCloser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendFile ¶
AppendFile - appends the file "src" to the file "dst"
func CopyAligned ¶
CopyAligned - copies from reader to writer using the aligned input buffer, it is expected that input buffer is page aligned to 4K page boundaries. Without passing aligned buffer may cause this function to return error.
This code is similar in spirit to io.CopyBuffer but it is only to be used with DIRECT I/O based file descriptor and it is expected that input writer *os.File not a generic io.Writer. Make sure to have the file opened for writes with syscall.O_DIRECT flag.
func NewSkipReader ¶
NewSkipReader - creates a SkipReader
Types ¶
type LimitWriter ¶
LimitWriter implements io.WriteCloser.
This is implemented such that we want to restrict an enscapsulated writer upto a certain length and skip a certain number of bytes.
func LimitedWriter ¶
func LimitedWriter(w io.Writer, skipBytes int64, limit int64) *LimitWriter
LimitedWriter takes an io.Writer and returns an ioutil.LimitWriter.
func (*LimitWriter) Close ¶
func (w *LimitWriter) Close() error
Close closes the LimitWriter. It behaves like io.Closer.
type SkipReader ¶
SkipReader skips a given number of bytes and then returns all remaining data.
type WriteOnCloser ¶
WriteOnCloser implements io.WriteCloser and always executes at least one write operation if it is closed.
This can be useful within the context of HTTP. At least one write operation must happen to send the HTTP headers to the peer.
func WriteOnClose ¶
func WriteOnClose(w io.Writer) *WriteOnCloser
WriteOnClose takes an io.Writer and returns an ioutil.WriteOnCloser.
func (*WriteOnCloser) Close ¶
func (w *WriteOnCloser) Close() error
Close closes the WriteOnCloser. It behaves like io.Closer.
func (*WriteOnCloser) HasWritten ¶
func (w *WriteOnCloser) HasWritten() bool
HasWritten returns true if at least one write operation was performed.