package ioutil
import "go.etcd.io/etcd/pkg/v3/ioutil"
Package ioutil implements I/O utility functions.
Index ¶
- Variables
- func NewExactReadCloser(rc io.ReadCloser, totalBytes int64) io.ReadCloser
- func NewLimitedBufferReader(r io.Reader, n int) io.Reader
- func WriteAndSyncFile(filename string, data []byte, perm os.FileMode) error
- type PageWriter
- func NewPageWriter(w io.Writer, pageBytes, pageOffset int) *PageWriter
- func (pw *PageWriter) Flush() error
- func (pw *PageWriter) FlushN() (int, error)
- func (pw *PageWriter) Write(p []byte) (n int, err error)
- type ReaderAndCloser
Variables ¶
var ( ErrShortRead = fmt.Errorf("ioutil: short read") ErrExpectEOF = fmt.Errorf("ioutil: expect EOF") )
Functions ¶
func NewExactReadCloser ¶
func NewExactReadCloser(rc io.ReadCloser, totalBytes int64) io.ReadCloser
NewExactReadCloser returns a ReadCloser that returns errors if the underlying reader does not read back exactly the requested number of bytes.
func NewLimitedBufferReader ¶
NewLimitedBufferReader returns a reader that reads from the given reader but limits the amount of data returned to at most n bytes.
func WriteAndSyncFile ¶
WriteAndSyncFile behaves just like ioutil.WriteFile in the standard library, but calls Sync before closing the file. WriteAndSyncFile guarantees the data is synced if there is no error returned.
Types ¶
type PageWriter ¶
type PageWriter struct {
// contains filtered or unexported fields
}
PageWriter implements the io.Writer interface so that writes will either be in page chunks or from flushing.
func NewPageWriter ¶
func NewPageWriter(w io.Writer, pageBytes, pageOffset int) *PageWriter
NewPageWriter creates a new PageWriter. pageBytes is the number of bytes to write per page. pageOffset is the starting offset of io.Writer.
func (*PageWriter) Flush ¶
func (pw *PageWriter) Flush() error
Flush flushes buffered data.
func (*PageWriter) FlushN ¶
func (pw *PageWriter) FlushN() (int, error)
FlushN flushes buffered data and returns the number of written bytes.
func (*PageWriter) Write ¶
func (pw *PageWriter) Write(p []byte) (n int, err error)
type ReaderAndCloser ¶
ReaderAndCloser implements io.ReadCloser interface by combining reader and closer together.
Source Files ¶
pagewriter.go readcloser.go reader.go util.go
- Version
- v3.5.18 (latest)
- Published
- Jan 24, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 6 days ago –
Tools for package owners.