Type annot updates
							parent
							
								
									ee3dc5123f
								
							
						
					
					
						commit
						61cc393a1a
					
				|  | @ -26,8 +26,11 @@ import importlib | ||||||
| import importlib.util | import importlib.util | ||||||
| import inspect | import inspect | ||||||
| import uuid | import uuid | ||||||
| import typing | from typing import ( | ||||||
| from typing import Any, Optional, Union |     Any, Optional, | ||||||
|  |     Union, TYPE_CHECKING, | ||||||
|  |     Callable, | ||||||
|  | ) | ||||||
| from types import ModuleType | from types import ModuleType | ||||||
| import sys | import sys | ||||||
| import os | import os | ||||||
|  | @ -57,6 +60,10 @@ from . import _state | ||||||
| from . import _mp_fixup_main | from . import _mp_fixup_main | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | if TYPE_CHECKING: | ||||||
|  |     from ._supervise import ActorNursery | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| log = get_logger('tractor') | log = get_logger('tractor') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -65,7 +72,7 @@ async def _invoke( | ||||||
|     actor: 'Actor', |     actor: 'Actor', | ||||||
|     cid: str, |     cid: str, | ||||||
|     chan: Channel, |     chan: Channel, | ||||||
|     func: typing.Callable, |     func: Callable, | ||||||
|     kwargs: dict[str, Any], |     kwargs: dict[str, Any], | ||||||
| 
 | 
 | ||||||
|     is_rpc: bool = True, |     is_rpc: bool = True, | ||||||
|  | @ -426,7 +433,7 @@ class Actor: | ||||||
|         # (chan, cid) -> (cancel_scope, func) |         # (chan, cid) -> (cancel_scope, func) | ||||||
|         self._rpc_tasks: dict[ |         self._rpc_tasks: dict[ | ||||||
|             tuple[Channel, str], |             tuple[Channel, str], | ||||||
|             tuple[trio.CancelScope, typing.Callable, trio.Event] |             tuple[trio.CancelScope, Callable, trio.Event] | ||||||
|         ] = {} |         ] = {} | ||||||
| 
 | 
 | ||||||
|         # map {actor uids -> Context} |         # map {actor uids -> Context} | ||||||
|  | @ -515,6 +522,7 @@ class Actor: | ||||||
|         self._no_more_peers = trio.Event()  # unset |         self._no_more_peers = trio.Event()  # unset | ||||||
| 
 | 
 | ||||||
|         chan = Channel.from_stream(stream) |         chan = Channel.from_stream(stream) | ||||||
|  |         uid: Optional[tuple[str, str]] = chan.uid | ||||||
|         log.runtime(f"New connection to us {chan}") |         log.runtime(f"New connection to us {chan}") | ||||||
| 
 | 
 | ||||||
|         # send/receive initial handshake response |         # send/receive initial handshake response | ||||||
|  | @ -562,7 +570,7 @@ class Actor: | ||||||
|         # append new channel |         # append new channel | ||||||
|         self._peers[uid].append(chan) |         self._peers[uid].append(chan) | ||||||
| 
 | 
 | ||||||
|         local_nursery: Optional['ActorNursery'] = None  # noqa |         local_nursery: Optional[ActorNursery] = None  # noqa | ||||||
| 
 | 
 | ||||||
|         # Begin channel management - respond to remote requests and |         # Begin channel management - respond to remote requests and | ||||||
|         # process received reponses. |         # process received reponses. | ||||||
|  | @ -591,10 +599,9 @@ class Actor: | ||||||
|                     entry = local_nursery._children.get(uid) |                     entry = local_nursery._children.get(uid) | ||||||
|                     if entry: |                     if entry: | ||||||
|                         _, proc, _ = entry |                         _, proc, _ = entry | ||||||
|                         if proc.poll() is not None: |                         log.error(f'Actor {uid}@{proc} IPC connection broke!?') | ||||||
|                             log.error('Actor {uid} proc died and IPC broke?') |                         # if proc.poll() is not None: | ||||||
|                         else: |                         #     log.error('Actor {uid} proc died and IPC broke?') | ||||||
|                             log.error(f'Actor {uid} IPC connection broke!?') |  | ||||||
| 
 | 
 | ||||||
|                 log.cancel(f"Waiting on cancel request to peer {chan.uid}") |                 log.cancel(f"Waiting on cancel request to peer {chan.uid}") | ||||||
|                 # XXX: this is a soft wait on the channel (and its |                 # XXX: this is a soft wait on the channel (and its | ||||||
|  | @ -635,7 +642,6 @@ class Actor: | ||||||
|             log.runtime(f"Releasing channel {chan} from {chan.uid}") |             log.runtime(f"Releasing channel {chan} from {chan.uid}") | ||||||
|             chans = self._peers.get(chan.uid) |             chans = self._peers.get(chan.uid) | ||||||
|             chans.remove(chan) |             chans.remove(chan) | ||||||
|             uid = chan.uid |  | ||||||
| 
 | 
 | ||||||
|             if not chans: |             if not chans: | ||||||
|                 log.runtime(f"No more channels for {chan.uid}") |                 log.runtime(f"No more channels for {chan.uid}") | ||||||
|  |  | ||||||
|  | @ -24,7 +24,8 @@ import importlib | ||||||
| import inspect | import inspect | ||||||
| from typing import ( | from typing import ( | ||||||
|     Any, Optional, |     Any, Optional, | ||||||
|     Callable, AsyncGenerator |     Callable, AsyncGenerator, | ||||||
|  |     Type, | ||||||
| ) | ) | ||||||
| from functools import partial | from functools import partial | ||||||
| from dataclasses import dataclass | from dataclasses import dataclass | ||||||
|  | @ -444,7 +445,7 @@ class Portal: | ||||||
| 
 | 
 | ||||||
|         uid = self.channel.uid |         uid = self.channel.uid | ||||||
|         cid = ctx.cid |         cid = ctx.cid | ||||||
|         etype: Optional[Exception] = None |         etype: Optional[Type[BaseException]] = None | ||||||
| 
 | 
 | ||||||
|         # deliver context instance and .started() msg value in open tuple. |         # deliver context instance and .started() msg value in open tuple. | ||||||
|         try: |         try: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue