[][src]Struct ipfs::path::IpfsPath

pub struct IpfsPath { /* fields omitted */ }

Abstraction over Ipfs paths, which are used to target sub-trees or sub-documents on top of content addressable (Cid) trees. The most common use case is to specify a file under an unixfs tree from underneath a Cid forest.

In addition to being based on content addressing, IpfsPaths provide adaptation from other Ipfs (related) functionality which can be resolved to a Cid such as IPNS. IpfsPaths have similar structure to and can start with a "protocol" as Multiaddr, except the protocols are different, and at the moment there can be at most one protocol.

This implementation supports:

  • synonymous /ipfs and /ipld prefixes to point to a Cid
  • /ipns to point to either:
    • PeerId to signify an IPNS DHT record
    • domain name to signify an DNSLINK reachable record

See crate::Ipfs::resolve_ipns for the current IPNS resolving capabilities.

IpfsPath is usually created through the FromStr or From conversions.


impl IpfsPath[src]

pub fn new(root: PathRoot) -> Self[src]

Creates a new IpfsPath from a PathRoot.

pub fn root(&self) -> &PathRoot[src]

Returns the PathRoot "protocol" configured for the IpfsPath.

pub fn sub_path(&self, segments: &str) -> Result<Self, Error>[src]

Returns a new IpfsPath with the given path segments appended, or an error, if a segment is invalid.

pub fn iter(&self) -> impl Iterator<Item = &str>[src]

Returns an iterator over the path segments following the root.

Trait Implementations

impl Clone for IpfsPath[src]

impl Debug for IpfsPath[src]

impl Display for IpfsPath[src]

impl Eq for IpfsPath[src]

impl<T: Into<PathRoot>> From<T> for IpfsPath[src]

impl FromStr for IpfsPath[src]

type Err = Error

The associated error which can be returned from parsing.

impl Hash for IpfsPath[src]

impl PartialEq<IpfsPath> for IpfsPath[src]

impl StructuralEq for IpfsPath[src]

impl StructuralPartialEq for IpfsPath[src]

impl<'_> TryFrom<&'_ str> for IpfsPath[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.

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

impl<T> WithSubscriber for T[src]