var defaultBufferBytes … type 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 NewPageWriter(w io.Writer, pageBytes, pageOffset int) *PageWriter { … } func (pw *PageWriter) Write(p []byte) (n int, err error) { … } // Flush flushes buffered data. func (pw *PageWriter) Flush() error { … } // FlushN flushes buffered data and returns the number of written bytes. func (pw *PageWriter) FlushN() (int, error) { … } func (pw *PageWriter) flush() (int, error) { … }