MCPcopy
hub / github.com/aio-libs/aiohttp / Connection

Class Connection

aiohttp/connector.py:37–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35
36
37class Connection(object):
38
39 _source_traceback = None
40 _transport = None
41
42 def __init__(self, connector, key, request, transport, protocol, loop):
43 self._key = key
44 self._connector = connector
45 self._request = request
46 self._transport = transport
47 self._protocol = protocol
48 self._loop = loop
49 self.reader = protocol.reader
50 self.writer = protocol.writer
51
52 if loop.get_debug():
53 self._source_traceback = traceback.extract_stack(sys._getframe(1))
54
55 def __repr__(self):
56 return 'Connection<{}>'.format(self._key)
57
58 def __del__(self, _warnings=warnings):
59 if self._transport is not None:
60 _warnings.warn('Unclosed connection {!r}'.format(self),
61 ResourceWarning)
62 if hasattr(self._loop, 'is_closed'):
63 if self._loop.is_closed():
64 return
65
66 self._connector._release(
67 self._key, self._request, self._transport, self._protocol,
68 should_close=True)
69
70 context = {'client_connection': self,
71 'message': 'Unclosed connection'}
72 if self._source_traceback is not None:
73 context['source_traceback'] = self._source_traceback
74 self._loop.call_exception_handler(context)
75
76 @property
77 def loop(self):
78 return self._loop
79
80 def close(self):
81 if self._transport is not None:
82 self._connector._release(
83 self._key, self._request, self._transport, self._protocol,
84 should_close=True)
85 self._transport = None
86
87 def release(self):
88 if self._transport is not None:
89 self._connector._release(
90 self._key, self._request, self._transport, self._protocol,
91 should_close=False)
92 self._transport = None
93
94 def detach(self):

Callers 7

test_delFunction · 0.90
test_closeFunction · 0.90
test_releaseFunction · 0.90
test_release_releasedFunction · 0.90
test_detachFunction · 0.90
connectMethod · 0.85
_create_connectionMethod · 0.85

Calls

no outgoing calls

Tested by 5

test_delFunction · 0.72
test_closeFunction · 0.72
test_releaseFunction · 0.72
test_release_releasedFunction · 0.72
test_detachFunction · 0.72