package main

import (
	"bufio"
	"io"
)

const defaultBufSize = 64 * 1024

type bufferedWriter struct {
	w   *bufio.Writer
	buf []byte
}

func newBufferedWriter(w io.Writer) *bufferedWriter {
	return &bufferedWriter{
		w: bufio.NewWriterSize(w, defaultBufSize),
	}
}

func (b *bufferedWriter) Write(p []byte) (n int, err error) {
	return b.w.Write(p)
}

func (b *bufferedWriter) WriteString(s string) (n int, err error) {
	return b.w.WriteString(s)
}

func (b *bufferedWriter) Flush() error {
	return b.w.Flush()
}
