rloop 0.1.0a3__tar.gz → 0.1.0a4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rloop-0.1.0a3 → rloop-0.1.0a4}/Cargo.lock +29 -27
- {rloop-0.1.0a3 → rloop-0.1.0a4}/Cargo.toml +7 -1
- {rloop-0.1.0a3 → rloop-0.1.0a4}/PKG-INFO +1 -1
- {rloop-0.1.0a3 → rloop-0.1.0a4}/pyproject.toml +1 -1
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/_rloop.pyi +21 -5
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/futures.py +2 -2
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/loop.py +285 -34
- rloop-0.1.0a4/rloop/server.py +71 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/subprocess.py +9 -9
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/utils.py +30 -2
- rloop-0.1.0a4/src/event_loop.rs +1089 -0
- rloop-0.1.0a4/src/handles.rs +207 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/src/io.rs +9 -15
- {rloop-0.1.0a3 → rloop-0.1.0a4}/src/lib.rs +10 -2
- rloop-0.1.0a4/src/log.rs +63 -0
- rloop-0.1.0a4/src/py.rs +94 -0
- rloop-0.1.0a4/src/server.rs +117 -0
- rloop-0.1.0a4/src/sock.rs +74 -0
- rloop-0.1.0a4/src/tcp.rs +768 -0
- rloop-0.1.0a4/src/time.rs +34 -0
- rloop-0.1.0a4/src/utils.rs +12 -0
- rloop-0.1.0a3/src/event_loop.rs +0 -762
- rloop-0.1.0a3/src/handles.rs +0 -96
- rloop-0.1.0a3/src/py.rs +0 -25
- {rloop-0.1.0a3 → rloop-0.1.0a4}/LICENSE +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/README.md +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/__init__.py +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/_compat.py +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/exc.py +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/rloop/transports.py +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/tests/conftest.py +0 -0
- {rloop-0.1.0a3 → rloop-0.1.0a4}/tests/test_sockets.py +0 -0
|
@@ -4,9 +4,9 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "anyhow"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.95"
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "
|
|
9
|
+
checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
|
|
10
10
|
|
|
11
11
|
[[package]]
|
|
12
12
|
name = "autocfg"
|
|
@@ -16,15 +16,15 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
|
|
16
16
|
|
|
17
17
|
[[package]]
|
|
18
18
|
name = "bitflags"
|
|
19
|
-
version = "2.
|
|
19
|
+
version = "2.8.0"
|
|
20
20
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
21
|
-
checksum = "
|
|
21
|
+
checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
|
|
22
22
|
|
|
23
23
|
[[package]]
|
|
24
24
|
name = "cc"
|
|
25
|
-
version = "1.2.
|
|
25
|
+
version = "1.2.10"
|
|
26
26
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
27
|
-
checksum = "
|
|
27
|
+
checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
|
|
28
28
|
dependencies = [
|
|
29
29
|
"shlex",
|
|
30
30
|
]
|
|
@@ -91,9 +91,9 @@ dependencies = [
|
|
|
91
91
|
|
|
92
92
|
[[package]]
|
|
93
93
|
name = "log"
|
|
94
|
-
version = "0.4.
|
|
94
|
+
version = "0.4.25"
|
|
95
95
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
96
|
-
checksum = "
|
|
96
|
+
checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
|
|
97
97
|
|
|
98
98
|
[[package]]
|
|
99
99
|
name = "memoffset"
|
|
@@ -143,18 +143,18 @@ checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
|
|
|
143
143
|
|
|
144
144
|
[[package]]
|
|
145
145
|
name = "proc-macro2"
|
|
146
|
-
version = "1.0.
|
|
146
|
+
version = "1.0.93"
|
|
147
147
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
148
|
-
checksum = "
|
|
148
|
+
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
|
|
149
149
|
dependencies = [
|
|
150
150
|
"unicode-ident",
|
|
151
151
|
]
|
|
152
152
|
|
|
153
153
|
[[package]]
|
|
154
154
|
name = "pyo3"
|
|
155
|
-
version = "0.23.
|
|
155
|
+
version = "0.23.4"
|
|
156
156
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
157
|
-
checksum = "
|
|
157
|
+
checksum = "57fe09249128b3173d092de9523eaa75136bf7ba85e0d69eca241c7939c933cc"
|
|
158
158
|
dependencies = [
|
|
159
159
|
"anyhow",
|
|
160
160
|
"cfg-if",
|
|
@@ -171,9 +171,9 @@ dependencies = [
|
|
|
171
171
|
|
|
172
172
|
[[package]]
|
|
173
173
|
name = "pyo3-build-config"
|
|
174
|
-
version = "0.23.
|
|
174
|
+
version = "0.23.4"
|
|
175
175
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
176
|
-
checksum = "
|
|
176
|
+
checksum = "1cd3927b5a78757a0d71aa9dff669f903b1eb64b54142a9bd9f757f8fde65fd7"
|
|
177
177
|
dependencies = [
|
|
178
178
|
"once_cell",
|
|
179
179
|
"python3-dll-a",
|
|
@@ -182,9 +182,9 @@ dependencies = [
|
|
|
182
182
|
|
|
183
183
|
[[package]]
|
|
184
184
|
name = "pyo3-ffi"
|
|
185
|
-
version = "0.23.
|
|
185
|
+
version = "0.23.4"
|
|
186
186
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
187
|
-
checksum = "
|
|
187
|
+
checksum = "dab6bb2102bd8f991e7749f130a70d05dd557613e39ed2deeee8e9ca0c4d548d"
|
|
188
188
|
dependencies = [
|
|
189
189
|
"libc",
|
|
190
190
|
"pyo3-build-config",
|
|
@@ -192,9 +192,9 @@ dependencies = [
|
|
|
192
192
|
|
|
193
193
|
[[package]]
|
|
194
194
|
name = "pyo3-macros"
|
|
195
|
-
version = "0.23.
|
|
195
|
+
version = "0.23.4"
|
|
196
196
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
197
|
-
checksum = "
|
|
197
|
+
checksum = "91871864b353fd5ffcb3f91f2f703a22a9797c91b9ab497b1acac7b07ae509c7"
|
|
198
198
|
dependencies = [
|
|
199
199
|
"proc-macro2",
|
|
200
200
|
"pyo3-macros-backend",
|
|
@@ -204,9 +204,9 @@ dependencies = [
|
|
|
204
204
|
|
|
205
205
|
[[package]]
|
|
206
206
|
name = "pyo3-macros-backend"
|
|
207
|
-
version = "0.23.
|
|
207
|
+
version = "0.23.4"
|
|
208
208
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
209
|
-
checksum = "
|
|
209
|
+
checksum = "43abc3b80bc20f3facd86cd3c60beed58c3e2aa26213f3cda368de39c60a27e4"
|
|
210
210
|
dependencies = [
|
|
211
211
|
"heck",
|
|
212
212
|
"proc-macro2",
|
|
@@ -226,9 +226,9 @@ dependencies = [
|
|
|
226
226
|
|
|
227
227
|
[[package]]
|
|
228
228
|
name = "quote"
|
|
229
|
-
version = "1.0.
|
|
229
|
+
version = "1.0.38"
|
|
230
230
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
231
|
-
checksum = "
|
|
231
|
+
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
|
|
232
232
|
dependencies = [
|
|
233
233
|
"proc-macro2",
|
|
234
234
|
]
|
|
@@ -244,12 +244,14 @@ dependencies = [
|
|
|
244
244
|
|
|
245
245
|
[[package]]
|
|
246
246
|
name = "rloop"
|
|
247
|
-
version = "0.1.0-
|
|
247
|
+
version = "0.1.0-alpha4"
|
|
248
248
|
dependencies = [
|
|
249
249
|
"anyhow",
|
|
250
250
|
"dashmap",
|
|
251
|
+
"libc",
|
|
251
252
|
"mio",
|
|
252
253
|
"pyo3",
|
|
254
|
+
"pyo3-build-config",
|
|
253
255
|
"socket2",
|
|
254
256
|
]
|
|
255
257
|
|
|
@@ -283,9 +285,9 @@ dependencies = [
|
|
|
283
285
|
|
|
284
286
|
[[package]]
|
|
285
287
|
name = "syn"
|
|
286
|
-
version = "2.0.
|
|
288
|
+
version = "2.0.96"
|
|
287
289
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
288
|
-
checksum = "
|
|
290
|
+
checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
|
|
289
291
|
dependencies = [
|
|
290
292
|
"proc-macro2",
|
|
291
293
|
"quote",
|
|
@@ -300,9 +302,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
|
|
|
300
302
|
|
|
301
303
|
[[package]]
|
|
302
304
|
name = "unicode-ident"
|
|
303
|
-
version = "1.0.
|
|
305
|
+
version = "1.0.15"
|
|
304
306
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
305
|
-
checksum = "
|
|
307
|
+
checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243"
|
|
306
308
|
|
|
307
309
|
[[package]]
|
|
308
310
|
name = "unindent"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rloop"
|
|
3
|
-
version = "0.1.0-
|
|
3
|
+
version = "0.1.0-alpha4"
|
|
4
4
|
description = "An asyncio event loop implemented in Rust"
|
|
5
5
|
authors = ["Giovanni Barillari <g@baro.dev>"]
|
|
6
6
|
license = "BSD-3-Clause"
|
|
@@ -36,6 +36,12 @@ mio = { version = "=1.0", features = ["net", "os-ext", "os-poll"] }
|
|
|
36
36
|
pyo3 = { version = "=0.23", features = ["anyhow", "extension-module", "generate-import-lib"] }
|
|
37
37
|
socket2 = "=0.5"
|
|
38
38
|
|
|
39
|
+
[target.'cfg(unix)'.dependencies]
|
|
40
|
+
libc = "0.2.159"
|
|
41
|
+
|
|
42
|
+
[build-dependencies]
|
|
43
|
+
pyo3-build-config = "=0.23"
|
|
44
|
+
|
|
39
45
|
[profile.release]
|
|
40
46
|
codegen-units = 1
|
|
41
47
|
debug = false
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
from typing import Any
|
|
1
|
+
from typing import Any, Callable, Tuple, TypeVar
|
|
2
2
|
from weakref import WeakSet
|
|
3
3
|
|
|
4
4
|
__version__: str
|
|
5
5
|
|
|
6
|
+
T = TypeVar('T')
|
|
7
|
+
|
|
6
8
|
class CBHandle:
|
|
7
9
|
def cancel(self): ...
|
|
8
10
|
def cancelled(self) -> bool: ...
|
|
@@ -36,14 +38,28 @@ class EventLoop:
|
|
|
36
38
|
|
|
37
39
|
def _run(self): ...
|
|
38
40
|
def _call_later(self, delay, callback, args, context) -> TimerHandle: ...
|
|
39
|
-
def _reader_add(self, fd, callback, args, context) -> CBHandle: ...
|
|
40
|
-
def _reader_rem(self, fd) -> bool: ...
|
|
41
|
-
def _writer_add(self, fd, callback, args, context) -> CBHandle: ...
|
|
42
|
-
def _writer_rem(self, fd) -> bool: ...
|
|
43
41
|
def _sig_add(self, sig, callback, context): ...
|
|
44
42
|
def _sig_rem(self, sig) -> bool: ...
|
|
45
43
|
def _sig_clear(self): ...
|
|
46
44
|
def _ssock_set(self, fd): ...
|
|
47
45
|
def _ssock_del(self, fd): ...
|
|
46
|
+
def _tcp_conn(self, sock, protocol_factory: Callable[[], T]) -> Tuple[Any, T]: ...
|
|
47
|
+
def _tcp_server(self, socks, rsocks, protocol_factory, backlog) -> Server: ...
|
|
48
|
+
def add_reader(self, fd, callback, *args) -> CBHandle: ...
|
|
49
|
+
def add_writer(self, fd, callback, *args) -> CBHandle: ...
|
|
48
50
|
def call_soon(self, callback, *args, context=None) -> CBHandle: ...
|
|
49
51
|
def call_soon_threadsafe(self, callback, *args, context=None) -> CBHandle: ...
|
|
52
|
+
def remove_reader(self, fd) -> bool: ...
|
|
53
|
+
def remove_writer(self, fd) -> bool: ...
|
|
54
|
+
|
|
55
|
+
class Server:
|
|
56
|
+
_loop: Any
|
|
57
|
+
_sff: Any
|
|
58
|
+
_sockets: list[int]
|
|
59
|
+
|
|
60
|
+
# def _add_waiter(self, waiter): ...
|
|
61
|
+
def _close(self): ...
|
|
62
|
+
def _start_serving(self): ...
|
|
63
|
+
def abort_clients(self): ...
|
|
64
|
+
def close_clients(self): ...
|
|
65
|
+
def is_serving(self) -> bool: ...
|
|
@@ -8,7 +8,7 @@ class _SyncSockReaderFuture(_Future):
|
|
|
8
8
|
|
|
9
9
|
def cancel(self, msg=None) -> bool:
|
|
10
10
|
if self.__sock is not None and self.__sock.fileno() != -1:
|
|
11
|
-
self._loop.
|
|
11
|
+
self._loop.remove_reader(self.__sock)
|
|
12
12
|
self.__sock = None
|
|
13
13
|
return super().cancel(msg)
|
|
14
14
|
|
|
@@ -20,6 +20,6 @@ class _SyncSockWriterFuture(_Future):
|
|
|
20
20
|
|
|
21
21
|
def cancel(self, msg=None) -> bool:
|
|
22
22
|
if self.__sock is not None and self.__sock.fileno() != -1:
|
|
23
|
-
self._loop.
|
|
23
|
+
self._loop.remove_writer(self.__sock)
|
|
24
24
|
self.__sock = None
|
|
25
25
|
return super().cancel(msg)
|