pub enum Addr {
Task(Id),
Remote(ConnId, Id),
}Expand description
Where a task is: in this heap, or on the far side of one of this node’s
links. A host peer is not here - ('host name) is an ordinary cons, a name
the program writes, while a task address is a capability the runtime mints.
Opaque because crossing a link Task(3) must arrive as Remote(conn, 3)
(crate::link::across), and a tagged cons is a shape a program can build
as data, so the rewrite could not tell an address from something like one.
Variants§
Implementations§
Trait Implementations§
Source§impl HostType for Addr
impl HostType for Addr
Source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
Wire tag and registry key, stable across processes. Table indices are
process-local, names are not.
Source§fn eq_atom(&self, other: &dyn HostType) -> bool
fn eq_atom(&self, other: &dyn HostType) -> bool
Implementations downcast and return
false on a foreign type rather
than comparing tags.fn encode(&self, out: &mut Vec<u8>)
fn as_any(&self) -> &dyn Any
impl StructuralPartialEq for Addr
Auto Trait Implementations§
impl Freeze for Addr
impl RefUnwindSafe for Addr
impl Send for Addr
impl Sync for Addr
impl Unpin for Addr
impl UnwindSafe for Addr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more