code: def StreamingCommand(cls, usb, service, command='', timeout_ms=None):
          
          if not isinstance(command, bytes):
              command = command.encode('utf8')
          connection = cls.Open(
              usb, destination=b'%s:%s' % (service, command),
              timeout_ms=timeout_ms)
          for data in connection.ReadUntilClose():
              yield data.decode('utf8')
docs: One complete set of USB packets for a single command.
  
          Sends service:command in a new connection, reading the data for the
          response. All the data is held in memory, large responses will be slow and
          can fill up memory.
  
          Args:
            usb: USB device handle with BulkRead and BulkWrite methods.
            service: The service on the device to talk to.
            command: The command to send to the service.
            timeout_ms: Timeout for USB packets, in milliseconds.
  
          Raises:
            InterleavedDataError: Multiple streams running over usb.
            InvalidCommandError: Got an unexpected response command.
  
          Yields:
            The responses from the service.