Struct solana_gossip::contact_info::ContactInfo
source · [−]pub struct ContactInfo {Show 13 fields
pub id: Pubkey,
pub gossip: SocketAddr,
pub tvu: SocketAddr,
pub tvu_forwards: SocketAddr,
pub repair: SocketAddr,
pub tpu: SocketAddr,
pub tpu_forwards: SocketAddr,
pub tpu_vote: SocketAddr,
pub rpc: SocketAddr,
pub rpc_pubsub: SocketAddr,
pub serve_repair: SocketAddr,
pub wallclock: u64,
pub shred_version: u16,
}
Expand description
Structure representing a node on the network
Fields
id: Pubkey
gossip: SocketAddr
gossip address
tvu: SocketAddr
address to connect to for replication
tvu_forwards: SocketAddr
address to forward shreds to
repair: SocketAddr
address to send repair responses to
tpu: SocketAddr
transactions address
tpu_forwards: SocketAddr
address to forward unprocessed transactions to
tpu_vote: SocketAddr
address to which to send bank state requests
rpc: SocketAddr
address to which to send JSON-RPC requests
rpc_pubsub: SocketAddr
websocket for JSON-RPC push notifications
serve_repair: SocketAddr
address to send repair requests to
wallclock: u64
latest wallclock picked
shred_version: u16
node shred version
Implementations
sourceimpl ContactInfo
impl ContactInfo
pub fn new_localhost(id: &Pubkey, now: u64) -> Self
sourcepub fn new_rand<R: Rng>(rng: &mut R, pubkey: Option<Pubkey>) -> Self
pub fn new_rand<R: Rng>(rng: &mut R, pubkey: Option<Pubkey>) -> Self
New random ContactInfo for tests and simulations.
pub fn new_with_pubkey_socketaddr(
pubkey: &Pubkey,
bind_addr: &SocketAddr
) -> Self
pub fn new_with_socketaddr(bind_addr: &SocketAddr) -> Self
pub fn new_gossip_entry_point(gossip_addr: &SocketAddr) -> Self
pub fn is_valid_address(
addr: &SocketAddr,
socket_addr_space: &SocketAddrSpace
) -> bool
pub fn client_facing_addr(&self) -> (SocketAddr, SocketAddr)
pub fn valid_client_facing_addr(
&self,
socket_addr_space: &SocketAddrSpace
) -> Option<(SocketAddr, SocketAddr)>
Trait Implementations
sourceimpl AbiExample for ContactInfo
impl AbiExample for ContactInfo
sourceimpl Clone for ContactInfo
impl Clone for ContactInfo
sourcefn clone(&self) -> ContactInfo
fn clone(&self) -> ContactInfo
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<'a, 'b> CrdsEntry<'a, 'b> for &'a ContactInfo
impl<'a, 'b> CrdsEntry<'a, 'b> for &'a ContactInfo
type Key = Pubkey
fn get_entry(
table: &'a IndexMap<CrdsValueLabel, VersionedCrdsValue>,
key: Self::Key
) -> Option<Self>
sourceimpl Debug for ContactInfo
impl Debug for ContactInfo
sourceimpl Default for ContactInfo
impl Default for ContactInfo
sourceimpl<'de> Deserialize<'de> for ContactInfo
impl<'de> Deserialize<'de> for ContactInfo
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 Ord for ContactInfo
impl Ord for ContactInfo
sourceimpl PartialEq<ContactInfo> for ContactInfo
impl PartialEq<ContactInfo> for ContactInfo
sourcefn eq(&self, other: &ContactInfo) -> bool
fn eq(&self, other: &ContactInfo) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ContactInfo) -> bool
fn ne(&self, other: &ContactInfo) -> bool
This method tests for !=
.
sourceimpl PartialOrd<ContactInfo> for ContactInfo
impl PartialOrd<ContactInfo> for ContactInfo
sourcefn partial_cmp(&self, other: &ContactInfo) -> Option<Ordering>
fn partial_cmp(&self, other: &ContactInfo) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for ContactInfo
impl Serialize for ContactInfo
impl Eq for ContactInfo
impl StructuralEq for ContactInfo
impl StructuralPartialEq for ContactInfo
Auto Trait Implementations
impl RefUnwindSafe for ContactInfo
impl Send for ContactInfo
impl Sync for ContactInfo
impl Unpin for ContactInfo
impl UnwindSafe for ContactInfo
Blanket Implementations
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiExample for T
impl<T> AbiExample for T
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<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> TupleTree<T, ()> for T
impl<T> TupleTree<T, ()> for T
const SIZE: Size = Size{degree: 0, descendants: 0,}
fn descendants(_indirect_level: usize) -> usize
fn height() -> usize
fn preorder(self, f: &mut impl FnMut(Visit<T>))
fn preorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))
fn postorder(self, f: &mut impl FnMut(Visit<T>))
fn postorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more