Adjust imports to use new `UnwrappedAddress`

For those mods where it's just a type-alias (name) import change.
ns_aware
Tyler Goodlet 2025-03-30 21:21:10 -04:00
parent 2c11d1d44a
commit 23acd0f4cb
4 changed files with 40 additions and 29 deletions

View File

@ -31,7 +31,7 @@ from tractor.log import get_logger
from .trionics import gather_contexts from .trionics import gather_contexts
from .ipc import _connect_chan, Channel from .ipc import _connect_chan, Channel
from ._addr import ( from ._addr import (
AddressTypes, UnwrappedAddress,
Address, Address,
preferred_transport, preferred_transport,
wrap_address wrap_address
@ -54,7 +54,9 @@ log = get_logger(__name__)
@acm @acm
async def get_registry(addr: AddressTypes | None = None) -> AsyncGenerator[ async def get_registry(
addr: UnwrappedAddress|None = None,
) -> AsyncGenerator[
Portal | LocalPortal | None, Portal | LocalPortal | None,
None, None,
]: ]:
@ -71,7 +73,9 @@ async def get_registry(addr: AddressTypes | None = None) -> AsyncGenerator[
# (likely a re-entrant call from the arbiter actor) # (likely a re-entrant call from the arbiter actor)
yield LocalPortal( yield LocalPortal(
actor, actor,
await Channel.from_addr(addr) Channel(transport=None)
# ^XXX, we DO NOT actually provide nor connect an
# underlying transport since this is merely an API shim.
) )
else: else:
# TODO: try to look pre-existing connection from # TODO: try to look pre-existing connection from
@ -135,10 +139,10 @@ def get_peer_by_name(
@acm @acm
async def query_actor( async def query_actor(
name: str, name: str,
regaddr: AddressTypes|None = None, regaddr: UnwrappedAddress|None = None,
) -> AsyncGenerator[ ) -> AsyncGenerator[
AddressTypes|None, UnwrappedAddress|None,
None, None,
]: ]:
''' '''
@ -168,7 +172,7 @@ async def query_actor(
async with get_registry(regaddr) as reg_portal: async with get_registry(regaddr) as reg_portal:
# TODO: return portals to all available actors - for now # TODO: return portals to all available actors - for now
# just the last one that registered # just the last one that registered
addr: AddressTypes = await reg_portal.run_from_ns( addr: UnwrappedAddress = await reg_portal.run_from_ns(
'self', 'self',
'find_actor', 'find_actor',
name=name, name=name,
@ -178,7 +182,7 @@ async def query_actor(
@acm @acm
async def maybe_open_portal( async def maybe_open_portal(
addr: AddressTypes, addr: UnwrappedAddress,
name: str, name: str,
): ):
async with query_actor( async with query_actor(
@ -198,7 +202,7 @@ async def maybe_open_portal(
@acm @acm
async def find_actor( async def find_actor(
name: str, name: str,
registry_addrs: list[AddressTypes]|None = None, registry_addrs: list[UnwrappedAddress]|None = None,
enable_transports: list[str] = [preferred_transport], enable_transports: list[str] = [preferred_transport],
only_first: bool = True, only_first: bool = True,
@ -234,7 +238,7 @@ async def find_actor(
) )
maybe_portals: list[ maybe_portals: list[
AsyncContextManager[AddressTypes] AsyncContextManager[UnwrappedAddress]
] = list( ] = list(
maybe_open_portal( maybe_open_portal(
addr=addr, addr=addr,
@ -276,7 +280,7 @@ async def find_actor(
@acm @acm
async def wait_for_actor( async def wait_for_actor(
name: str, name: str,
registry_addr: AddressTypes | None = None, registry_addr: UnwrappedAddress | None = None,
) -> AsyncGenerator[Portal, None]: ) -> AsyncGenerator[Portal, None]:
''' '''
@ -293,7 +297,7 @@ async def wait_for_actor(
yield peer_portal yield peer_portal
return return
regaddr: AddressTypes = ( regaddr: UnwrappedAddress = (
registry_addr registry_addr
or or
actor.reg_addrs[0] actor.reg_addrs[0]
@ -310,7 +314,7 @@ async def wait_for_actor(
# get latest registered addr by default? # get latest registered addr by default?
# TODO: offer multi-portal yields in multi-homed case? # TODO: offer multi-portal yields in multi-homed case?
addr: AddressTypes = addrs[-1] addr: UnwrappedAddress = addrs[-1]
async with _connect_chan(addr) as chan: async with _connect_chan(addr) as chan:
async with open_portal(chan) as portal: async with open_portal(chan) as portal:

View File

@ -37,7 +37,7 @@ from .log import (
from . import _state from . import _state
from .devx import _debug from .devx import _debug
from .to_asyncio import run_as_asyncio_guest from .to_asyncio import run_as_asyncio_guest
from ._addr import AddressTypes from ._addr import UnwrappedAddress
from ._runtime import ( from ._runtime import (
async_main, async_main,
Actor, Actor,
@ -53,10 +53,10 @@ log = get_logger(__name__)
def _mp_main( def _mp_main(
actor: Actor, actor: Actor,
accept_addrs: list[AddressTypes], accept_addrs: list[UnwrappedAddress],
forkserver_info: tuple[Any, Any, Any, Any, Any], forkserver_info: tuple[Any, Any, Any, Any, Any],
start_method: SpawnMethodKey, start_method: SpawnMethodKey,
parent_addr: AddressTypes | None = None, parent_addr: UnwrappedAddress | None = None,
infect_asyncio: bool = False, infect_asyncio: bool = False,
) -> None: ) -> None:
@ -207,7 +207,7 @@ def nest_from_op(
def _trio_main( def _trio_main(
actor: Actor, actor: Actor,
*, *,
parent_addr: AddressTypes | None = None, parent_addr: UnwrappedAddress|None = None,
infect_asyncio: bool = False, infect_asyncio: bool = False,
) -> None: ) -> None:

View File

@ -46,7 +46,7 @@ from tractor._state import (
_runtime_vars, _runtime_vars,
) )
from tractor.log import get_logger from tractor.log import get_logger
from tractor._addr import AddressTypes from tractor._addr import UnwrappedAddress
from tractor._portal import Portal from tractor._portal import Portal
from tractor._runtime import Actor from tractor._runtime import Actor
from tractor._entry import _mp_main from tractor._entry import _mp_main
@ -393,8 +393,8 @@ async def new_proc(
errors: dict[tuple[str, str], Exception], errors: dict[tuple[str, str], Exception],
# passed through to actor main # passed through to actor main
bind_addrs: list[AddressTypes], bind_addrs: list[UnwrappedAddress],
parent_addr: AddressTypes, parent_addr: UnwrappedAddress,
_runtime_vars: dict[str, Any], # serialized and sent to _child _runtime_vars: dict[str, Any], # serialized and sent to _child
*, *,
@ -432,8 +432,8 @@ async def trio_proc(
errors: dict[tuple[str, str], Exception], errors: dict[tuple[str, str], Exception],
# passed through to actor main # passed through to actor main
bind_addrs: list[AddressTypes], bind_addrs: list[UnwrappedAddress],
parent_addr: AddressTypes, parent_addr: UnwrappedAddress,
_runtime_vars: dict[str, Any], # serialized and sent to _child _runtime_vars: dict[str, Any], # serialized and sent to _child
*, *,
infect_asyncio: bool = False, infect_asyncio: bool = False,
@ -639,8 +639,8 @@ async def mp_proc(
subactor: Actor, subactor: Actor,
errors: dict[tuple[str, str], Exception], errors: dict[tuple[str, str], Exception],
# passed through to actor main # passed through to actor main
bind_addrs: list[AddressTypes], bind_addrs: list[UnwrappedAddress],
parent_addr: AddressTypes, parent_addr: UnwrappedAddress,
_runtime_vars: dict[str, Any], # serialized and sent to _child _runtime_vars: dict[str, Any], # serialized and sent to _child
*, *,
infect_asyncio: bool = False, infect_asyncio: bool = False,

View File

@ -31,6 +31,7 @@ from typing import (
Type, Type,
TypeVar, TypeVar,
TypeAlias, TypeAlias,
# TYPE_CHECKING,
Union, Union,
) )
@ -47,7 +48,7 @@ from tractor.msg import (
pretty_struct, pretty_struct,
) )
from tractor.log import get_logger from tractor.log import get_logger
from tractor._addr import AddressTypes from tractor._addr import UnwrappedAddress
log = get_logger('tractor.msgspec') log = get_logger('tractor.msgspec')
@ -142,9 +143,15 @@ class Aid(
''' '''
name: str name: str
uuid: str uuid: str
# TODO: use built-in support for UUIDs?
# -[ ] `uuid.UUID` which has multi-protocol support # TODO? can/should we extend this field set?
# https://jcristharif.com/msgspec/supported-types.html#uuid # -[ ] use built-in support for UUIDs? `uuid.UUID` which has
# multi-protocol support
# https://jcristharif.com/msgspec/supported-types.html#uuid
#
# -[ ] as per the `.ipc._uds` / `._addr` comments, maybe we
# should also include at least `.pid` (equiv to port for tcp)
# and/or host-part always?
class SpawnSpec( class SpawnSpec(
@ -168,8 +175,8 @@ class SpawnSpec(
# TODO: not just sockaddr pairs? # TODO: not just sockaddr pairs?
# -[ ] abstract into a `TransportAddr` type? # -[ ] abstract into a `TransportAddr` type?
reg_addrs: list[AddressTypes] reg_addrs: list[UnwrappedAddress]
bind_addrs: list[AddressTypes] bind_addrs: list[UnwrappedAddress]|None
# TODO: caps based RPC support in the payload? # TODO: caps based RPC support in the payload?