fix typo in _needDrain flag
failing test showing data left in buffer after end