[][src]Struct lnpbp::lnp::application::payment::invoice::Route

pub struct Route(_);

Private routing information

Invariants

The encoded route has to be <1024 5bit characters long (<=639 bytes or <=12 hops)

Implementations

impl Route[src]

pub fn new(hops: Vec<RouteHop>) -> Result<Route, CreationError>[src]

Create a new (partial) route from a list of hops

pub fn into_inner(self) -> Vec<RouteHop>

Notable traits for Vec<u8>

impl Write for Vec<u8>
[src]

Returrn the underlying vector of hops

Methods from Deref<Target = Vec<RouteHop>>

pub fn capacity(&self) -> usize1.0.0[src]

Returns the number of elements the vector can hold without reallocating.

Examples

let vec: Vec<i32> = Vec::with_capacity(10);
assert_eq!(vec.capacity(), 10);

pub fn as_slice(&self) -> &[T]1.7.0[src]

Extracts a slice containing the entire vector.

Equivalent to &s[..].

Examples

use std::io::{self, Write};
let buffer = vec![1, 2, 3, 5, 8];
io::sink().write(buffer.as_slice()).unwrap();

pub fn as_ptr(&self) -> *const T1.37.0[src]

Returns a raw pointer to the vector's buffer.

The caller must ensure that the vector outlives the pointer this function returns, or else it will end up pointing to garbage. Modifying the vector may cause its buffer to be reallocated, which would also make any pointers to it invalid.

The caller must also ensure that the memory the pointer (non-transitively) points to is never written to (except inside an UnsafeCell) using this pointer or any pointer derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

Examples

let x = vec![1, 2, 4];
let x_ptr = x.as_ptr();

unsafe {
    for i in 0..x.len() {
        assert_eq!(*x_ptr.add(i), 1 << i);
    }
}

pub fn len(&self) -> usize1.0.0[src]

Returns the number of elements in the vector, also referred to as its 'length'.

Examples

let a = vec![1, 2, 3];
assert_eq!(a.len(), 3);

pub fn is_empty(&self) -> bool1.0.0[src]

Returns true if the vector contains no elements.

Examples

let mut v = Vec::new();
assert!(v.is_empty());

v.push(1);
assert!(!v.is_empty());

Trait Implementations

impl Base32Len for Route[src]

impl Clone for Route[src]

impl Debug for Route[src]

impl Deref for Route[src]

type Target = Vec<RouteHop>

The resulting type after dereferencing.

impl Eq for Route[src]

impl FromBase32 for Route[src]

type Err = ParseError

The associated error which can be returned from parsing (e.g. because of bad padding).

impl Into<Vec<RouteHop>> for Route[src]

impl PartialEq<Route> for Route[src]

impl StructuralEq for Route[src]

impl StructuralPartialEq for Route[src]

impl ToBase32 for Route[src]

Auto Trait Implementations

impl RefUnwindSafe for Route

impl Send for Route

impl Sync for Route

impl Unpin for Route

impl UnwindSafe for Route

Blanket Implementations

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

impl<T> Base32Len for T where
    T: AsRef<[u8]>, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToBase32 for T where
    T: AsRef<[u8]>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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>,