func NewWriter(w io.Writer, format byte) Writer {
	check(format)
	return &writer{w, format}
}
NewWriter creates a writer from an io.Writer and a format.
The format must be one of the constants defined in the proto package.
package pulse
import (
	"io"
	"reflect"
	"unsafe"
	"github.com/jfreymuth/pulse/proto"
)
type Reader interface {
	io.Reader
	Format() byte  
}
type Writer interface {
	io.Writer
	Format() byte  
}
type Uint8Reader func([]byte) (int, error)
type Int16Reader func([]int16) (int, error)
type Int32Reader func([]int32) (int, error)
type Float32Reader func([]float32) (int, error)
func NewReader(r io.Reader, format byte) Reader {
	check(format)
	return &reader{r, format}
}
type Uint8Writer func([]byte) (int, error)
type Int16Writer func([]int16) (int, error)
type Int32Writer func([]int32) (int, error)
type Float32Writer func([]float32) (int, error)