wslink 2.2.0__py3-none-any.whl → 2.2.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
wslink/websocket.py
CHANGED
@@ -67,17 +67,28 @@ class LinkProtocol(object):
|
|
67
67
|
|
68
68
|
|
69
69
|
class NetworkMonitor:
|
70
|
+
"""
|
71
|
+
Provide context manager for increase/decrease pending request
|
72
|
+
either synchronously or asynchronously.
|
73
|
+
|
74
|
+
The Asynchronous version also await completion.
|
75
|
+
"""
|
76
|
+
|
70
77
|
def __init__(self):
|
78
|
+
|
71
79
|
self.pending = 0
|
72
80
|
self.event = asyncio.Event()
|
73
81
|
|
74
82
|
def network_call_completed(self):
|
83
|
+
"""Trigger completion event"""
|
75
84
|
self.event.set()
|
76
85
|
|
77
86
|
def on_enter(self, *args, **kwargs):
|
87
|
+
"""Increase pending request"""
|
78
88
|
self.pending += 1
|
79
89
|
|
80
90
|
def on_exit(self, *args, **kwargs):
|
91
|
+
"""Decrease pending request and trigger completion event if we reach 0 pending request"""
|
81
92
|
self.pending -= 1
|
82
93
|
if self.pending == 0 and not self.event.is_set():
|
83
94
|
self.event.set()
|
@@ -97,6 +108,10 @@ class NetworkMonitor:
|
|
97
108
|
|
98
109
|
async def __aexit__(self, exc_t, exc_v, exc_tb):
|
99
110
|
self.on_exit()
|
111
|
+
await self.completion()
|
112
|
+
|
113
|
+
async def completion(self):
|
114
|
+
"""Await completion of any pending network request"""
|
100
115
|
while self.pending:
|
101
116
|
self.event.clear()
|
102
117
|
await self.event.wait()
|
@@ -8,7 +8,7 @@ wslink/relay.py,sha256=E8Lzu2Ay7KbOheN1-ArAZawo8lLqdDgJXOZSBuMknYs,86
|
|
8
8
|
wslink/server.py,sha256=yvhCjpzPOfhbZrpDvW9i4H_uSyuQAe3ZOP-BRBmgHQA,9326
|
9
9
|
wslink/ssl_context.py,sha256=hNOJJCdrStws1Qf6vPvY4vTk9Bf8J5d90W3fS0cRv8o,2290
|
10
10
|
wslink/uri.py,sha256=woCQ4yChUqTMg9IT6YYDtUYeKmCg7OUCEgeBGA-19DY,384
|
11
|
-
wslink/websocket.py,sha256=
|
11
|
+
wslink/websocket.py,sha256=wOuLfYeM72Ikzc9YA0qZjj6EfSXXQp-8p0uP-H9gapE,6004
|
12
12
|
wslink/backends/__init__.py,sha256=cyJGjm-YyBSyOEX81owyTbJ3YnrA6dB7--B4LnsEtHI,1214
|
13
13
|
wslink/backends/aiohttp/__init__.py,sha256=Bc3uPVrhNXnn5Xt3Tck2Th-dsysz1VAnQdh8WzRn1y0,9253
|
14
14
|
wslink/backends/aiohttp/launcher.py,sha256=gHNMvtgNHEwBN_QBRDSCrTp2B4K1PsfV81rKaHi7Cxo,8897
|
@@ -19,7 +19,7 @@ wslink/backends/jupyter/__init__.py,sha256=Qu65gWsd2xCSsxybnDtEDI5vMjHN-F5jgPZOy
|
|
19
19
|
wslink/backends/jupyter/core.py,sha256=PCQN-uZPFROnRv8B5dNwnwHV67o4Bpme3_Z6V-zbOUA,3864
|
20
20
|
wslink/backends/tornado/__init__.py,sha256=Qu65gWsd2xCSsxybnDtEDI5vMjHN-F5jgPZOyNIxnGs,112
|
21
21
|
wslink/backends/tornado/core.py,sha256=tPMkkhWuO_ovkisVim0zcegwZKEAG4IRUdd_O_0a_R0,2157
|
22
|
-
wslink-2.2.
|
23
|
-
wslink-2.2.
|
24
|
-
wslink-2.2.
|
25
|
-
wslink-2.2.
|
22
|
+
wslink-2.2.1.dist-info/METADATA,sha256=Ng1NUSdljWz0EDJg7yppAY29AZ2G-V3XbJDU0etWiLQ,3120
|
23
|
+
wslink-2.2.1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
24
|
+
wslink-2.2.1.dist-info/top_level.txt,sha256=N0d8eqvhwhfW1p1yPTmvxlbzhjz7ZyhBfysNvaFqpQY,7
|
25
|
+
wslink-2.2.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|