#[repr(transparent)]
pub struct Component(_);
Expand description

Each path component is arbitrary bytes to be hashed together in a predictable way when the path is hashed to create something that can be linked and discovered by all DHT participants.

Implementations

Trait Implementations

Access bytes.

Converts this type into a shared reference of the (usually inferred) input type.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Deserialize this value from the given Serde deserializer. Read more

Alias From<&str>

Converts to this type from the input type.

Build a component from a String.

For many simple use cases we can construct a path out of a string similar to a URI. We represent this using the utf32 bytes rather than the utf8 bytes for the chars in the string which gives us a fixed width encoding for strings, which gives us a clean/easy way to support sharding based on strings by iterating over u32s rather than deciding what to do with variable width u8 or u16 characters.

IMPORTANT: if you are not using sharding and make heavy use of Path then consider building your Component directly from my_string.as_bytes() to achieve much more compact utf8 representations of each Component.

Converts to this type from the input type.

Unwrap bytes.

Converts to this type from the input type.

Alias From<&str>

Converts to this type from the input type.

Wrap bytes.

Converts to this type from the input type.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

Restoring a String from a Component requires Vec<u8> to u32 to utf8 handling.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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