code: def Open(cls, usb, destination, timeout_ms=None):
          
          local_id = 1
          msg = cls(
              command=b'OPEN', arg0=local_id, arg1=0,
              data=destination + b'\0')
          msg.Send(usb, timeout_ms)
          cmd, remote_id, their_local_id, _ = cls.Read(usb, [b'CLSE', b'OKAY'],
                                                       timeout_ms=timeout_ms)
          if local_id != their_local_id:
              raise InvalidResponseError(
                  'Expected the local_id to be {}, got {}'.format(local_id, their_local_id))
          if cmd == b'CLSE':
              # Some devices seem to be sending CLSE once more after a request, this *should* handle it
              cmd, remote_id, their_local_id, _ = cls.Read(usb, [b'CLSE', b'OKAY'],
                                                           timeout_ms=timeout_ms)
              # Device doesn't support this service.
              if cmd == b'CLSE':
                  return None
          if cmd != b'OKAY':
              raise InvalidCommandError('Expected a ready response, got {}'.format(cmd),
                                        cmd, (remote_id, their_local_id))
          return _AdbConnection(usb, local_id, remote_id, timeout_ms)
docs: Opens a new connection to the device via an OPEN message.
  
          Not the same as the posix 'open' or any other google3 Open methods.
  
          Args:
            usb: USB device handle with BulkRead and BulkWrite methods.
            destination: The service:command string.
            timeout_ms: Timeout in milliseconds for USB packets.
  
          Raises:
            InvalidResponseError: Wrong local_id sent to us.
            InvalidCommandError: Didn't get a ready response.
  
          Returns:
            The local connection id.