Skip to main content

DistributionFlags

Struct DistributionFlags 

Source
pub struct DistributionFlags(/* private fields */);
Expand description

Distribution flags.

Implementations§

Source§

impl DistributionFlags

Source

pub const PUBLISHED: Self

The node is to be published and part of the global namespace.

Source

pub const ATOM_CACHE: Self

The node implements an atom cache (obsolete).

Source

pub const EXTENDED_REFERENCES: Self

The node implements extended (3 × 32 bits) references (required).

[NOTE] This flag is mandatory. If not present, the connection is refused.

Source

pub const DIST_MONITOR: Self

The node implements distributed process monitoring.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const FUN_TAGS: Self

The node uses separate tag for funs (lambdas) in the distribution protocol.

Source

pub const DIST_MONITOR_NAME: Self

The node implements distributed named process monitoring.

Source

pub const HIDDEN_ATOM_CACHE: Self

The (hidden) node implements atom cache (obsolete).

Source

pub const NEW_FUN_TAGS: Self

The node understands new fun tags.

[NOTE] This flag is mandatory. If not present, the connection is refused.

Source

pub const EXTENDED_PIDS_PORTS: Self

The node can handle extended pids and ports (required).

[NOTE] This flag is mandatory. If not present, the connection is refused.

Source

pub const EXPORT_PTR_TAG: Self

This node understands EXPORT_EXT tag.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const BIT_BINARIES: Self

The node understands bit binaries.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const NEW_FLOATS: Self

The node understandss new float format.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const UNICODE_IO: Self

This node allows unicode characters in I/O operations.

Source

pub const DIST_HDR_ATOM_CACHE: Self

The node implements atom cache in distribution header.

Note that currently erl_dist can not handle distribution headers.

Source

pub const SMALL_ATOM_TAGS: Self

The node understands the SMALL_ATOM_EXT tag.

Source

pub const UTF8_ATOMS: Self

The node understands UTF-8 encoded atoms.

[NOTE] This flag is mandatory. If not present, the connection is refused.

Source

pub const MAP_TAGS: Self

The node understands maps.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const BIG_CREATION: Self

The node understands big node creation tags NEW_PID_EXT, NEW_PORT_EXT and NEWER_REFERENCE_EXT.

[NOTE] This flag is mandatory. If not present, the connection is refused.

Source

pub const SEND_SENDER: Self

Use the SEND_SENDER control message instead of the SEND control message and use the SEND_SENDER_TT control message instead of the SEND_TT control message.

Source

pub const BIG_SEQTRACE_LABELS: Self

The node understands any term as the seqtrace label.

Source

pub const EXIT_PAYLOAD: Self

Use the PAYLOAD_EXIT, PAYLOAD_EXIT_TT, PAYLOAD_EXIT2, PAYLOAD_EXIT2_TT and PAYLOAD_MONITOR_P_EXIT control messages instead of the non-PAYLOAD variants.

Source

pub const FRAGMENTS: Self

Use fragmented distribution messages to send large messages.

Source

pub const HANDSHAKE_23: Self

The node supports the new connection setup handshake (version 6) introduced in OTP 23.

Use the new link protocol.

Unless both nodes have set the UNLINK_ID flag, the old link protocol will be used as a fallback.

[NOTE] This flag will become mandatory in OTP 25.

Source

pub const SPAWN: Self

Set if the SPAWN_REQUEST, SPAWN_REQUEST_TT, SPAWN_REPLY, SPAWN_REPLY_TT control messages are supported.

Source

pub const NAME_ME: Self

Dynamic node name.

This is not a capability but rather used as a request from the connecting node to receive its node name from the accepting node as part of the handshake.

Source

pub const V4_NC: Self

The node accepts a larger amount of data in pids, ports and references (node container types version 4).

In the pid case full 32-bit ID and Serial fields in NEW_PID_EXT, in the port case a 64-bit integer in V4_PORT_EXT, and in the reference case up to 5 32-bit ID words are now accepted in NEWER_REFERENCE_EXT. Introduced in OTP 24.

[NOTE] This flag will become mandatory in OTP 26.

Source

pub const ALIAS: Self

The node supports process alias and can by this handle the ALIAS_SEND and ALIAS_SEND_TT control messages.

Introduced in OTP 24.

Source

pub const MANDATORY_25_DIGEST: Self

The node supports all capabilities that are mandatory in OTP 25.

Introduced in OTP 25. [NOTE] This flag will become mandatory in OTP 27.

Source

pub const fn bits(self) -> u64

Returns the raw bits value.

Source

pub const fn from_bits_truncate(bits: u64) -> Self

Creates flags from raw bits.

Source

pub const fn contains(self, other: Self) -> bool

Returns true if all flags in other are contained within self.

Source

pub fn new() -> Self

Makes a new DistributionFlags with the default flags.

This is equivalent to the following code:

DistributionFlags::mandatory();
Source

pub fn mandatory() -> Self

Gets the mandatory flags (in OTP 26).

Trait Implementations§

Source§

impl BitAnd for DistributionFlags

Source§

type Output = DistributionFlags

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self

Performs the & operation. Read more
Source§

impl BitOr for DistributionFlags

Source§

type Output = DistributionFlags

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self

Performs the | operation. Read more
Source§

impl BitOrAssign for DistributionFlags

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl Clone for DistributionFlags

Source§

fn clone(&self) -> DistributionFlags

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for DistributionFlags

Source§

impl Debug for DistributionFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DistributionFlags

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for DistributionFlags

Source§

impl Hash for DistributionFlags

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for DistributionFlags

Source§

fn eq(&self, other: &DistributionFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for DistributionFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryAsRef<T> for T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.