pub struct SubscriptionId(pub SmolStr);Expand description
New type representing a unique String identifier for a stream that has been subscribed to.
This is used to identify data structures received over the socket.
For example, Barter-Data uses this identifier to associate received data structures from the
execution with the original Barter-Data Subscription that was actioned over the socket.
Note: Each execution will require the use of different String identifiers depending on the
data structures they send.
eg/ SubscriptionId of an FtxTrade is “{BASE}/{QUOTE}” (ie/ market).
eg/ SubscriptionId of a BinanceTrade is "@trade|BTCUSDT" (ie/ channel|MARKET).
Tuple Fields§
§0: SmolStrTrait Implementations§
Source§impl AsRef<str> for SubscriptionId
impl AsRef<str> for SubscriptionId
Source§impl Borrow<str> for SubscriptionId
Borrow a SubscriptionId as a &str so an instrument map keyed on SubscriptionId
can be queried with a borrowed key (e.g. Map::find("@kline_1m|BTCUSDT")) without
allocating an owned SubscriptionId per lookup.
impl Borrow<str> for SubscriptionId
Borrow a SubscriptionId as a &str so an instrument map keyed on SubscriptionId
can be queried with a borrowed key (e.g. Map::find("@kline_1m|BTCUSDT")) without
allocating an owned SubscriptionId per lookup.
Soundness: the Hash, Eq, and Ord impls of SubscriptionId must agree with those of
str for Borrow to be valid. SubscriptionId derives all three over its single inner
SmolStr field, and SmolStr’s Hash/Eq/Ord delegate to its string contents — so a
SubscriptionId hashes, compares, and orders identically to the str it borrows.
Source§impl Clone for SubscriptionId
impl Clone for SubscriptionId
Source§fn clone(&self) -> SubscriptionId
fn clone(&self) -> SubscriptionId
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubscriptionId
impl Debug for SubscriptionId
Source§impl<'de> Deserialize<'de> for SubscriptionId
impl<'de> Deserialize<'de> for SubscriptionId
Source§fn 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>,
Source§impl Display for SubscriptionId
impl Display for SubscriptionId
impl Eq for SubscriptionId
Source§impl<S> From<S> for SubscriptionId
impl<S> From<S> for SubscriptionId
Source§impl Hash for SubscriptionId
impl Hash for SubscriptionId
Source§impl Ord for SubscriptionId
impl Ord for SubscriptionId
Source§fn cmp(&self, other: &SubscriptionId) -> Ordering
fn cmp(&self, other: &SubscriptionId) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for SubscriptionId
impl PartialEq for SubscriptionId
Source§fn eq(&self, other: &SubscriptionId) -> bool
fn eq(&self, other: &SubscriptionId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for SubscriptionId
impl PartialOrd for SubscriptionId
Source§impl Serialize for SubscriptionId
impl Serialize for SubscriptionId
impl StructuralPartialEq for SubscriptionId
Auto Trait Implementations§
impl Freeze for SubscriptionId
impl RefUnwindSafe for SubscriptionId
impl Send for SubscriptionId
impl Sync for SubscriptionId
impl Unpin for SubscriptionId
impl UnsafeUnpin for SubscriptionId
impl UnwindSafe for SubscriptionId
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
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.