code: def open_stream(self, destination, timeout_ms=None):
      
      timeout = timeouts.PolledTimeout.from_millis(timeout_ms)
  
      stream_transport = self._make_stream_transport()
      self.transport.write_message(
          adb_message.AdbMessage(
              command='OPEN',
              arg0=stream_transport.local_id, arg1=0,
              data=destination + '\0'),
          timeout)
      if not stream_transport.ensure_opened(timeout):
        return None
      return AdbStream(destination, stream_transport)
docs: Opens a new stream to a destination service on the device.
  
      Not the same as the posix 'open' or any other Open methods, this
      corresponds to the OPEN message described in the ADB protocol
      documentation mentioned above.  It creates a stream (uniquely identified
      by remote/local ids) that connects to a particular service endpoint.
  
      Args:
        destination: The service:command string, see ADB documentation.
        timeout_ms: Timeout in milliseconds for the Open to succeed (or as a
          PolledTimeout object).
  
      Raises:
        AdbProtocolError: Wrong local_id sent to us, or we didn't get a ready
          response.
  
      Returns:
        An AdbStream object that can be used to read/write data to the specified
        service endpoint, or None if the requested service couldn't be opened.