Enum soroban_sdk::xdr::StellarMessage
pub enum StellarMessage {
Show 20 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),
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;
// 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)
GetScpQuorumset(Uint256)
ScpQuorumset(ScpQuorumSet)
ScpMessage(ScpEnvelope)
GetScpState(u32)
SendMore(SendMore)
SendMoreExtended(SendMoreExtended)
FloodAdvert(FloodAdvert)
FloodDemand(FloodDemand)
Implementations§
§impl StellarMessage
impl StellarMessage
pub const VARIANTS: [MessageType; 20] = _
pub const VARIANTS_STR: [&'static str; 20] = _
pub const fn name(&self) -> &'static str
pub const fn discriminant(&self) -> MessageType
pub const fn variants() -> [MessageType; 20]
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for StellarMessage
impl<'arbitrary> Arbitrary<'arbitrary> for StellarMessage
§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 more§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 more§impl Clone for StellarMessage
impl Clone for StellarMessage
§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 more§impl Debug for StellarMessage
impl Debug for StellarMessage
§impl<'de> Deserialize<'de> for StellarMessage
impl<'de> Deserialize<'de> for StellarMessage
§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
§impl Discriminant<MessageType> for StellarMessage
impl Discriminant<MessageType> for StellarMessage
fn discriminant(&self) -> MessageType
§impl Hash for StellarMessage
impl Hash for StellarMessage
§impl Ord for StellarMessage
impl Ord for StellarMessage
§impl PartialEq for StellarMessage
impl PartialEq for StellarMessage
§fn eq(&self, other: &StellarMessage) -> bool
fn eq(&self, other: &StellarMessage) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for StellarMessage
impl PartialOrd for StellarMessage
§fn partial_cmp(&self, other: &StellarMessage) -> Option<Ordering>
fn partial_cmp(&self, other: &StellarMessage) -> Option<Ordering>
1.0.0 · source§fn 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§impl ReadXdr for StellarMessage
impl ReadXdr for StellarMessage
§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
§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
§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
§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
§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
§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
§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
§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.
§impl Serialize for StellarMessage
impl Serialize for StellarMessage
§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
§impl Variants<MessageType> for StellarMessage
impl Variants<MessageType> for StellarMessage
fn variants() -> Iter<'static, MessageType>
§impl WriteXdr for StellarMessage
impl WriteXdr for StellarMessage
impl Eq for StellarMessage
impl StructuralEq for StellarMessage
impl StructuralPartialEq for StellarMessage
impl Union<MessageType> for StellarMessage
Auto Trait Implementations§
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
§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
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>
§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
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>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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
.§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
.§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.§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.