pub struct NodeInterface { /* private fields */ }Expand description
A struct representing the interface to the node.
This struct will be used by consumers to interact with the node. You may have as many of it as you need, and you can use it to send requests to the node and get responses back.
Implementations§
Source§impl NodeInterface
impl NodeInterface
pub fn new(node_sender: UnboundedSender<NodeNotification>) -> Self
Sourcepub async fn add_peer(
&self,
addr: IpAddr,
port: u16,
v2transport: bool,
) -> Result<bool, RecvError>
pub async fn add_peer( &self, addr: IpAddr, port: u16, v2transport: bool, ) -> Result<bool, RecvError>
Connects to a specified address and port. This function will return a boolean indicating whether the connection was successful. It may be called multiple times, and may use hostnames or IP addresses.
Sourcepub async fn remove_peer(
&self,
addr: IpAddr,
port: u16,
) -> Result<bool, RecvError>
pub async fn remove_peer( &self, addr: IpAddr, port: u16, ) -> Result<bool, RecvError>
Removes a peer from the node’s peer list. This function will return a boolean indicating whether the peer was successfully removed. It may be called multiple times, and may use hostnames or IP addresses.
Sourcepub async fn onetry_peer(
&self,
addr: IpAddr,
port: u16,
v2transport: bool,
) -> Result<bool, RecvError>
pub async fn onetry_peer( &self, addr: IpAddr, port: u16, v2transport: bool, ) -> Result<bool, RecvError>
Attempts to connect to a peer once.
This function will try to connect to the peer once, but will not add it to the node’s peer list. It will return a boolean indicating whether the connection was successful. It may be called multiple times, and may use hostnames or IP addresses.
Sourcepub async fn get_block(
&self,
block: BlockHash,
) -> Result<Option<Block>, RecvError>
pub async fn get_block( &self, block: BlockHash, ) -> Result<Option<Block>, RecvError>
Gets a block by its hash.
This function will try to get a block from the network and return it. Note that we don’t keep a local copy of the blockchain, so this function will always make a network request.
Sourcepub async fn get_utreexo_block(
&self,
block: BlockHash,
) -> Result<Option<UtreexoBlock>, RecvError>
pub async fn get_utreexo_block( &self, block: BlockHash, ) -> Result<Option<UtreexoBlock>, RecvError>
Gets a Utreexo block by its hash.
This is similar to get_block, but it returns proof data for the Utreexo accumulator in
addition to the block itself.
Sourcepub async fn get_mempool_transaction(
&self,
txid: Txid,
) -> Result<Option<Transaction>, RecvError>
pub async fn get_mempool_transaction( &self, txid: Txid, ) -> Result<Option<Transaction>, RecvError>
Gets a transaction from the mempool by its ID.
This function will return a transaction from the mempool if it exists. If the transaction
is not in the mempool (because it doesn’t exist or because it’s already been mined), this
function will return None.
Sourcepub async fn get_peer_info(&self) -> Result<Vec<PeerInfo>, RecvError>
pub async fn get_peer_info(&self) -> Result<Vec<PeerInfo>, RecvError>
Gets information about all connected peers.
This function will return a list of PeerInfo structs, each of which contains information
about a single peer.
Trait Implementations§
Source§impl Clone for NodeInterface
impl Clone for NodeInterface
Source§fn clone(&self) -> NodeInterface
fn clone(&self) -> NodeInterface
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for NodeInterface
impl RefUnwindSafe for NodeInterface
impl Send for NodeInterface
impl Sync for NodeInterface
impl Unpin for NodeInterface
impl UnwindSafe for NodeInterface
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more