pub enum StellarMessage {
Show 24 variants
ErrorMsg(SError),
Hello(Hello),
Auth(Auth),
DontHave(DontHave),
GetPeers,
Peers(VecM<PeerAddress, 100>),
GetTxSet(Uint256),
TxSet(TransactionSet),
GeneralizedTxSet(GeneralizedTransactionSet),
Transaction(TransactionEnvelope),
SurveyRequest(SignedSurveyRequestMessage),
SurveyResponse(SignedSurveyResponseMessage),
TimeSlicedSurveyRequest(SignedTimeSlicedSurveyRequestMessage),
TimeSlicedSurveyResponse(SignedTimeSlicedSurveyResponseMessage),
TimeSlicedSurveyStartCollecting(SignedTimeSlicedSurveyStartCollectingMessage),
TimeSlicedSurveyStopCollecting(SignedTimeSlicedSurveyStopCollectingMessage),
GetScpQuorumset(Uint256),
ScpQuorumset(ScpQuorumSet),
ScpMessage(ScpEnvelope),
GetScpState(u32),
SendMore(SendMore),
SendMoreExtended(SendMoreExtended),
FloodAdvert(FloodAdvert),
FloodDemand(FloodDemand),
}
Expand description
StellarMessage is an XDR Union defines as:
union StellarMessage switch (MessageType type)
{
case ERROR_MSG:
Error error;
case HELLO:
Hello hello;
case AUTH:
Auth auth;
case DONT_HAVE:
DontHave dontHave;
case GET_PEERS:
void;
case PEERS:
PeerAddress peers<100>;
case GET_TX_SET:
uint256 txSetHash;
case TX_SET:
TransactionSet txSet;
case GENERALIZED_TX_SET:
GeneralizedTransactionSet generalizedTxSet;
case TRANSACTION:
TransactionEnvelope transaction;
case SURVEY_REQUEST:
SignedSurveyRequestMessage signedSurveyRequestMessage;
case SURVEY_RESPONSE:
SignedSurveyResponseMessage signedSurveyResponseMessage;
case TIME_SLICED_SURVEY_REQUEST:
SignedTimeSlicedSurveyRequestMessage signedTimeSlicedSurveyRequestMessage;
case TIME_SLICED_SURVEY_RESPONSE:
SignedTimeSlicedSurveyResponseMessage signedTimeSlicedSurveyResponseMessage;
case TIME_SLICED_SURVEY_START_COLLECTING:
SignedTimeSlicedSurveyStartCollectingMessage
signedTimeSlicedSurveyStartCollectingMessage;
case TIME_SLICED_SURVEY_STOP_COLLECTING:
SignedTimeSlicedSurveyStopCollectingMessage
signedTimeSlicedSurveyStopCollectingMessage;
// SCP
case GET_SCP_QUORUMSET:
uint256 qSetHash;
case SCP_QUORUMSET:
SCPQuorumSet qSet;
case SCP_MESSAGE:
SCPEnvelope envelope;
case GET_SCP_STATE:
uint32 getSCPLedgerSeq; // ledger seq requested ; if 0, requests the latest
case SEND_MORE:
SendMore sendMoreMessage;
case SEND_MORE_EXTENDED:
SendMoreExtended sendMoreExtendedMessage;
// Pull mode
case FLOOD_ADVERT:
FloodAdvert floodAdvert;
case FLOOD_DEMAND:
FloodDemand floodDemand;
};
Variants§
ErrorMsg(SError)
Hello(Hello)
Auth(Auth)
DontHave(DontHave)
GetPeers
Peers(VecM<PeerAddress, 100>)
GetTxSet(Uint256)
TxSet(TransactionSet)
GeneralizedTxSet(GeneralizedTransactionSet)
Transaction(TransactionEnvelope)
SurveyRequest(SignedSurveyRequestMessage)
SurveyResponse(SignedSurveyResponseMessage)
TimeSlicedSurveyRequest(SignedTimeSlicedSurveyRequestMessage)
TimeSlicedSurveyResponse(SignedTimeSlicedSurveyResponseMessage)
TimeSlicedSurveyStartCollecting(SignedTimeSlicedSurveyStartCollectingMessage)
TimeSlicedSurveyStopCollecting(SignedTimeSlicedSurveyStopCollectingMessage)
GetScpQuorumset(Uint256)
ScpQuorumset(ScpQuorumSet)
ScpMessage(ScpEnvelope)
GetScpState(u32)
SendMore(SendMore)
SendMoreExtended(SendMoreExtended)
FloodAdvert(FloodAdvert)
FloodDemand(FloodDemand)
Implementations§
Source§impl StellarMessage
impl StellarMessage
pub const VARIANTS: [MessageType; 24]
pub const VARIANTS_STR: [&'static str; 24]
pub const fn name(&self) -> &'static str
pub const fn discriminant(&self) -> MessageType
pub const fn variants() -> [MessageType; 24]
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for StellarMessage
impl<'arbitrary> Arbitrary<'arbitrary> for StellarMessage
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<StellarMessage, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<StellarMessage, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>,
) -> Result<StellarMessage, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<StellarMessage, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured
this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured
this type
needs to construct itself. Read moreSource§impl Clone for StellarMessage
impl Clone for StellarMessage
Source§fn clone(&self) -> StellarMessage
fn clone(&self) -> StellarMessage
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for StellarMessage
impl Debug for StellarMessage
Source§impl<'de> Deserialize<'de> for StellarMessage
impl<'de> Deserialize<'de> for StellarMessage
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StellarMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StellarMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Discriminant<MessageType> for StellarMessage
impl Discriminant<MessageType> for StellarMessage
fn discriminant(&self) -> MessageType
Source§impl Hash for StellarMessage
impl Hash for StellarMessage
Source§impl Ord for StellarMessage
impl Ord for StellarMessage
Source§fn cmp(&self, other: &StellarMessage) -> Ordering
fn cmp(&self, other: &StellarMessage) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for StellarMessage
impl PartialEq for StellarMessage
Source§impl PartialOrd for StellarMessage
impl PartialOrd for StellarMessage
Source§impl ReadXdr for StellarMessage
impl ReadXdr for StellarMessage
Source§fn read_xdr<R>(r: &mut Limited<R>) -> Result<StellarMessage, Error>where
R: Read,
fn read_xdr<R>(r: &mut Limited<R>) -> Result<StellarMessage, Error>where
R: Read,
Read the XDR and construct the type. Read more
Source§fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
Source§fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Read the XDR and construct the type, and consider it an error if the
read does not completely consume the read implementation. Read more
Source§fn read_xdr_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
Source§fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
Read the XDR and construct the type. Read more
Source§fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
Read the XDR into the existing value, and consider it an error if the
read does not completely consume the read implementation. Read more
Source§fn read_xdr_iter<R>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
fn read_xdr_iter<R>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type. Read more
Source§fn read_xdr_base64_iter<R>(
r: &mut Limited<R>,
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
fn read_xdr_base64_iter<R>(
r: &mut Limited<R>,
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type.
Source§impl Serialize for StellarMessage
impl Serialize for StellarMessage
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl Variants<MessageType> for StellarMessage
impl Variants<MessageType> for StellarMessage
fn variants() -> Iter<'static, MessageType>
Source§impl WriteXdr for StellarMessage
impl WriteXdr for StellarMessage
impl Eq for StellarMessage
impl StructuralPartialEq for StellarMessage
impl Union<MessageType> for StellarMessage
Auto Trait Implementations§
impl Freeze for StellarMessage
impl RefUnwindSafe for StellarMessage
impl Send for StellarMessage
impl Sync for StellarMessage
impl Unpin for StellarMessage
impl UnwindSafe for StellarMessage
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key
and return true
if they are equal.