Enum NetworkMessage
pub enum NetworkMessage {
Show 37 variants
Version(VersionMessage),
Verack,
Addr(Vec<(u32, Address)>),
Inv(Vec<Inventory>),
GetData(Vec<Inventory>),
NotFound(Vec<Inventory>),
GetBlocks(GetBlocksMessage),
GetHeaders(GetHeadersMessage),
MemPool,
Tx(Transaction),
Block(Block),
Headers(Vec<BlockHeader>),
SendHeaders,
GetAddr,
Ping(u64),
Pong(u64),
MerkleBlock(MerkleBlock),
FilterLoad(FilterLoad),
FilterAdd(FilterAdd),
FilterClear,
GetCFilters(GetCFilters),
CFilter(CFilter),
GetCFHeaders(GetCFHeaders),
CFHeaders(CFHeaders),
GetCFCheckpt(GetCFCheckpt),
CFCheckpt(CFCheckpt),
SendCmpct(SendCmpct),
CmpctBlock(CmpctBlock),
GetBlockTxn(GetBlockTxn),
BlockTxn(BlockTxn),
Alert(Vec<u8>),
Reject(Reject),
FeeFilter(i64),
WtxidRelay,
AddrV2(Vec<AddrV2Message>),
SendAddrV2,
Unknown {
command: CommandString,
payload: Vec<u8>,
},
}
Expand description
A Network message payload. Proper documentation is available on at Bitcoin Wiki: Protocol Specification
Variants§
Version(VersionMessage)
version
Verack
verack
Addr(Vec<(u32, Address)>)
addr
Inv(Vec<Inventory>)
inv
GetData(Vec<Inventory>)
getdata
NotFound(Vec<Inventory>)
notfound
GetBlocks(GetBlocksMessage)
getblocks
GetHeaders(GetHeadersMessage)
getheaders
MemPool
mempool
Tx(Transaction)
tx
Block(Block)
block
Headers(Vec<BlockHeader>)
headers
SendHeaders
sendheaders
GetAddr
getaddr
Ping(u64)
ping
Pong(u64)
pong
MerkleBlock(MerkleBlock)
merkleblock
FilterLoad(FilterLoad)
BIP 37 filterload
FilterAdd(FilterAdd)
BIP 37 filteradd
FilterClear
BIP 37 filterclear
GetCFilters(GetCFilters)
BIP157 getcfilters
CFilter(CFilter)
BIP157 cfilter
GetCFHeaders(GetCFHeaders)
BIP157 getcfheaders
CFHeaders(CFHeaders)
BIP157 cfheaders
GetCFCheckpt(GetCFCheckpt)
BIP157 getcfcheckpt
CFCheckpt(CFCheckpt)
BIP157 cfcheckpt
SendCmpct(SendCmpct)
BIP152 sendcmpct
CmpctBlock(CmpctBlock)
BIP152 cmpctblock
GetBlockTxn(GetBlockTxn)
BIP152 getblocktxn
BlockTxn(BlockTxn)
BIP152 blocktxn
Alert(Vec<u8>)
alert
Reject(Reject)
reject
FeeFilter(i64)
feefilter
WtxidRelay
wtxidrelay
AddrV2(Vec<AddrV2Message>)
addrv2
SendAddrV2
sendaddrv2
Unknown
Any other message.
Fields
command: CommandString
The command of this message.
Implementations§
§impl NetworkMessage
impl NetworkMessage
pub fn cmd(&self) -> &'static str
pub fn cmd(&self) -> &'static str
Return the message command as a static string reference.
This returns "unknown"
for NetworkMessage::Unknown,
regardless of the actual command in the unknown message.
Use the Self::command method to get the command for unknown messages.
pub fn command(&self) -> CommandString
pub fn command(&self) -> CommandString
Return the CommandString for the message command.
Trait Implementations§
§impl Clone for NetworkMessage
impl Clone for NetworkMessage
§fn clone(&self) -> NetworkMessage
fn clone(&self) -> NetworkMessage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for NetworkMessage
impl Debug for NetworkMessage
§impl PartialEq for NetworkMessage
impl PartialEq for NetworkMessage
impl Eq for NetworkMessage
impl StructuralPartialEq for NetworkMessage
Auto Trait Implementations§
impl Freeze for NetworkMessage
impl RefUnwindSafe for NetworkMessage
impl Send for NetworkMessage
impl Sync for NetworkMessage
impl Unpin for NetworkMessage
impl UnwindSafe for NetworkMessage
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request