func NewDecoder(r Reader, uf UnmarshalFunc) DecoderFunc {
	return func(m interface{}) error {
		frame, err := r.ReadFrame()
		if err != nil {
			return err
		}
		return uf(frame, m)
	}
}
NewDecoder returns a new Decoder that reads from the given frame Reader.
package framing
type (
	UnmarshalFunc func([]byte, interface{}) error
	Decoder interface {
		Decode(interface{}) error
	}
	DecoderFunc func(interface{}) error
)
func (f DecoderFunc) Decode(m interface{}) error { return f(m) }
var _ = Decoder(DecoderFunc(nil))