pub enum ControlMessage {
Send {
to_pid: u64,
},
RegSend {
to_name: Atom,
},
PgJoin {
scope: Atom,
group: Atom,
node: Atom,
pid_number: u64,
serial: u64,
},
PgLeave {
scope: Atom,
group: Atom,
node: Atom,
pid_number: u64,
serial: u64,
},
Link {
from: RemotePid,
to_pid: u64,
},
Unlink {
from: RemotePid,
to_pid: u64,
},
Exit {
from: RemotePid,
to_pid: u64,
reason: ExitReason,
},
Exit2 {
from: RemotePid,
to_pid: u64,
reason: ExitReason,
},
}Expand description
Decoded distribution control message.
Fields are extracted values rather than raw Terms because the decode process heap is temporary — boxed Terms would become dangling after return.
Variants§
Send
{2, Cookie, ToPid} — stores extracted pid number.
RegSend
{6, FromPid, Cookie, ToName} — stores extracted name atom.
PgJoin
{101, 1, Scope, Group, MemberExternalPid} — a remote process-group join.
node/pid_number/serial are extracted from the member PID, which is
always encoded as an external PID carrying the originating node’s name so
that the receiver records a fully-qualified RemoteMember rather than a
node-less local PID.
Fields
PgLeave
{101, 2, Scope, Group, MemberExternalPid} — a remote process-group leave.
Fields
Link
{1, FromExtPid, ToExtPid} — establish a remote link on local to_pid.
Fields
Unlink
{4, FromExtPid, ToExtPid} — remove a remote link from local to_pid.
Fields
Exit
{3, FromExtPid, ToExtPid, ReasonAtom} — link-exit signal (op 3).
Fields
reason: ExitReasonTerminal exit reason carried on the wire.
Exit2
{8, FromExtPid, ToExtPid, ReasonAtom} — exit/2 signal (op 8).
Trait Implementations§
Source§impl Clone for ControlMessage
impl Clone for ControlMessage
Source§fn clone(&self) -> ControlMessage
fn clone(&self) -> ControlMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ControlMessage
Source§impl Debug for ControlMessage
impl Debug for ControlMessage
impl Eq for ControlMessage
Source§impl PartialEq for ControlMessage
impl PartialEq for ControlMessage
impl StructuralPartialEq for ControlMessage
Auto Trait Implementations§
impl Freeze for ControlMessage
impl RefUnwindSafe for ControlMessage
impl Send for ControlMessage
impl Sync for ControlMessage
impl Unpin for ControlMessage
impl UnsafeUnpin for ControlMessage
impl UnwindSafe for ControlMessage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.