<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def streaming_command(self, service, command='', timeout_ms=None):
 """One complete set of packets for a single command. Helper function to call open_stream and yield the output. 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: service: The service on the device to talk to. command: The command to send to the service. timeout_ms: Timeout for the entire command, in milliseconds (or as a PolledTimeout object). Yields: The data contained in the responses from the service. """

    timeout = timeouts.PolledTimeout.from_millis(timeout_ms)
    stream = self.open_stream('%s:%s' % (service, command), timeout)
    if not stream:
      raise usb_exceptions.AdbStreamUnavailableError(
          '%s does not support service: %s', self, service)
    for data in stream.read_until_close(timeout):
      yield data