code: def feed_data(self, data):
      assert not self._eof, "feed_data after feed_eof"
  
      if not data:
          return
  
      self._buffer.extend(data)
      self._wakeup_waiter()
  
      if (
          self._transport is not None
          and not self._paused
          and len(self._buffer) > 2 * self._limit
      ):
          try:
              self._transport.pause_reading()
          except NotImplementedError:
              # The transport can't be paused.
              # We'll just have to buffer all data.
              # Forget the transport so we don't keep trying.
              self._transport = None
          else:
              self._paused = True
  
imports: import collections
  import socket
  import sys
  import warnings
  import weakref
  from .None import coroutines
  from .None import events
  from .None import exceptions
  from .None import format_helpers
  from .None import protocols
  from .log import logger
  from .tasks import sleep
label_desc: Use image node_id 10 for calling the StreamReader obj's underlying member method code with example usage: obj.feed_data(data) without return types