Reads all length bytes to dst buffer or fails if channel has been closed. Suspends if not enough bytes available.