pub struct LidPnEntry {
pub lid: Arc<str>,
pub phone_number: Arc<str>,
pub created_at: i64,
pub learning_source: LearningSource,
}Expand description
An entry in the LID-PN cache containing the full mapping information.
Fields§
§lid: Arc<str>The LID user part (e.g., “100000012345678”).
Arc<str>: the cache stores each mapping under both directions, so the
identifier strings are shared between the entry and the cache keys
instead of re-allocated per copy (this cache is unbounded by design).
phone_number: Arc<str>The phone number user part (e.g., “559980000001”)
created_at: i64Unix timestamp when the mapping was first learned
learning_source: LearningSourceThe source from which this mapping was learned
Implementations§
Source§impl LidPnEntry
impl LidPnEntry
Sourcepub fn new(
lid: impl Into<Arc<str>>,
phone_number: impl Into<Arc<str>>,
learning_source: LearningSource,
) -> LidPnEntry
pub fn new( lid: impl Into<Arc<str>>, phone_number: impl Into<Arc<str>>, learning_source: LearningSource, ) -> LidPnEntry
Create a new entry with the current timestamp
Sourcepub fn with_timestamp(
lid: impl Into<Arc<str>>,
phone_number: impl Into<Arc<str>>,
created_at: i64,
learning_source: LearningSource,
) -> LidPnEntry
pub fn with_timestamp( lid: impl Into<Arc<str>>, phone_number: impl Into<Arc<str>>, created_at: i64, learning_source: LearningSource, ) -> LidPnEntry
Create an entry with a specific timestamp
Trait Implementations§
Source§impl Clone for LidPnEntry
impl Clone for LidPnEntry
Source§fn clone(&self) -> LidPnEntry
fn clone(&self) -> LidPnEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 LidPnEntry
impl Debug for LidPnEntry
Source§impl<'de> Deserialize<'de> for LidPnEntry
impl<'de> Deserialize<'de> for LidPnEntry
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LidPnEntry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LidPnEntry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl HeapSize for LidPnEntry
impl HeapSize for LidPnEntry
Source§fn heap_bytes(&self) -> usize
fn heap_bytes(&self) -> usize
The identifier strings are shared with the cache keys (Arc<str>), so
counting them here means the report must not count the keys again.
Source§impl Serialize for LidPnEntry
impl Serialize for LidPnEntry
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
Auto Trait Implementations§
impl Freeze for LidPnEntry
impl RefUnwindSafe for LidPnEntry
impl Send for LidPnEntry
impl Sync for LidPnEntry
impl Unpin for LidPnEntry
impl UnsafeUnpin for LidPnEntry
impl UnwindSafe for LidPnEntry
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreimpl<T> MaybeSend for T
impl<T> MaybeSendSync for T
impl<T> Spawnable for Twhere
T: Send + 'static,
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more