Struct ckb_jsonrpc_types::RemoteNode
source · [−]pub struct RemoteNode {
pub version: String,
pub node_id: String,
pub addresses: Vec<NodeAddress>,
pub is_outbound: bool,
pub connected_duration: Uint64,
pub last_ping_duration: Option<Uint64>,
pub sync_state: Option<PeerSyncState>,
pub protocols: Vec<RemoteNodeProtocol>,
}
Expand description
Information of a remote node.
A remote node connects to the local node via the P2P network. It is often called a peer.
Examples
{
"addresses": [
{
"address": "/ip6/::ffff:18.185.102.19/tcp/8115/p2p/QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"score": "0x64"
},
{
"address": "/ip4/18.185.102.19/tcp/8115/p2p/QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"score": "0x64"
}
],
"connected_duration": "0x2f",
"is_outbound": true,
"last_ping_duration": "0x1a",
"node_id": "QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"protocols": [
{
"id": "0x4",
"version": "0.0.1"
},
{
"id": "0x2",
"version": "0.0.1"
},
{
"id": "0x1",
"version": "0.0.1"
},
{
"id": "0x64",
"version": "1"
},
{
"id": "0x6e",
"version": "1"
},
{
"id": "0x66",
"version": "1"
},
{
"id": "0x65",
"version": "1"
},
{
"id": "0x0",
"version": "0.0.1"
}
],
"sync_state": {
"best_known_header_hash": null,
"best_known_header_number": null,
"can_fetch_count": "0x80",
"inflight_count": "0xa",
"last_common_header_hash": null,
"last_common_header_number": null,
"unknown_header_list_size": "0x20"
},
"version": "0.34.0 (f37f598 2020-07-17)"
}
Fields
version: String
The remote node version.
node_id: String
The remote node ID which is derived from its P2P private key.
addresses: Vec<NodeAddress>
The remote node addresses.
is_outbound: bool
Whether this is an outbound remote node.
If the connection is established by the local node, is_outbound
is true.
connected_duration: Uint64
Elapsed time in milliseconds since the remote node is connected.
last_ping_duration: Option<Uint64>
Elapsed time in milliseconds since receiving the ping response from this remote node.
Null means no ping responses have been received yet.
sync_state: Option<PeerSyncState>
Chain synchronization state.
Null means chain sync has not started with this remote node yet.
protocols: Vec<RemoteNodeProtocol>
Active protocols.
CKB uses Tentacle multiplexed network framework. Multiple protocols are running simultaneously in the connection.
Trait Implementations
sourceimpl Clone for RemoteNode
impl Clone for RemoteNode
sourcefn clone(&self) -> RemoteNode
fn clone(&self) -> RemoteNode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for RemoteNode
impl Debug for RemoteNode
sourceimpl Default for RemoteNode
impl Default for RemoteNode
sourcefn default() -> RemoteNode
fn default() -> RemoteNode
Returns the “default value” for a type. Read more
sourceimpl<'de> Deserialize<'de> for RemoteNode
impl<'de> Deserialize<'de> for RemoteNode
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Hash for RemoteNode
impl Hash for RemoteNode
sourceimpl PartialEq<RemoteNode> for RemoteNode
impl PartialEq<RemoteNode> for RemoteNode
sourcefn eq(&self, other: &RemoteNode) -> bool
fn eq(&self, other: &RemoteNode) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &RemoteNode) -> bool
fn ne(&self, other: &RemoteNode) -> bool
This method tests for !=
.
sourceimpl Serialize for RemoteNode
impl Serialize for RemoteNode
impl Eq for RemoteNode
impl StructuralEq for RemoteNode
impl StructuralPartialEq for RemoteNode
Auto Trait Implementations
impl RefUnwindSafe for RemoteNode
impl Send for RemoteNode
impl Sync for RemoteNode
impl Unpin for RemoteNode
impl UnwindSafe for RemoteNode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more