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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wslink
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: Python/JavaScript library for communicating over WebSocket
5
5
  Home-page: https://github.com/kitware/wslink
6
6
  Author: Kitware, Inc.
@@ -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=Gdp8ll5z3wq6gBU0GSVu2iq_o598Mxt8jQ1wZi6Z87A,5520
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.0.dist-info/METADATA,sha256=SEj4XM87pZO5pMxU6WTxYxyGz7rZdxFOspQkHEYTkEg,3120
23
- wslink-2.2.0.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
24
- wslink-2.2.0.dist-info/top_level.txt,sha256=N0d8eqvhwhfW1p1yPTmvxlbzhjz7ZyhBfysNvaFqpQY,7
25
- wslink-2.2.0.dist-info/RECORD,,
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