Skip to main content

Subnet

Struct Subnet 

Source
pub struct Subnet { /* private fields */ }
Expand description

Information about a subnet, including its public key, member nodes, and assigned canister ranges.

Range information may be incomplete depending on how the subnet was fetched. The lack of a canister ID within assigned ranges should not be treated immediately as an authorization failure without fetching fresh data with Agent::fetch_subnet_by_canister.

Implementations§

Source§

impl Subnet

Source

pub fn contains_canister(&self, canister_id: &Principal) -> bool

Checks whether the given canister ID is contained within the subnet’s assigned canister ranges.

Source

pub fn iter_canister_ranges(&self) -> CanisterRangesIter<'_>

Returns an iterator over the known canister ID ranges assigned to this subnet.

Source

pub fn self_reported_key(&self) -> &[u8]

Returns the self-reported public key of the subnet.

Note that this key is not authoritative if the subnet is rogue.

Source

pub fn contains_node(&self, node_id: &Principal) -> bool

Checks whether the given node ID is a member of this subnet.

Source

pub fn get_node_key(&self, node_id: &Principal) -> Option<&[u8]>

Returns the public key of the given node ID, if it is a member of this subnet.

Source

pub fn iter_nodes(&self) -> SubnetNodeIter<'_>

Returns an iterator over the nodes in this subnet.

Source

pub fn iter_node_keys(&self) -> SubnetKeysIter<'_>

Returns an iterator over the node IDs and their corresponding public keys in this subnet.

Source

pub fn id(&self) -> Principal

Returns the subnet’s ID.

Source

pub fn subnet_type(&self) -> Option<&SubnetType>

Returns the subnet type if it was present in the state tree certificate.

This is populated when the replica uses certification version V25 or higher. Returns None for older certificates that do not include the type leaf.

Trait Implementations§

Source§

impl Clone for Subnet

Source§

fn clone(&self) -> Subnet

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Subnet

Source§

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

Formats the value using the given formatter. Read more

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more