code: def ReadUntilClose(self):
          
          while True:
              cmd, data = self.ReadUntil(b'CLSE', b'WRTE')
              if cmd == b'CLSE':
                  self._Send(b'CLSE', arg0=self.local_id, arg1=self.remote_id)
                  break
              if cmd != b'WRTE':
                  if cmd == b'FAIL':
                      raise usb_exceptions.AdbCommandFailureException(
                          'Command failed.', data)
                  raise InvalidCommandError('Expected a WRITE or a CLOSE, got %s (%s)',
                                            cmd, data)
              yield data
docs: Yield packets until a Close packet is received.