code: def release(self, conn):
          
          fut = self._loop.create_future()
          fut.set_result(None)
  
          if conn in self._terminated:
              assert conn.closed, conn
              self._terminated.remove(conn)
              return fut
          assert conn in self._used, (conn, self._used)
          self._used.remove(conn)
          if not conn.closed:
              in_trans = conn.get_transaction_status()
              if in_trans:
                  conn.close()
                  return fut
              if self._closing:
                  conn.close()
              else:
                  self._free.append(conn)
              fut = self._loop.create_task(self._wakeup())
          return fut
docs: Release free connection back to the connection pool.
  
          This is **NOT** a coroutine.