def ReadUntil(self, *expected_cmds):
    """Read a packet, Ack any write packets."""
    cmd, remote_id, local_id, data = AdbMessage.Read(
        self.usb, expected_cmds, self.timeout_ms)
    if local_id != 0 and self.local_id != local_id:
      raise InterleavedDataError("We don't support multiple streams...")
    if remote_id != 0 and self.remote_id != remote_id:
      raise InvalidResponseError(
          'Incorrect remote id, expected %s got %s' % (
              self.remote_id, remote_id))
    # Ack write packets.
    if cmd == 'WRTE':
      self.Okay()
    return cmd, data
dataset/ETHPy150Open google/python-adb/adb/adb_protocol.py/_AdbConnection.ReadUntil/original