! @return >= 0 on successfully reading a new record, -1 on end of stream, < -1 on error
See Implementation
! @return >= 0 on successfully reading a new record, -1 on end of stream, < -1 on error