예제 #1
0
파일: rowbuf.go 프로젝트: fengshao0907/rpdb
func (w *BufWriter) WriteFloat64(f float64) error {
	p := make([]byte, 8)
	bits := math.Float64bits(f)
	binary.LittleEndian.PutUint64(p, bits)
	_, err := ioutils.WriteFull(w.w, p)
	return err
}
예제 #2
0
파일: rowbuf.go 프로젝트: fengshao0907/rpdb
func (w *BufWriter) WriteVarbytes(p []byte) error {
	if n := uint64(len(p)); n > maxVarbytesLen {
		return errors.Trace(ErrVarbytesLen)
	} else if err := w.WriteUvarint(n); err != nil {
		return err
	}
	_, err := ioutils.WriteFull(w.w, p)
	return err
}
예제 #3
0
파일: rowbuf.go 프로젝트: fengshao0907/rpdb
func (w *BufWriter) WriteBytes(p []byte) error {
	_, err := ioutils.WriteFull(w.w, p)
	return err
}
예제 #4
0
파일: rowbuf.go 프로젝트: fengshao0907/rpdb
func (w *BufWriter) WriteUvarint(v uint64) error {
	p := make([]byte, binary.MaxVarintLen64)
	n := binary.PutUvarint(p, v)
	_, err := ioutils.WriteFull(w.w, p[:n])
	return err
}