in pulsar/primitiveSerDe.go [224:271]
func readElement(r io.Reader, element interface{}) error {
switch e := element.(type) {
case *int8:
rv, err := BinarySerializer.Uint8(r)
if err != nil {
return err
}
*e = int8(rv)
return nil
case *int16:
rv, err := BinarySerializer.Uint16(r, littleEndian)
if err != nil {
return err
}
*e = int16(rv)
return nil
case *int32:
rv, err := BinarySerializer.Uint32(r, littleEndian)
if err != nil {
return err
}
*e = int32(rv)
return nil
case *int64:
rv, err := BinarySerializer.Uint64(r, littleEndian)
if err != nil {
return err
}
*e = int64(rv)
return nil
case *bool:
rv, err := BinarySerializer.Uint8(r)
if err != nil {
return err
}
if rv == 0x00 {
*e = false
} else {
*e = true
}
return nil
}
return binary.Read(r, littleEndian, element)
}