in pulsar/primitiveSerDe.go [273:316]
func writeElement(w io.Writer, element interface{}) error {
switch e := element.(type) {
case int8:
err := BinarySerializer.PutUint8(w, uint8(e))
if err != nil {
return err
}
return nil
case int16:
err := BinarySerializer.PutUint16(w, littleEndian, uint16(e))
if err != nil {
return err
}
return nil
case int32:
err := BinarySerializer.PutUint32(w, littleEndian, uint32(e))
if err != nil {
return err
}
return nil
case int64:
err := BinarySerializer.PutUint64(w, littleEndian, uint64(e))
if err != nil {
return err
}
return nil
case bool:
var err error
if e {
err = BinarySerializer.PutUint8(w, 0x01)
} else {
err = BinarySerializer.PutUint8(w, 0x00)
}
if err != nil {
return err
}
return nil
}
return binary.Write(w, littleEndian, element)
}