Enum UserRequest

Source
pub enum UserRequest {
    Config,
    Block(BlockHash),
    UtreexoProof(BlockHash),
    MempoolTransaction(Txid),
    GetPeerInfo,
    GetConnectionCount,
    Add((IpAddr, u16, bool)),
    Remove((IpAddr, u16)),
    Onetry((IpAddr, u16, bool)),
    Disconnect((IpAddr, u16)),
    Ping,
    SendTransaction(Transaction),
}
Expand description

A request that can be made to the node.

While the node is running, consumers may want to request some useful data, like block data, mempool transactions or tell the node to connect with some given peers. This struct represents all the possible requests that can be made to the node as well as the data that needs to be sent along with the request.

Variants§

§

Config

Request the UtreexoNodeConfig of the node.

§

Block(BlockHash)

Get a block by its hash.

This will cause network requests to be made to fetch the block data.

§

UtreexoProof(BlockHash)

Get the Utreexo proof and LeafData for a block by its hash.

§

MempoolTransaction(Txid)

Get an unconfirmed transaction from the mempool by its ID.

§

GetPeerInfo

Return information about all connected peers.

§

GetConnectionCount

Return the number of connected peers.

§

Add((IpAddr, u16, bool))

Add a peer to the node’s peer list.

This function will add this peer to a special list of peers such that, if we lose the connection, we will keep trying to connect to it until we succeed.

§

Remove((IpAddr, u16))

Removes a node from the node’s peer list.

This function will remove a node that was added with AddNode::Add. This will not disconnect the peer, but if it disconnects, it will not be reconnected again.

§

Onetry((IpAddr, u16, bool))

Attempts to connect to a peer once.

Different from AddNode::Add, this function will try to connect to the peer once, but will not add it to the node’s added peers list.

§

Disconnect((IpAddr, u16))

Attempt to disconnect from a peer.

§

Ping

Ping all connected peers to check if they are alive.

§

SendTransaction(Transaction)

Adds a transaction to mempool and advertises it

Trait Implementations§

Source§

impl Clone for UserRequest

Source§

fn clone(&self) -> UserRequest

Returns a copy 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 UserRequest

Source§

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

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

impl Hash for UserRequest

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 UserRequest

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Eq for UserRequest

Source§

impl StructuralPartialEq for UserRequest

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, dst: *mut u8)

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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