code: async def _grab_connection(self, url):
          '''
          The connection pool handler. Returns a connection
          to the caller. If there are no connections ready, and
          as many connections checked out as there are available total,
          we yield control to the event loop.
  
          If there is a connection ready or space to create a new one, we
          pop/create it, register it as checked out, and return it.
  
          Args:
              url (str): breaks the url down and uses the top level location
                  info to see if we have any connections to the location already
                  lying around.
          '''
          scheme, host, _, _, _, _ = urlparse(url)
          host_loc = urlunparse((scheme, host, '', '', '', ''))
  
          sock = self._checkout_connection(host_loc)
  
          if sock is None:
              sock = await self._make_connection(host_loc)
  
          return socync def _grab_connection(self, url):
          '''
          The connection pool handler. Returns a connection
          to the caller. If there are no connections ready, and
          as many connections checked out as there are available total,
          we yield control to the event loop.
  
          If there is a connection ready or space to create a new one, we
          pop/create it, register it as checked out, and return it.
  
          Args:
              url (str): breaks the url down and uses the top level location
                  info to see if we have any connections to the location already
                  lying around.
          '''
          scheme, host, _, _, _, _ = urlparse(url)
          host_loc = urlunparse((scheme, host, '', '', '', ''))
  
          sock = self._checkout_connection(host_loc)
  
          if sock is None:
              sock = await self._make_connection(host_loc)
  
          return sock
docs: The connection pool handler. Returns a connection
          to the caller. If there are no connections ready, and
          as many connections checked out as there are available total,
          we yield control to the event loop.
  
          If there is a connection ready or space to create a new one, we
          pop/create it, register it as checked out, and return it.
  
          Args:
              url (str): breaks the url down and uses the top level location
                  info to see if we have any connections to the location already
                  lying around.