mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
pkg/ioutil: add "FlushN"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
This commit is contained in:
parent
857dffa386
commit
b68f8ff31d
@ -95,12 +95,23 @@ func (pw *PageWriter) Write(p []byte) (n int, err error) {
|
||||
return n, werr
|
||||
}
|
||||
|
||||
// Flush flushes buffered data.
|
||||
func (pw *PageWriter) Flush() error {
|
||||
if pw.bufferedBytes == 0 {
|
||||
return nil
|
||||
}
|
||||
_, err := pw.w.Write(pw.buf[:pw.bufferedBytes])
|
||||
pw.pageOffset = (pw.pageOffset + pw.bufferedBytes) % pw.pageBytes
|
||||
pw.bufferedBytes = 0
|
||||
_, err := pw.flush()
|
||||
return err
|
||||
}
|
||||
|
||||
// FlushN flushes buffered data and returns the number of written bytes.
|
||||
func (pw *PageWriter) FlushN() (int, error) {
|
||||
return pw.flush()
|
||||
}
|
||||
|
||||
func (pw *PageWriter) flush() (int, error) {
|
||||
if pw.bufferedBytes == 0 {
|
||||
return 0, nil
|
||||
}
|
||||
n, err := pw.w.Write(pw.buf[:pw.bufferedBytes])
|
||||
pw.pageOffset = (pw.pageOffset + pw.bufferedBytes) % pw.pageBytes
|
||||
pw.bufferedBytes = 0
|
||||
return n, err
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user