pub struct DbConnection<C> { /* private fields */ }Expand description
A wrapper for RawDbConnection that houses all XMTP DB operations.
Implementations§
Source§impl<C> DbConnection<C>
impl<C> DbConnection<C>
Source§impl<C> DbConnection<C>where
C: ConnectionExt,
impl<C> DbConnection<C>where
C: ConnectionExt,
pub fn raw_query_read<T, F>(&self, fun: F) -> Result<T, ConnectionError>
pub fn raw_query_write<T, F>(&self, fun: F) -> Result<T, ConnectionError>
Source§impl<C: ConnectionExt> DbConnection<C>
impl<C: ConnectionExt> DbConnection<C>
Sourcepub fn register_triggers(&self)
pub fn register_triggers(&self)
Create a new table and register triggers for tracking column updates
Sourcepub fn disable_memory_security(&self)
pub fn disable_memory_security(&self)
Disable sqlcipher memory security
pub fn intents_published(&self) -> i32
pub fn intents_processed(&self) -> i32
pub fn intents_deleted(&self) -> i32
pub fn intent_payloads_deleted(&self) -> Vec<Vec<u8>>
pub fn intents_created(&self) -> i32
pub fn missing_messages(&self, sequence_ids: &[u64]) -> Vec<StoredGroupMessage>
pub fn key_package_rotation_history(&self) -> Vec<(i64, i64)>
Trait Implementations§
Source§impl<C: Clone> Clone for DbConnection<C>
impl<C: Clone> Clone for DbConnection<C>
Source§fn clone(&self) -> DbConnection<C>
fn clone(&self) -> DbConnection<C>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C> ConnectionExt for DbConnection<C>where
C: ConnectionExt,
impl<C> ConnectionExt for DbConnection<C>where
C: ConnectionExt,
Source§fn raw_query_read<T, F>(&self, fun: F) -> Result<T, ConnectionError>
fn raw_query_read<T, F>(&self, fun: F) -> Result<T, ConnectionError>
Source§fn raw_query_write<T, F>(&self, fun: F) -> Result<T, ConnectionError>
fn raw_query_write<T, F>(&self, fun: F) -> Result<T, ConnectionError>
fn disconnect(&self) -> Result<(), ConnectionError>
fn reconnect(&self) -> Result<(), ConnectionError>
Source§impl<C> Debug for DbConnection<C>
impl<C> Debug for DbConnection<C>
Source§impl<C: ConnectionExt> Delete<StoredGroupIntent> for DbConnection<C>
impl<C: ConnectionExt> Delete<StoredGroupIntent> for DbConnection<C>
Source§impl<C: ConnectionExt> Delete<StoredKeyStoreEntry> for DbConnection<C>
impl<C: ConnectionExt> Delete<StoredKeyStoreEntry> for DbConnection<C>
Source§impl<C: ConnectionExt> From<DbConnection<C>> for XmtpOpenMlsProvider<SqlKeyStore<C>>
impl<C: ConnectionExt> From<DbConnection<C>> for XmtpOpenMlsProvider<SqlKeyStore<C>>
Source§fn from(db: DbConnection<C>) -> XmtpOpenMlsProvider<SqlKeyStore<C>>
fn from(db: DbConnection<C>) -> XmtpOpenMlsProvider<SqlKeyStore<C>>
Source§impl<C: ConnectionExt> IntoConnection for DbConnection<C>
impl<C: ConnectionExt> IntoConnection for DbConnection<C>
type Connection = C
fn into_connection(self) -> Self::Connection
Source§impl<C: ConnectionExt> Pragmas for DbConnection<C>
impl<C: ConnectionExt> Pragmas for DbConnection<C>
Source§fn busy_timeout(&self) -> Result<i32, ConnectionError>
fn busy_timeout(&self) -> Result<i32, ConnectionError>
fn set_sqlcipher_log<S: AsRef<str>>( &self, level: S, ) -> Result<(), ConnectionError>
Source§impl<C: ConnectionExt> QueryAssociationStateCache for DbConnection<C>
impl<C: ConnectionExt> QueryAssociationStateCache for DbConnection<C>
fn write_to_cache( &self, inbox_id: String, sequence_id: i64, state: AssociationStateProto, ) -> Result<(), StorageError>
fn read_from_cache<A: AsRef<str>>( &self, inbox_id: A, sequence_id: i64, ) -> Result<Option<AssociationStateProto>, StorageError>
fn batch_read_from_cache( &self, identifiers: Vec<(String, i64)>, ) -> Result<Vec<AssociationStateProto>, StorageError>
Source§impl<C: ConnectionExt> QueryConsentRecord for DbConnection<C>
impl<C: ConnectionExt> QueryConsentRecord for DbConnection<C>
Source§fn get_consent_record(
&self,
entity: String,
entity_type: ConsentType,
) -> Result<Option<StoredConsentRecord>, ConnectionError>
fn get_consent_record( &self, entity: String, entity_type: ConsentType, ) -> Result<Option<StoredConsentRecord>, ConnectionError>
Returns the consent_records for the given entity up
Source§fn insert_or_replace_consent_records(
&self,
records: &[StoredConsentRecord],
) -> Result<Vec<StoredConsentRecord>, ConnectionError>
fn insert_or_replace_consent_records( &self, records: &[StoredConsentRecord], ) -> Result<Vec<StoredConsentRecord>, ConnectionError>
Insert consent_records, and replace existing entries, returns records that are new or changed
fn consent_records(&self) -> Result<Vec<StoredConsentRecord>, ConnectionError>
fn consent_records_paged( &self, limit: i64, offset: i64, ) -> Result<Vec<StoredConsentRecord>, ConnectionError>
Source§fn insert_newer_consent_record(
&self,
record: StoredConsentRecord,
) -> Result<bool, ConnectionError>
fn insert_newer_consent_record( &self, record: StoredConsentRecord, ) -> Result<bool, ConnectionError>
fn maybe_insert_consent_record_return_existing( &self, record: &StoredConsentRecord, ) -> Result<Option<StoredConsentRecord>, ConnectionError>
fn find_consent_by_dm_id( &self, dm_id: &str, ) -> Result<Vec<StoredConsentRecord>, ConnectionError>
Source§impl<C: ConnectionExt> QueryConversationList for DbConnection<C>
impl<C: ConnectionExt> QueryConversationList for DbConnection<C>
fn fetch_conversation_list<A: AsRef<GroupQueryArgs>>( &self, args: A, ) -> Result<Vec<ConversationListItem>, StorageError>
Source§impl<C: ConnectionExt> QueryDeviceSyncMessages for DbConnection<C>
impl<C: ConnectionExt> QueryDeviceSyncMessages for DbConnection<C>
fn unprocessed_sync_group_messages( &self, ) -> Result<Vec<StoredGroupMessage>, StorageError>
fn sync_group_messages_paged( &self, offset: i64, limit: i64, ) -> Result<Vec<StoredGroupMessage>, StorageError>
Source§fn mark_device_sync_msg_as_processed(
&self,
message_id: &[u8],
) -> Result<(), StorageError>
fn mark_device_sync_msg_as_processed( &self, message_id: &[u8], ) -> Result<(), StorageError>
Source§fn increment_device_sync_msg_attempt(
&self,
message_id: &[u8],
max_attempts: i32,
) -> Result<i32, StorageError>
fn increment_device_sync_msg_attempt( &self, message_id: &[u8], max_attempts: i32, ) -> Result<i32, StorageError>
Source§impl<C: ConnectionExt> QueryDms for DbConnection<C>
impl<C: ConnectionExt> QueryDms for DbConnection<C>
Source§fn fetch_stitched(
&self,
key: &[u8],
) -> Result<Option<StoredGroup>, ConnectionError>
fn fetch_stitched( &self, key: &[u8], ) -> Result<Option<StoredGroup>, ConnectionError>
Same behavior as fetched, but will stitch DM groups
Source§fn other_dms(
&self,
group_id: &[u8],
) -> Result<Vec<StoredGroup>, ConnectionError>
fn other_dms( &self, group_id: &[u8], ) -> Result<Vec<StoredGroup>, ConnectionError>
Load the other DMs that are stitched into this group
fn find_active_dm_group<M>(
&self,
members: M,
) -> Result<Option<StoredGroup>, ConnectionError>where
M: Display,
Source§impl<C: ConnectionExt> QueryGroup for DbConnection<C>
impl<C: ConnectionExt> QueryGroup for DbConnection<C>
Source§fn find_groups<A: AsRef<GroupQueryArgs>>(
&self,
args: A,
) -> Result<Vec<StoredGroup>, ConnectionError>
fn find_groups<A: AsRef<GroupQueryArgs>>( &self, args: A, ) -> Result<Vec<StoredGroup>, ConnectionError>
Return regular Purpose::Conversation groups with additional optional filters
Source§fn update_group_membership<GroupId: AsRef<[u8]>>(
&self,
group_id: GroupId,
state: GroupMembershipState,
) -> Result<(), ConnectionError>
fn update_group_membership<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, state: GroupMembershipState, ) -> Result<(), ConnectionError>
Updates group membership state
Source§fn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given ID
Source§fn find_group_by_sequence_id(
&self,
cursor: Cursor,
) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group_by_sequence_id( &self, cursor: Cursor, ) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given welcome ID
Source§fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
Source§fn update_installations_time_checked(
&self,
group_id: Vec<u8>,
) -> Result<(), StorageError>
fn update_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
Source§fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
Get all the welcome ids turned into groups
Source§fn get_conversation_ids_for_remote_log_publish(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
fn get_conversation_ids_for_remote_log_publish( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
Get conversation IDs for all conversations that require a remote commit log publish (DMs and groups where user is super admin, excluding sync groups and rejected groups)
fn find_groups_by_id_paged<A: AsRef<GroupQueryArgs>>( &self, args: A, offset: i64, ) -> Result<Vec<StoredGroup>, ConnectionError>
fn all_sync_groups(&self) -> Result<Vec<StoredGroup>, ConnectionError>
fn find_sync_group( &self, id: &[u8], ) -> Result<Option<StoredGroup>, ConnectionError>
fn primary_sync_group(&self) -> Result<Option<StoredGroup>, ConnectionError>
fn get_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<i64, StorageError>
fn get_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<i64, StorageError>
fn update_message_disappearing_from_ns( &self, group_id: Vec<u8>, from_ns: Option<i64>, ) -> Result<(), StorageError>
fn update_message_disappearing_in_ns( &self, group_id: Vec<u8>, in_ns: Option<i64>, ) -> Result<(), StorageError>
fn insert_or_replace_group( &self, group: StoredGroup, ) -> Result<StoredGroup, StorageError>
fn mark_group_as_maybe_forked( &self, group_id: &[u8], fork_details: String, ) -> Result<(), StorageError>
fn clear_fork_flag_for_group( &self, group_id: &[u8], ) -> Result<(), ConnectionError>
fn has_duplicate_dm(&self, group_id: &[u8]) -> Result<bool, ConnectionError>
Source§fn get_conversation_ids_for_remote_log_download(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
fn get_conversation_ids_for_remote_log_download( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
Source§fn get_conversation_ids_for_fork_check(
&self,
) -> Result<Vec<Vec<u8>>, ConnectionError>
fn get_conversation_ids_for_fork_check( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>
Source§fn get_conversation_ids_for_requesting_readds(
&self,
) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>
fn get_conversation_ids_for_requesting_readds( &self, ) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>
Source§fn get_conversation_ids_for_responding_readds(
&self,
) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>
fn get_conversation_ids_for_responding_readds( &self, ) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>
fn get_conversation_type( &self, group_id: &[u8], ) -> Result<ConversationType, ConnectionError>
Source§fn set_group_commit_log_public_key(
&self,
group_id: &[u8],
public_key: &[u8],
) -> Result<(), StorageError>
fn set_group_commit_log_public_key( &self, group_id: &[u8], public_key: &[u8], ) -> Result<(), StorageError>
Source§fn set_group_commit_log_forked_status(
&self,
group_id: &[u8],
is_forked: Option<bool>,
) -> Result<(), StorageError>
fn set_group_commit_log_forked_status( &self, group_id: &[u8], is_forked: Option<bool>, ) -> Result<(), StorageError>
Source§fn get_group_commit_log_forked_status(
&self,
group_id: &[u8],
) -> Result<Option<bool>, StorageError>
fn get_group_commit_log_forked_status( &self, group_id: &[u8], ) -> Result<Option<bool>, StorageError>
Source§fn set_group_has_pending_leave_request_status(
&self,
group_id: &[u8],
has_pending_leave_request: Option<bool>,
) -> Result<(), StorageError>
fn set_group_has_pending_leave_request_status( &self, group_id: &[u8], has_pending_leave_request: Option<bool>, ) -> Result<(), StorageError>
fn get_groups_have_pending_leave_request( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>
Source§impl<C: ConnectionExt> QueryGroupIntent for DbConnection<C>
impl<C: ConnectionExt> QueryGroupIntent for DbConnection<C>
Source§fn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>
fn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>
Set the intent with the given ID to Error
Source§fn find_dependant_commits<P: AsRef<[u8]>>(
&self,
payload_hashes: &[P],
) -> Result<HashMap<PayloadHash, IntentDependency>, StorageError>
fn find_dependant_commits<P: AsRef<[u8]>>( &self, payload_hashes: &[P], ) -> Result<HashMap<PayloadHash, IntentDependency>, StorageError>
Find the commit message refresh state for each intent by payload hash. Returns a map from payload hash to a vector of dependencies (one per originator).
fn insert_group_intent( &self, to_save: NewGroupIntent, ) -> Result<StoredGroupIntent, ConnectionError>
fn find_group_intents<Id: AsRef<[u8]>>( &self, group_id: Id, allowed_states: Option<Vec<IntentState>>, allowed_kinds: Option<Vec<IntentKind>>, ) -> Result<Vec<StoredGroupIntent>, ConnectionError>
fn set_group_intent_published( &self, intent_id: ID, payload_hash: &[u8], post_commit_data: Option<Vec<u8>>, staged_commit: Option<Vec<u8>>, published_in_epoch: i64, ) -> Result<(), StorageError>
fn set_group_intent_committed( &self, intent_id: ID, cursor: Cursor, ) -> Result<(), StorageError>
fn set_group_intent_processed(&self, intent_id: ID) -> Result<(), StorageError>
fn set_group_intent_to_publish(&self, intent_id: ID) -> Result<(), StorageError>
fn find_group_intent_by_payload_hash( &self, payload_hash: &[u8], ) -> Result<Option<StoredGroupIntent>, StorageError>
fn increment_intent_publish_attempt_count( &self, intent_id: ID, ) -> Result<(), StorageError>
fn set_group_intent_error_and_fail_msg( &self, intent: &StoredGroupIntent, msg_id: Option<Vec<u8>>, ) -> Result<(), StorageError>
Source§impl<C: ConnectionExt> QueryGroupMessage for DbConnection<C>
impl<C: ConnectionExt> QueryGroupMessage for DbConnection<C>
Source§fn get_group_messages(
&self,
group_id: &[u8],
args: &MsgQueryArgs,
) -> Result<Vec<StoredGroupMessage>, ConnectionError>
fn get_group_messages( &self, group_id: &[u8], args: &MsgQueryArgs, ) -> Result<Vec<StoredGroupMessage>, ConnectionError>
Query for group messages
Source§fn count_group_messages(
&self,
group_id: &[u8],
args: &MsgQueryArgs,
) -> Result<i64, ConnectionError>
fn count_group_messages( &self, group_id: &[u8], args: &MsgQueryArgs, ) -> Result<i64, ConnectionError>
Count group messages matching the given criteria
Source§fn get_group_messages_with_reactions(
&self,
group_id: &[u8],
args: &MsgQueryArgs,
) -> Result<Vec<StoredGroupMessageWithReactions>, ConnectionError>
fn get_group_messages_with_reactions( &self, group_id: &[u8], args: &MsgQueryArgs, ) -> Result<Vec<StoredGroupMessageWithReactions>, ConnectionError>
Query for group messages with their reactions
Source§fn get_group_message<MessageId: AsRef<[u8]>>(
&self,
id: MessageId,
) -> Result<Option<StoredGroupMessage>, ConnectionError>
fn get_group_message<MessageId: AsRef<[u8]>>( &self, id: MessageId, ) -> Result<Option<StoredGroupMessage>, ConnectionError>
Get a particular group message
Source§fn write_conn_get_group_message<MessageId: AsRef<[u8]>>(
&self,
id: MessageId,
) -> Result<Option<StoredGroupMessage>, ConnectionError>
fn write_conn_get_group_message<MessageId: AsRef<[u8]>>( &self, id: MessageId, ) -> Result<Option<StoredGroupMessage>, ConnectionError>
Get a particular group message using the write connection
fn group_messages_paged( &self, args: &MsgQueryArgs, offset: i64, ) -> Result<Vec<StoredGroupMessage>, ConnectionError>
fn get_inbound_relations( &self, group_id: &[u8], message_ids: &[&[u8]], relation_query: RelationQuery, ) -> Result<InboundRelations, ConnectionError>
fn get_outbound_relations( &self, group_id: &[u8], reference_ids: &[&[u8]], ) -> Result<OutboundRelations, ConnectionError>
fn get_inbound_relation_counts( &self, group_id: &[u8], message_ids: &[&[u8]], relation_query: RelationQuery, ) -> Result<RelationCounts, ConnectionError>
fn get_latest_message_times_by_sender<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, allowed_content_types: &[ContentType], ) -> Result<LatestMessageTimeBySender, ConnectionError>
fn get_group_message_by_timestamp<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, timestamp: i64, ) -> Result<Option<StoredGroupMessage>, ConnectionError>
fn get_group_message_by_cursor<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, cursor: Cursor, ) -> Result<Option<StoredGroupMessage>, ConnectionError>
fn set_delivery_status_to_published<MessageId: AsRef<[u8]>>( &self, msg_id: &MessageId, timestamp: u64, cursor: Cursor, message_expire_at_ns: Option<i64>, ) -> Result<usize, ConnectionError>
fn set_delivery_status_to_failed<MessageId: AsRef<[u8]>>( &self, msg_id: &MessageId, ) -> Result<usize, ConnectionError>
fn delete_expired_messages( &self, ) -> Result<Vec<StoredGroupMessage>, ConnectionError>
fn delete_message_by_id<MessageId: AsRef<[u8]>>( &self, message_id: MessageId, ) -> Result<usize, ConnectionError>
fn messages_newer_than( &self, cursors_by_group: &HashMap<Vec<u8>, GlobalCursor>, ) -> Result<Vec<Cursor>, ConnectionError>
Source§impl<C: ConnectionExt> QueryGroupVersion for DbConnection<C>
impl<C: ConnectionExt> QueryGroupVersion for DbConnection<C>
fn set_group_paused( &self, group_id: &[u8], min_version: &str, ) -> Result<(), StorageError>
fn unpause_group(&self, group_id: &[u8]) -> Result<(), StorageError>
fn get_group_paused_version( &self, group_id: &[u8], ) -> Result<Option<String>, StorageError>
Source§impl<C: ConnectionExt> QueryIcebox for DbConnection<C>
impl<C: ConnectionExt> QueryIcebox for DbConnection<C>
Source§fn past_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
fn past_dependents( &self, cursors: &[Cursor], ) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
Source§fn future_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
fn future_dependents( &self, cursors: &[Cursor], ) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
Source§fn ice(&self, orphans: Vec<OrphanedEnvelope>) -> Result<usize, ConnectionError>
fn ice(&self, orphans: Vec<OrphanedEnvelope>) -> Result<usize, ConnectionError>
Source§fn prune_icebox(&self) -> Result<usize, ConnectionError>
fn prune_icebox(&self) -> Result<usize, ConnectionError>
Source§impl<C: ConnectionExt> QueryIdentity for DbConnection<C>
impl<C: ConnectionExt> QueryIdentity for DbConnection<C>
fn queue_key_package_rotation(&self) -> Result<(), StorageError>
fn reset_key_package_rotation_queue( &self, rotation_interval_ns: i64, ) -> Result<(), StorageError>
fn is_identity_needs_rotation(&self) -> Result<bool, StorageError>
Source§impl<C: ConnectionExt> QueryIdentityCache for DbConnection<C>
impl<C: ConnectionExt> QueryIdentityCache for DbConnection<C>
Source§fn fetch_cached_inbox_ids<T>(
&self,
identifiers: &[T],
) -> Result<HashMap<String, String>, StorageError>
fn fetch_cached_inbox_ids<T>( &self, identifiers: &[T], ) -> Result<HashMap<String, String>, StorageError>
Returns a HashMap of WalletAddress -> InboxId
fn cache_inbox_id<T, S>( &self, identifier: &T, inbox_id: S, ) -> Result<(), StorageError>
Source§impl<C: ConnectionExt> QueryIdentityUpdates for DbConnection<C>
impl<C: ConnectionExt> QueryIdentityUpdates for DbConnection<C>
Source§fn get_identity_updates<InboxId: AsRef<str>>(
&self,
inbox_id: InboxId,
from_sequence_id: Option<i64>,
to_sequence_id: Option<i64>,
) -> Result<Vec<StoredIdentityUpdate>, ConnectionError>
fn get_identity_updates<InboxId: AsRef<str>>( &self, inbox_id: InboxId, from_sequence_id: Option<i64>, to_sequence_id: Option<i64>, ) -> Result<Vec<StoredIdentityUpdate>, ConnectionError>
Returns all identity updates for the given inbox ID up to the provided sequence_id.
Returns updates greater than from_sequence_id and less than or equal to to_sequence_id
Source§fn insert_or_ignore_identity_updates(
&self,
updates: &[StoredIdentityUpdate],
) -> Result<(), ConnectionError>
fn insert_or_ignore_identity_updates( &self, updates: &[StoredIdentityUpdate], ) -> Result<(), ConnectionError>
Batch insert identity updates, ignoring duplicates.
Source§fn get_latest_sequence_id(
&self,
inbox_ids: &[&str],
) -> Result<HashMap<String, i64>, ConnectionError>
fn get_latest_sequence_id( &self, inbox_ids: &[&str], ) -> Result<HashMap<String, i64>, ConnectionError>
Given a list of inbox_ids return a HashMap of each inbox ID -> highest known sequence ID
fn get_latest_sequence_id_for_inbox( &self, inbox_id: &str, ) -> Result<i64, ConnectionError>
Source§fn count_inbox_updates(
&self,
inbox_ids: &[&str],
) -> Result<HashMap<String, i64>, ConnectionError>
fn count_inbox_updates( &self, inbox_ids: &[&str], ) -> Result<HashMap<String, i64>, ConnectionError>
Source§impl<C: ConnectionExt> QueryKeyPackageHistory for DbConnection<C>
impl<C: ConnectionExt> QueryKeyPackageHistory for DbConnection<C>
fn store_key_package_history_entry( &self, key_package_hash_ref: Vec<u8>, post_quantum_public_key: Option<Vec<u8>>, ) -> Result<StoredKeyPackageHistoryEntry, StorageError>
fn find_key_package_history_entry_by_hash_ref( &self, hash_ref: Vec<u8>, ) -> Result<StoredKeyPackageHistoryEntry, StorageError>
fn find_key_package_history_entries_before_id( &self, id: i32, ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>
fn mark_key_package_before_id_to_be_deleted( &self, id: i32, ) -> Result<(), StorageError>
fn get_expired_key_packages( &self, ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>
fn delete_key_package_history_up_to_id( &self, id: i32, ) -> Result<(), StorageError>
fn delete_key_package_entry_with_id(&self, id: i32) -> Result<(), StorageError>
Source§impl<C: ConnectionExt> QueryKeyStoreEntry for DbConnection<C>
impl<C: ConnectionExt> QueryKeyStoreEntry for DbConnection<C>
fn insert_or_update_key_store_entry( &self, key: Vec<u8>, value: Vec<u8>, ) -> Result<(), StorageError>
Source§impl<C: ConnectionExt> QueryLocalCommitLog for DbConnection<C>
impl<C: ConnectionExt> QueryLocalCommitLog for DbConnection<C>
fn get_group_logs( &self, group_id: &[u8], ) -> Result<Vec<LocalCommitLog>, ConnectionError>
fn get_local_commit_log_after_cursor( &self, group_id: &[u8], after_cursor: i64, order: LocalCommitLogOrder, ) -> Result<Vec<LocalCommitLog>, ConnectionError>
fn get_latest_log_for_group( &self, group_id: &[u8], ) -> Result<Option<LocalCommitLog>, ConnectionError>
fn get_local_commit_log_cursor( &self, group_id: &[u8], ) -> Result<Option<i32>, ConnectionError>
Source§impl<C: ConnectionExt> QueryMessageDeletion for DbConnection<C>
impl<C: ConnectionExt> QueryMessageDeletion for DbConnection<C>
Source§fn get_message_deletion(
&self,
id: &[u8],
) -> Result<Option<StoredMessageDeletion>, ConnectionError>
fn get_message_deletion( &self, id: &[u8], ) -> Result<Option<StoredMessageDeletion>, ConnectionError>
Source§fn get_deletion_by_deleted_message_id(
&self,
deleted_message_id: &[u8],
) -> Result<Option<StoredMessageDeletion>, ConnectionError>
fn get_deletion_by_deleted_message_id( &self, deleted_message_id: &[u8], ) -> Result<Option<StoredMessageDeletion>, ConnectionError>
Source§fn get_deletions_for_messages(
&self,
message_ids: Vec<Vec<u8>>,
) -> Result<Vec<StoredMessageDeletion>, ConnectionError>
fn get_deletions_for_messages( &self, message_ids: Vec<Vec<u8>>, ) -> Result<Vec<StoredMessageDeletion>, ConnectionError>
Source§fn get_group_deletions(
&self,
group_id: &[u8],
) -> Result<Vec<StoredMessageDeletion>, ConnectionError>
fn get_group_deletions( &self, group_id: &[u8], ) -> Result<Vec<StoredMessageDeletion>, ConnectionError>
Source§fn is_message_deleted(&self, message_id: &[u8]) -> Result<bool, ConnectionError>
fn is_message_deleted(&self, message_id: &[u8]) -> Result<bool, ConnectionError>
Source§impl<C: ConnectionExt> QueryMigrations for DbConnection<C>
impl<C: ConnectionExt> QueryMigrations for DbConnection<C>
Source§fn applied_migrations(&self) -> Result<Vec<String>, ConnectionError>
fn applied_migrations(&self) -> Result<Vec<String>, ConnectionError>
Source§fn available_migrations(&self) -> Result<Vec<String>, ConnectionError>
fn available_migrations(&self) -> Result<Vec<String>, ConnectionError>
Source§fn rollback_to_version(
&self,
version: &str,
) -> Result<Vec<String>, ConnectionError>
fn rollback_to_version( &self, version: &str, ) -> Result<Vec<String>, ConnectionError>
Source§fn run_migration(&self, name: &str) -> Result<(), ConnectionError>
fn run_migration(&self, name: &str) -> Result<(), ConnectionError>
Source§fn revert_migration(&self, name: &str) -> Result<(), ConnectionError>
fn revert_migration(&self, name: &str) -> Result<(), ConnectionError>
Source§fn run_pending_migrations(&self) -> Result<Vec<String>, ConnectionError>
fn run_pending_migrations(&self) -> Result<Vec<String>, ConnectionError>
Source§impl<C: ConnectionExt> QueryPendingRemove for DbConnection<C>
impl<C: ConnectionExt> QueryPendingRemove for DbConnection<C>
fn get_pending_remove_users( &self, group_id: &[u8], ) -> Result<Vec<String>, ConnectionError>
fn get_user_pending_remove_status( &self, group_id: &[u8], inbox_id: &str, ) -> Result<bool, ConnectionError>
fn delete_pending_remove_users( &self, group_id: &[u8], inbox_ids: Vec<String>, ) -> Result<usize, ConnectionError>
Source§impl<C: ConnectionExt> QueryReaddStatus for DbConnection<C>
impl<C: ConnectionExt> QueryReaddStatus for DbConnection<C>
fn get_readd_status( &self, group_id: &[u8], installation_id: &[u8], ) -> Result<Option<ReaddStatus>, ConnectionError>
fn is_awaiting_readd( &self, group_id: &[u8], installation_id: &[u8], ) -> Result<bool, ConnectionError>
Source§fn update_requested_at_sequence_id(
&self,
group_id: &[u8],
installation_id: &[u8],
sequence_id: i64,
) -> Result<(), ConnectionError>
fn update_requested_at_sequence_id( &self, group_id: &[u8], installation_id: &[u8], sequence_id: i64, ) -> Result<(), ConnectionError>
Source§fn update_responded_at_sequence_id(
&self,
group_id: &[u8],
installation_id: &[u8],
sequence_id: i64,
) -> Result<(), ConnectionError>
fn update_responded_at_sequence_id( &self, group_id: &[u8], installation_id: &[u8], sequence_id: i64, ) -> Result<(), ConnectionError>
fn delete_other_readd_statuses( &self, group_id: &[u8], self_installation_id: &[u8], ) -> Result<(), ConnectionError>
fn delete_readd_statuses( &self, group_id: &[u8], installation_ids: HashSet<Vec<u8>>, ) -> Result<(), ConnectionError>
fn get_readds_awaiting_response( &self, group_id: &[u8], self_installation_id: &[u8], ) -> Result<Vec<ReaddStatus>, ConnectionError>
Source§impl<C: ConnectionExt> QueryRefreshState for DbConnection<C>
impl<C: ConnectionExt> QueryRefreshState for DbConnection<C>
fn get_refresh_state<EntityId: AsRef<[u8]>>( &self, entity_id: EntityId, entity_kind: EntityKind, originator_id: u32, ) -> Result<Option<RefreshState>, StorageError>
fn get_last_cursor_for_originators<Id: AsRef<[u8]>>( &self, id: Id, entity_kind: EntityKind, originator_ids: &[u32], ) -> Result<Vec<Cursor>, StorageError>
fn get_last_cursor_for_ids<Id: AsRef<[u8]>>( &self, ids: &[Id], entities: &[EntityKind], ) -> Result<HashMap<Vec<u8>, GlobalCursor>, StorageError>
fn update_cursor<Id: AsRef<[u8]>>( &self, entity_id: Id, entity_kind: EntityKind, cursor: Cursor, ) -> Result<bool, StorageError>
fn get_remote_log_cursors( &self, conversation_ids: &[&Vec<u8>], ) -> Result<HashMap<Vec<u8>, Cursor>, ConnectionError>
fn lowest_common_cursor( &self, topics: &[&Topic], ) -> Result<GlobalCursor, StorageError>
fn lowest_common_cursor_combined( &self, topics: &[&Topic], ) -> Result<GlobalCursor, StorageError>
fn latest_cursor_for_id<Id: AsRef<[u8]>>( &self, entity_id: Id, entities: &[EntityKind], originators: Option<&[&OriginatorId]>, ) -> Result<GlobalCursor, StorageError>
fn latest_cursor_combined<Id: AsRef<[u8]>>( &self, entity_id: Id, entities: &[EntityKind], originators: Option<&[&OriginatorId]>, ) -> Result<GlobalCursor, StorageError>
fn get_last_cursor_for_originator<Id: AsRef<[u8]>>( &self, id: Id, entity_kind: EntityKind, originator_id: u32, ) -> Result<Cursor, StorageError>
Source§impl<C: ConnectionExt> QueryRemoteCommitLog for DbConnection<C>
impl<C: ConnectionExt> QueryRemoteCommitLog for DbConnection<C>
fn get_latest_remote_log_for_group( &self, group_id: &[u8], ) -> Result<Option<RemoteCommitLog>, ConnectionError>
fn get_remote_commit_log_after_cursor( &self, group_id: &[u8], after_cursor: i64, order: RemoteCommitLogOrder, ) -> Result<Vec<RemoteCommitLog>, ConnectionError>
Source§impl<C: ConnectionExt> QueryTasks for DbConnection<C>
impl<C: ConnectionExt> QueryTasks for DbConnection<C>
fn create_task(&self, task: NewTask) -> Result<Task, StorageError>
fn get_tasks(&self) -> Result<Vec<Task>, StorageError>
fn get_next_task(&self) -> Result<Option<Task>, StorageError>
fn update_task( &self, id: i32, attempts: i32, last_attempted_at_ns: i64, next_attempt_at_ns: i64, ) -> Result<Task, StorageError>
fn delete_task(&self, id: i32) -> Result<bool, StorageError>
Source§impl<C: ConnectionExt> ReadOnly for DbConnection<C>
impl<C: ConnectionExt> ReadOnly for DbConnection<C>
fn enable_readonly(&self) -> Result<(), StorageError>
fn disable_readonly(&self) -> Result<(), StorageError>
Source§impl<T, C> Store<DbConnection<C>> for Vec<T>where
T: Store<DbConnection<C>>,
impl<T, C> Store<DbConnection<C>> for Vec<T>where
T: Store<DbConnection<C>>,
Auto Trait Implementations§
impl<C> Freeze for DbConnection<C>where
C: Freeze,
impl<C> RefUnwindSafe for DbConnection<C>where
C: RefUnwindSafe,
impl<C> Send for DbConnection<C>where
C: Send,
impl<C> Sync for DbConnection<C>where
C: Sync,
impl<C> Unpin for DbConnection<C>where
C: Unpin,
impl<C> UnwindSafe for DbConnection<C>where
C: UnwindSafe,
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
§impl<T> AnySync for T
impl<T> AnySync for T
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
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§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>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<C> Fetch<IdentityCache> for Cwhere
C: ConnectionExt,
impl<C> Fetch<IdentityCache> for Cwhere
C: ConnectionExt,
type Key = ()
fn fetch( &self, _key: &<C as Fetch<IdentityCache>>::Key, ) -> Result<Option<IdentityCache>, StorageError>
Source§impl<C> Fetch<PendingRemove> for Cwhere
C: ConnectionExt,
impl<C> Fetch<PendingRemove> for Cwhere
C: ConnectionExt,
type Key = ()
fn fetch( &self, _key: &<C as Fetch<PendingRemove>>::Key, ) -> Result<Option<PendingRemove>, StorageError>
Source§impl<C> Fetch<StoredAssociationState> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredAssociationState> for Cwhere
C: ConnectionExt,
type Key = (String, i64)
fn fetch( &self, key: &<C as Fetch<StoredAssociationState>>::Key, ) -> Result<Option<StoredAssociationState>, StorageError>
Source§impl<C> Fetch<StoredGroup> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredGroup> for Cwhere
C: ConnectionExt,
type Key = Vec<u8>
fn fetch( &self, key: &<C as Fetch<StoredGroup>>::Key, ) -> Result<Option<StoredGroup>, StorageError>
Source§impl<C> Fetch<StoredGroupIntent> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredGroupIntent> for Cwhere
C: ConnectionExt,
type Key = i32
fn fetch( &self, key: &<C as Fetch<StoredGroupIntent>>::Key, ) -> Result<Option<StoredGroupIntent>, StorageError>
Source§impl<C> Fetch<StoredGroupMessage> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredGroupMessage> for Cwhere
C: ConnectionExt,
type Key = Vec<u8>
fn fetch( &self, key: &<C as Fetch<StoredGroupMessage>>::Key, ) -> Result<Option<StoredGroupMessage>, StorageError>
Source§impl<C> Fetch<StoredIdentity> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredIdentity> for Cwhere
C: ConnectionExt,
type Key = ()
fn fetch( &self, _key: &<C as Fetch<StoredIdentity>>::Key, ) -> Result<Option<StoredIdentity>, StorageError>
Source§impl<C> Fetch<StoredKeyStoreEntry> for Cwhere
C: ConnectionExt,
impl<C> Fetch<StoredKeyStoreEntry> for Cwhere
C: ConnectionExt,
type Key = Vec<u8>
fn fetch( &self, key: &<C as Fetch<StoredKeyStoreEntry>>::Key, ) -> Result<Option<StoredKeyStoreEntry>, StorageError>
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoSql for T
impl<T> IntoSql for T
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.