Skip to main content

Server

Struct Server 

Source
pub struct Server {
    pub inner: Arc<Inner>,
    pub core: Arc<Core>,
}

Fields§

§inner: Arc<Inner>§core: Arc<Core>

Implementations§

Source§

impl Server

Source

pub async fn email_to_id( &self, directory: &Directory, email: &str, session_id: u64, ) -> Result<Option<u32>>

Source

pub async fn rcpt( &self, directory: &Directory, email: &str, session_id: u64, ) -> Result<RcptType>

Source

pub async fn vrfy( &self, directory: &Directory, address: &str, session_id: u64, ) -> Result<Vec<String>>

Source

pub async fn expn( &self, directory: &Directory, address: &str, session_id: u64, ) -> Result<Vec<String>>

Source§

impl Server

Source

pub async fn get_access_token( &self, principal: impl Into<PrincipalOrId>, ) -> Result<Arc<AccessToken>>

Source

pub async fn invalidate_principal_caches( &self, changed_principals: ChangedPrincipals, )

Source§

impl Server

Source

pub async fn introspect_access_token( &self, token: &str, access_token: &AccessToken, ) -> Result<OAuthIntrospect>

Source§

impl Server

Source

pub fn issue_id_token( &self, subject: impl Into<String>, issuer: impl Into<String>, audience: impl Into<String>, claims: StandardClaims, ) -> Result<String>

Source§

impl Server

Source

pub async fn encode_access_token( &self, grant_type: GrantType, account_id: u32, client_id: &str, expiry_in: u64, ) -> Result<String>

Source

pub async fn validate_access_token( &self, expected_grant_type: Option<GrantType>, token_: &str, ) -> Result<TokenInfo>

Source

pub async fn password_hash(&self, account_id: u32) -> Result<String>

Source§

impl Server

Source

pub async fn is_http_authenticated_request_allowed( &self, access_token: &AccessToken, ) -> Result<Option<InFlight>>

Source

pub async fn is_http_anonymous_request_allowed( &self, addr: &IpAddr, ) -> Result<()>

Source

pub fn is_upload_allowed( &self, access_token: &AccessToken, ) -> Result<Option<InFlight>>

Source§

impl Server

Source

pub async fn get_role_permissions( &self, role_id: u32, ) -> Result<Arc<RolePermissions>>

Source§

impl Server

Source

pub async fn authenticate( &self, req: &AuthRequest<'_>, ) -> Result<Arc<AccessToken>>

Source§

impl Server

Source§

impl Server

Source

pub fn store(&self) -> &Store

Source

pub fn blob_store(&self) -> &BlobStore

Source

pub fn search_store(&self) -> &SearchStore

Source

pub fn in_memory_store(&self) -> &InMemoryStore

Source

pub fn directory(&self) -> &Directory

Source

pub fn get_directory(&self, name: &str) -> Option<&Arc<Directory>>

Source

pub fn get_directory_or_default( &self, name: &str, session_id: u64, ) -> &Arc<Directory>

Source

pub fn get_in_memory_store(&self, name: &str) -> Option<&InMemoryStore>

Source

pub fn get_in_memory_store_or_default( &self, name: &str, session_id: u64, ) -> &InMemoryStore

Source

pub fn get_data_store(&self, name: &str, session_id: u64) -> &Store

Source

pub fn get_arc_sealer( &self, name: &str, session_id: u64, ) -> Option<Arc<ArcSealer>>

Source

pub fn get_dkim_signer( &self, name: &str, session_id: u64, ) -> Option<Arc<DkimSigner>>

Source

pub fn get_trusted_sieve_script( &self, name: &str, session_id: u64, ) -> Option<&Arc<Sieve>>

Source

pub fn get_untrusted_sieve_script( &self, name: &str, session_id: u64, ) -> Option<&Arc<Sieve>>

Source

pub fn get_route_or_default( &self, name: &str, session_id: u64, ) -> &RoutingStrategy

Source

pub fn get_virtual_queue_or_default(&self, name: &QueueName) -> &VirtualQueue

Source

pub fn get_queue_or_default( &self, name: &str, session_id: u64, ) -> &QueueStrategy

Source

pub fn get_tls_or_default(&self, name: &str, session_id: u64) -> &TlsStrategy

Source

pub fn get_connection_or_default( &self, name: &str, session_id: u64, ) -> &ConnectionStrategy

Source

pub async fn get_used_quota(&self, account_id: u32) -> Result<i64>

Source

pub async fn has_available_quota( &self, quotas: &ResourceToken, item_size: u64, ) -> Result<()>

Source

pub async fn get_resource_token( &self, access_token: &AccessToken, account_id: u32, ) -> Result<ResourceToken>

Source

pub async fn archives<I, CB>( &self, account_id: u32, collection: Collection, documents: &I, cb: CB, ) -> Result<()>

Source

pub async fn all_archives<CB>( &self, account_id: u32, collection: Collection, field: u8, cb: CB, ) -> Result<()>
where CB: FnMut(u32, Archive<AlignedBytes>) -> Result<()> + Send + Sync,

Source

pub async fn document_ids( &self, account_id: u32, collection: Collection, field: impl Into<u8>, ) -> Result<RoaringBitmap>

Source

pub async fn document_exists( &self, account_id: u32, collection: Collection, field: impl Into<u8>, filter: impl AsRef<[u8]>, ) -> Result<bool>

Source

pub async fn document_ids_matching( &self, account_id: u32, collection: Collection, field: impl Into<u8>, filter: impl AsRef<[u8]>, ) -> Result<RoaringBitmap>

Source

pub fn notify_task_queue(&self)

Source

pub async fn total_queued_messages(&self) -> Result<u64>

Source

pub fn generate_snowflake_id(&self) -> u64

Source

pub async fn commit_batch(&self, builder: BatchBuilder) -> Result<AssignedIds>

Source

pub async fn delete_changes( &self, account_id: u32, max_entries: Option<usize>, max_duration: Option<Duration>, ) -> Result<()>

Source

pub async fn broadcast_push_notification( &self, notification: PushNotification, ) -> bool

Source

pub async fn cluster_broadcast(&self, event: BroadcastEvent)

Source

pub async fn put_jmap_blob( &self, account_id: u32, data: &[u8], ) -> Result<BlobId>

Source

pub async fn put_temporary_blob( &self, account_id: u32, data: &[u8], hold_for: u64, ) -> Result<(BlobHash, BlobOp)>

Source

pub async fn total_accounts(&self) -> Result<u64>

Source

pub async fn total_domains(&self) -> Result<u64>

Source

pub async fn spam_model_reload(&self) -> Result<()>

Source§

impl Server

Source

pub async fn dns_exists_mx(&self, entry: &str) -> Result<bool>

Source

pub async fn dns_exists_ip(&self, entry: &str) -> Result<bool>

Source

pub async fn dns_exists_ptr(&self, entry: &str) -> Result<bool>

Source

pub async fn dns_exists_ipv4(&self, entry: &str) -> Result<bool>

Source

pub async fn dns_exists_ipv6(&self, entry: &str) -> Result<bool>

Source§

impl Server

Source

pub async fn eval_if<'x, R: TryFrom<Variable<'x>>, V: ResolveVariable>( &'x self, if_block: &'x IfBlock, resolver: &'x V, session_id: u64, ) -> Option<R>

Source

pub async fn eval_expr<'x, R: TryFrom<Variable<'x>>, V: ResolveVariable>( &'x self, expr: &'x Expression, resolver: &'x V, expr_id: &str, session_id: u64, ) -> Option<R>

Source§

impl Server

Source

pub async fn renew(&self, provider: &AcmeProvider) -> Result<Duration>

Source§

impl Server

Source

pub async fn init_acme(&self, provider: &AcmeProvider) -> Result<Duration>

Source

pub fn has_acme_tls_providers(&self) -> bool

Source

pub fn has_acme_http_providers(&self) -> bool

Source§

impl Server

Source§

impl Server

Source

pub async fn is_rcpt_fail2banned(&self, ip: IpAddr, rcpt: &str) -> Result<bool>

Source

pub async fn is_scanner_fail2banned(&self, ip: IpAddr) -> Result<bool>

Source

pub async fn is_http_banned_path(&self, path: &str, ip: IpAddr) -> Result<bool>

Source

pub async fn is_loiter_fail2banned(&self, ip: IpAddr) -> Result<bool>

Source

pub async fn is_auth_fail2banned( &self, ip: IpAddr, login: Option<&str>, ) -> Result<bool>

Source

pub async fn block_ip(&self, ip: IpAddr) -> Result<()>

Source

pub fn has_auth_fail2ban(&self) -> bool

Source

pub fn is_ip_blocked(&self, ip: &IpAddr) -> bool

Source

pub fn is_ip_allowed(&self, ip: &IpAddr) -> bool

Source§

impl Server

Source

pub async fn reload_blocked_ips(&self) -> Result<ReloadResult>

Source

pub async fn reload_certificates(&self) -> Result<ReloadResult>

Source

pub async fn reload_lookups(&self) -> Result<ReloadResult>

Source

pub async fn reload(&self) -> Result<ReloadResult>

Source§

impl Server

Source

pub async fn refresh_acls( &self, acl_changes: &[AclGrant], current: Option<&[AclGrant]>, )

Source

pub async fn refresh_archived_acls( &self, acl_changes: &[AclGrant], acl_current: &[ArchivedAclGrant], )

Source§

impl Server

Source

pub async fn get_blob_section( &self, hash: &BlobHash, section: &BlobSection, ) -> Result<Option<Vec<u8>>>

Source§

impl Server

Source

pub async fn subscribe_push_manager( &self, access_token: &AccessToken, types: Bitmap<DataType>, ) -> Result<Receiver<PushNotification>>

Source§

impl Server

Source§

impl Server

Source

pub async fn process_alerts(&self) -> Option<Vec<AlertMessage>>

Source§

impl Server

Source

pub fn is_enterprise_edition(&self) -> bool

Source

pub fn licensed_accounts(&self) -> u32

Source

pub fn log_license_details(&self)

Source

pub async fn can_create_account(&self) -> Result<bool>

Source

pub async fn logo_resource( &self, domain: &str, ) -> Result<Option<Resource<Vec<u8>>>>

Trait Implementations§

Source§

impl AnalyzeReport for Server

Source§

fn analyze_report(&self, message: Message<'static>, session_id: u64)

Source§

impl Authenticator for Server

Source§

async fn authenticate_headers( &self, req: &HttpRequest, session: &HttpSessionData, allow_api_access: bool, ) -> Result<(Option<InFlight>, Arc<AccessToken>)>

Source§

impl Autoconfig for Server

Source§

async fn handle_autoconfig_request( &self, req: &HttpRequest, ) -> Result<HttpResponse>

Source§

async fn handle_autodiscover_request( &self, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

async fn autoconfig_parameters<'x>( &'x self, emailaddress: &'x str, fail_if_invalid: bool, ) -> Result<(String, String, &'x str)>

Source§

impl BlobCopy for Server

Source§

async fn blob_copy( &self, request: CopyBlobRequest, access_token: &AccessToken, ) -> Result<CopyBlobResponse>

Source§

impl BlobDownload for Server

Source§

async fn blob_download( &self, blob_id: &BlobId, access_token: &AccessToken, ) -> Result<Option<Vec<u8>>>

Source§

async fn has_access_blob( &self, blob_id: &BlobId, access_token: &AccessToken, ) -> Result<bool>

Source§

impl BlobOperations for Server

Source§

async fn blob_get( &self, request: GetRequest<Blob>, access_token: &AccessToken, ) -> Result<GetResponse<Blob>>

Source§

async fn blob_lookup( &self, request: BlobLookupRequest, ) -> Result<BlobLookupResponse>

Source§

impl BlobUpload for Server

Source§

async fn blob_upload_many( &self, request: BlobUploadRequest, access_token: &AccessToken, ) -> Result<BlobUploadResponse>

Source§

async fn blob_upload( &self, account_id: Id, content_type: &str, data: &[u8], access_token: Arc<AccessToken>, ) -> Result<UploadResponse>

Source§

impl ChangesLookup for Server

Source§

async fn changes( &self, request: ChangesRequest, object: MethodObject, access_token: &AccessToken, ) -> Result<IntermediateChangesResponse>

Source§

impl ClientRegistrationHandler for Server

Source§

async fn handle_oauth_registration_request( &self, req: &mut HttpRequest, session: HttpSessionData, ) -> Result<HttpResponse>

Source§

async fn validate_client_registration( &self, client_id: &str, redirect_uri: Option<&str>, account_id: u32, ) -> Result<Option<ErrorType>>

Source§

impl Clone for Server

Source§

fn clone(&self) -> Server

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CryptoHandler for Server

Source§

async fn handle_crypto_get( &self, access_token: Arc<AccessToken>, ) -> Result<HttpResponse>

Source§

async fn handle_crypto_post( &self, access_token: Arc<AccessToken>, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

impl DavRequestHandler for Server

Source§

async fn handle_dav_request( &self, request: HttpRequest, access_token: Arc<AccessToken>, session: &HttpSessionData, resource: DavResourceName, method: DavMethod, ) -> HttpResponse

Source§

impl DkimManagement for Server

Source§

async fn handle_manage_dkim( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

async fn handle_get_public_key(&self, path: Vec<&str>) -> Result<HttpResponse>

Source§

async fn handle_create_signature( &self, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

async fn create_dkim_key( &self, algo: Algorithm, id: impl AsRef<str>, domain: impl Into<String>, selector: impl Into<String>, ) -> Result<()>

Source§

impl DmarcReporting for Server

Source§

async fn send_dmarc_aggregate_report(&self, event: ReportEvent)

Source§

async fn generate_dmarc_aggregate_report( &self, event: &ReportEvent, rua: &mut Vec<URI>, serialized_size: Option<&mut Serializer<SerializedSize>>, span_id: u64, ) -> Result<Option<Report>>

Source§

async fn delete_dmarc_report(&self, event: ReportEvent)

Source§

async fn schedule_dmarc(&self, event: Box<DmarcEvent>)

Source§

impl DnsLookup for Server

Source§

async fn ip_lookup( &self, key: &str, strategy: IpLookupStrategy, max_results: usize, ) -> Result<Vec<IpAddr>>

Source§

async fn resolve_host( &self, remote_host: &NextHop<'_>, envelope: &impl ResolveVariable, ) -> Result<IpLookupResult, Status<HostResponse<Box<str>>, ErrorDetails>>

Source§

impl DnsManagement for Server

Source§

async fn handle_manage_dns( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

async fn build_dns_records(&self, domain_name: &str) -> Result<Vec<DnsRecord>>

Source§

impl EmailCopy for Server

Source§

async fn copy_message( &self, from_account_id: u32, from_message_id: u32, resource_token: &ResourceToken, mailboxes: Vec<u32>, keywords: Vec<Keyword>, received_at: Option<u64>, session_id: u64, ) -> Result<Result<IngestedEmail, CopyMessageError>>

Source§

impl EmailDeletion for Server

Source§

async fn emails_delete( &self, account_id: u32, tenant_id: Option<u32>, batch: &mut BatchBuilder, document_ids: RoaringBitmap, ) -> Result<RoaringBitmap>

Source§

async fn purge_accounts(&self, use_roles: bool)

Source§

async fn purge_account(&self, account_id: u32)

Source§

async fn emails_auto_expunge( &self, account_id: u32, hold_period: u64, ) -> Result<()>

Source§

async fn purge_email_submissions( &self, account_id: u32, hold_period: u64, ) -> Result<()>

Source§

impl EmailGet for Server

Source§

async fn email_get( &self, request: GetRequest<Email>, access_token: &AccessToken, ) -> Result<GetResponse<Email>>

Source§

impl EmailImport for Server

Source§

async fn email_import( &self, request: ImportEmailRequest, access_token: &AccessToken, session: &HttpSessionData, ) -> Result<ImportEmailResponse>

Source§

impl EmailIngest for Server

Source§

async fn email_ingest(&self, params: IngestEmail<'_>) -> Result<IngestedEmail>

Source§

async fn find_thread_id( &self, account_id: u32, thread_name: &str, message_ids: &[CheekyHash], ) -> Result<ThreadResult>

Source§

async fn assign_email_ids( &self, account_id: u32, mailbox_ids: impl IntoIterator<Item = u32> + Sync + Send, generate_email_id: bool, ) -> Result<impl Iterator<Item = u32> + 'static>

Source§

async fn add_account_spam_sample( &self, batch: &mut BatchBuilder, account_id: u32, document_id: u32, is_spam: bool, span_id: u64, ) -> Result<()>

Source§

fn add_spam_sample( &self, batch: &mut BatchBuilder, hash: BlobHash, is_spam: bool, hold_sample: bool, span_id: u64, )

Source§

impl EmailParse for Server

Source§

async fn email_parse( &self, request: ParseRequest<Email>, access_token: &AccessToken, ) -> Result<ParseResponse<Email>>

Source§

impl EmailQuery for Server

Source§

async fn email_query( &self, request: QueryRequest<Email>, access_token: &AccessToken, ) -> Result<QueryResponse>

Source§

impl EmailSearchSnippet for Server

Source§

impl EmailSet for Server

Source§

async fn email_set( &self, request: SetRequest<'_, Email>, access_token: &AccessToken, session: &HttpSessionData, ) -> Result<SetResponse<Email>>

Source§

impl EmailSubmissionGet for Server

Source§

impl EmailSubmissionQuery for Server

Source§

impl EmailSubmissionSet for Server

Source§

impl EventSourceHandler for Server

Source§

async fn handle_event_source( &self, req: HttpRequest, access_token: Arc<AccessToken>, ) -> Result<HttpResponse>

Source§

impl FormHandler for Server

Source§

async fn handle_contact_form( &self, session: &HttpSessionData, form: &ContactForm, form_data: FormData, ) -> Result<HttpResponse>

Source§

impl GroupwareCache for Server

Source§

async fn fetch_dav_resources( &self, access_token: &AccessToken, account_id: u32, collection: SyncCollection, ) -> Result<Arc<DavResources>>

Source§

async fn create_default_addressbook( &self, access_token: &AccessToken, account_id: u32, account_name: &str, ) -> Result<Option<u32>>

Source§

async fn create_default_calendar( &self, access_token: &AccessToken, account_id: u32, account_name: &str, ) -> Result<Option<u32>>

Source§

async fn get_or_create_default_calendar( &self, access_token: &AccessToken, account_id: u32, ) -> Result<Option<u32>>

Source§

fn cached_dav_resources( &self, account_id: u32, collection: SyncCollection, ) -> Option<Arc<DavResources>>

Source§

impl HasQueueQuota for Server

Source§

async fn has_quota(&self, message: &mut MessageWrapper) -> bool

Source§

async fn check_quota<'x>( &'x self, quota: &'x QueueQuota, envelope: &impl ResolveVariable, size: u64, id: u64, refs: &mut Vec<QuotaKey>, session_id: u64, ) -> bool

Source§

impl IdentityGet for Server

Source§

impl IdentitySet for Server

Source§

async fn identity_set( &self, request: SetRequest<'_, Identity>, access_token: &AccessToken, ) -> Result<SetResponse<Identity>>

Source§

impl IsAllowed for Server

Source§

async fn is_allowed<'x>( &'x self, throttle: &'x QueueRateLimiter, envelope: &impl ResolveVariable, session_id: u64, ) -> Result<(), u64>

Source§

impl ItipAutoExpunge for Server

Source§

async fn itip_ids(&self, account_id: u32) -> Result<RoaringBitmap>

Source§

async fn itip_auto_expunge( &self, account_id: u32, hold_period: u64, ) -> Result<()>

Source§

impl ItipIngest for Server

Source§

async fn itip_ingest( &self, access_token: &AccessToken, resource_token: &ResourceToken, sender: &str, recipient: &str, itip_message: &str, ) -> Result<Option<ItipMessage<ICalendar>>, ItipIngestError>

Source§

async fn http_rsvp_url( &self, account_id: u32, document_id: u32, attendee: &str, ) -> Option<ItipRsvpUrl>

Source§

async fn http_rsvp_handle(&self, query: &str, language: &str) -> Result<String>

Source§

impl JmapAcl for Server

Source§

async fn acl_validate( &self, grants: &[AclGrant], ) -> Result<(), ShareValidationError>

Source§

impl JmapEmailCopy for Server

Source§

async fn email_copy<'x>( &self, request: CopyRequest<'x, Email>, access_token: &AccessToken, next_call: &mut Option<Call<RequestMethod<'x>>>, session: &HttpSessionData, ) -> Result<CopyResponse<Email>>

Source§

impl LockReport for Server

Source§

async fn try_lock_report(&self, key: &[u8]) -> bool

Source§

async fn unlock_report(&self, key: &[u8])

Source§

impl LogManagement for Server

Source§

async fn handle_view_logs( &self, req: &HttpRequest, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl MailDelivery for Server

Source§

impl MailboxDestroy for Server

Source§

async fn mailbox_destroy( &self, account_id: u32, document_id: u32, access_token: &AccessToken, remove_emails: bool, ) -> Result<Result<Option<u64>, MailboxDestroyError>>

Source§

impl MailboxFnc for Server

Source§

async fn create_system_folders(&self, account_id: u32) -> Result<()>

Source§

async fn mailbox_create_path( &self, account_id: u32, path: &str, ) -> Result<Option<u32>>

Source§

impl MailboxGet for Server

Source§

async fn mailbox_get( &self, request: GetRequest<Mailbox>, access_token: &AccessToken, ) -> Result<GetResponse<Mailbox>>

Source§

impl MailboxQuery for Server

Source§

async fn mailbox_query( &self, request: QueryRequest<Mailbox>, access_token: &AccessToken, ) -> Result<QueryResponse>

Source§

impl MailboxSet for Server

Source§

impl ManageReload for Server

Source§

async fn handle_manage_reload( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

async fn handle_manage_update( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl ManageReports for Server

Source§

async fn handle_manage_reports( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl ManageSettings for Server

Source§

async fn handle_manage_settings( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl ManageSpamHandler for Server

Source§

async fn handle_manage_spam( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, session: &HttpSessionData, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl ManageStore for Server

Source§

async fn handle_manage_store( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, session: &HttpSessionData, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

async fn housekeeper_request( &self, event: HousekeeperEvent, ) -> Result<HttpResponse>

Source§

impl ManagementApi for Server

Source§

async fn handle_api_manage_request( &self, req: &mut HttpRequest, access_token: Arc<AccessToken>, session: &HttpSessionData, ) -> Result<HttpResponse>

Source§

impl MergeThreadsTask for Server

Source§

async fn merge_threads( &self, account_id: u32, threads: &MergeThreadIds<AHashSet<u32>>, ) -> bool

Source§

impl MessageCacheFetch for Server

Source§

async fn get_cached_messages( &self, account_id: u32, ) -> Result<Arc<MessageStoreCache>>

Source§

impl MtaStsLookup for Server

Source§

async fn lookup_mta_sts_policy( &self, domain: &str, timeout: Duration, ) -> Result<Arc<Policy>, Error>

Source§

impl OAuthApiHandler for Server

Source§

async fn handle_oauth_api_request( &self, access_token: Arc<AccessToken>, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

async fn handle_device_auth( &self, req: &mut HttpRequest, session: HttpSessionData, ) -> Result<HttpResponse>

Source§

async fn handle_oauth_metadata( &self, req: HttpRequest, session: HttpSessionData, ) -> Result<HttpResponse>

Source§

impl OpenIdHandler for Server

Source§

impl ParseHttp for Server

Source§

impl PrincipalGet for Server

Source§

async fn principal_get( &self, request: GetRequest<Principal>, access_token: &AccessToken, ) -> Result<GetResponse<Principal>>

Source§

impl PrincipalManager for Server

Source§

async fn handle_manage_principal( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

async fn handle_account_auth_get( &self, access_token: Arc<AccessToken>, ) -> Result<HttpResponse>

Source§

async fn handle_account_auth_post( &self, req: &HttpRequest, access_token: Arc<AccessToken>, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

fn assert_supported_directory(&self, override_: bool) -> Result<()>

Source§

impl PrincipalQuery for Server

Source§

async fn principal_query( &self, request: QueryRequest<Principal>, access_token: &AccessToken, session: &HttpSessionData, ) -> Result<QueryResponse>

Source§

impl Purge for Server

Source§

async fn purge(&self, purge: PurgeType, store_idx: u32)

Source§

impl PushSubscriptionFetch for Server

Source§

impl PushSubscriptionSet for Server

Source§

impl QueryChanges for Server

Source§

impl QueueManagement for Server

Source§

async fn handle_manage_queue( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl QuotaGet for Server

Source§

async fn quota_get( &self, request: GetRequest<Quota>, access_token: &AccessToken, ) -> Result<GetResponse<Quota>>

Source§

impl QuotaQuery for Server

Source§

async fn quota_query( &self, request: QueryRequest<Quota>, access_token: &AccessToken, ) -> Result<QueryResponse>

Source§

impl ReindexIndexTask for Server

Source§

async fn reindex( &self, index: SearchIndex, account_id: Option<u32>, tenant_id: Option<u32>, ) -> Result<()>

Source§

impl RequestHandler for Server

Source§

async fn handle_jmap_request<'x>( &self, request: Request<'x>, access_token: Arc<AccessToken>, session: &HttpSessionData, ) -> Response<'x>

Source§

async fn handle_method_call<'x>( &self, method: RequestMethod<'x>, method_name: MethodName, access_token: &AccessToken, next_call: &mut Option<Call<RequestMethod<'x>>>, session: &HttpSessionData, ) -> Result<ResponseMethod<'x>>

Source§

impl RunScript for Server

Source§

async fn run_script( &self, script_id: String, script: Arc<Sieve>, params: ScriptParameters<'_>, ) -> ScriptResult

Source§

impl SendAlarmTask for Server

Source§

async fn send_alarm( &self, account_id: u32, document_id: u32, alarm: &CalendarAlarm, server_instance: Arc<ServerInstance>, ) -> bool

Source§

impl SendDsn for Server

Source§

async fn send_dsn(&self, message: &mut MessageWrapper)

Source§

async fn log_dsn(&self, message: &MessageWrapper)

Source§

impl SendImipTask for Server

Source§

async fn send_imip( &self, account_id: u32, document_id: u32, due: TaskEpoch, server_instance: Arc<ServerInstance>, ) -> bool

Source§

impl SessionHandler for Server

Source§

async fn handle_session_resource( &self, base_url: String, access_token: Arc<AccessToken>, ) -> Result<Session>

Source§

impl SieveScriptDelete for Server

Source§

async fn sieve_script_delete( &self, account_id: u32, document_id: u32, access_token: &AccessToken, batch: &mut BatchBuilder, ) -> Result<bool>

Source§

impl SieveScriptGet for Server

Source§

impl SieveScriptIngest for Server

Source§

async fn sieve_script_ingest( &self, access_token: &AccessToken, blob_hash: &BlobHash, raw_message: &[u8], envelope_from: &str, envelope_from_authenticated: bool, envelope_to: &IngestRecipient, session_id: u64, active_script: ActiveScript, autogenerated: &mut Vec<AutogeneratedMessage>, ) -> Result<IngestedEmail>

Source§

async fn sieve_script_get_active_id( &self, account_id: u32, ) -> Result<Option<u32>>

Source§

async fn sieve_script_get_active( &self, account_id: u32, ) -> Result<Option<ActiveScript>>

Source§

async fn sieve_script_get_by_name( &self, account_id: u32, name: &str, ) -> Result<Option<Sieve>>

Source§

async fn sieve_script_compile( &self, account_id: u32, document_id: u32, ) -> Result<Option<CompiledScript>>

Source§

impl SieveScriptQuery for Server

Source§

impl SieveScriptSet for Server

Source§

async fn sieve_script_set( &self, request: SetRequest<'_, Sieve>, access_token: &AccessToken, session: &HttpSessionData, ) -> Result<SetResponse<Sieve>>

Source§

async fn sieve_set_item<'x>( &self, changes_: Value<'_, SieveProperty, SieveValue>, update: Option<(u32, Archive<&'x ArchivedSieveScript>)>, ctx: &SetContext<'_>, session_id: u64, ) -> Result<Result<(ObjectIndexBuilder<&'x ArchivedSieveScript, SieveScript>, Option<Vec<u8>>), SetError<SieveProperty>>>

Source§

impl SieveScriptValidate for Server

Source§

impl SmtpReporting for Server

Source§

async fn send_report( &self, from_addr: &str, rcpts: impl Iterator<Item = impl AsRef<str> + Sync + Send> + Sync + Send, report: Vec<u8>, sign_config: &IfBlock, deliver_now: bool, parent_session_id: u64, )

Source§

async fn send_autogenerated( &self, from_addr: impl AsRef<str> + Sync + Send, rcpts: impl Iterator<Item = impl AsRef<str> + Sync + Send> + Sync + Send, raw_message: Vec<u8>, sign_config: Option<&IfBlock>, parent_session_id: u64, )

Source§

async fn schedule_report(&self, report: impl Into<ReportingEvent> + Sync + Send)

Source§

async fn sign_message( &self, message: &mut MessageWrapper, config: &IfBlock, bytes: &[u8], ) -> Option<Vec<u8>>

Source§

impl SmtpSpool for Server

Source§

fn new_message( &self, return_path: impl AsRef<str>, span_id: u64, ) -> MessageWrapper

Source§

async fn next_event(&self, queue: &mut Queue) -> QueuedMessages

Source§

async fn try_lock_event(&self, queue_id: QueueId, queue_name: QueueName) -> bool

Source§

async fn unlock_event(&self, queue_id: QueueId, queue_name: QueueName)

Source§

async fn read_message( &self, queue_id: QueueId, queue_name: QueueName, ) -> Option<MessageWrapper>

Source§

async fn read_message_archive( &self, id: QueueId, ) -> Result<Option<Archive<AlignedBytes>>>

Source§

impl SpamClassifier for Server

Source§

async fn spam_train(&self, retrain: bool) -> Result<()>

Source§

async fn spam_classify(&self, ctx: &mut SpamFilterContext<'_>) -> Result<()>

Source§

async fn spam_build_tokens<'x>( &self, ctx: &'x SpamFilterContext<'_>, ) -> Tokens<'x>

Source§

impl SpamFilterAnalyzeClassify for Server

Source§

impl SpamFilterAnalyzeDate for Server

Source§

impl SpamFilterAnalyzeDmarc for Server

Source§

impl SpamFilterAnalyzeDomain for Server

Source§

impl SpamFilterAnalyzeEhlo for Server

Source§

impl SpamFilterAnalyzeFrom for Server

Source§

impl SpamFilterAnalyzeHeaders for Server

Source§

impl SpamFilterAnalyzeHtml for Server

Source§

impl SpamFilterAnalyzeIp for Server

Source§

async fn spam_filter_analyze_ip(&self, ctx: &mut SpamFilterContext<'_>)

Source§

impl SpamFilterAnalyzeLlm for Server

Source§

async fn spam_filter_analyze_llm(&self, ctx: &mut SpamFilterContext<'_>)

Source§

impl SpamFilterAnalyzeMid for Server

Source§

impl SpamFilterAnalyzeMime for Server

Source§

impl SpamFilterAnalyzePyzor for Server

Source§

impl SpamFilterAnalyzeReceived for Server

Source§

impl SpamFilterAnalyzeRecipient for Server

Source§

impl SpamFilterAnalyzeReplyTo for Server

Source§

impl SpamFilterAnalyzeRules for Server

Source§

impl SpamFilterAnalyzeScore for Server

Source§

impl SpamFilterAnalyzeSubject for Server

Source§

impl SpamFilterAnalyzeUrl for Server

Source§

async fn spam_filter_analyze_url(&self, ctx: &mut SpamFilterContext<'_>)

Source§

impl SpamFilterInit for Server

Source§

fn spam_filter_init<'x>( &self, input: SpamFilterInput<'x>, ) -> SpamFilterContext<'x>

Source§

impl StateManager for Server

Source§

async fn get_state( &self, account_id: u32, collection: SyncCollection, ) -> Result<State>

Source§

async fn assert_state( &self, account_id: u32, collection: SyncCollection, if_in_state: &Option<State>, ) -> Result<State>

Source§

impl TelemetryApi for Server

Source§

async fn handle_telemetry_api_request( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, ) -> Result<HttpResponse>

Source§

impl ThreadGet for Server

Source§

async fn thread_get( &self, request: GetRequest<Thread>, ) -> Result<GetResponse<Thread>>

Source§

impl TlsReporting for Server

Source§

async fn send_tls_aggregate_report(&self, events: Vec<ReportEvent>)

Source§

async fn generate_tls_aggregate_report( &self, events: &[ReportEvent], rua: &mut Vec<ReportUri>, serialized_size: Option<&mut Serializer<SerializedSize>>, span_id: u64, ) -> Result<Option<TlsReport>>

Source§

async fn schedule_tls(&self, event: Box<TlsEvent>)

Source§

async fn delete_tls_report(&self, events: Vec<ReportEvent>)

Source§

impl TlsaLookup for Server

Source§

async fn tlsa_lookup<'x>( &self, key: impl IntoFqdn<'x> + Sync + Send, ) -> Result<Option<Arc<Tlsa>>>

Source§

impl TokenHandler for Server

Source§

async fn handle_token_request( &self, req: &mut HttpRequest, session: HttpSessionData, ) -> Result<HttpResponse>

Source§

async fn handle_token_introspect( &self, req: &mut HttpRequest, access_token: &AccessToken, session_id: u64, ) -> Result<HttpResponse>

Source§

async fn issue_token( &self, account_id: u32, client_id: &str, issuer: String, nonce: Option<String>, with_refresh_token: bool, with_id_token: bool, ) -> Result<OAuthResponse>

Source§

impl TroubleshootApi for Server

Source§

async fn handle_troubleshoot_api_request( &self, req: &HttpRequest, path: Vec<&str>, access_token: &AccessToken, body: Option<Vec<u8>>, ) -> Result<HttpResponse>

Source§

impl UndeleteApi for Server

Source§

async fn handle_undelete_api_request( &self, req: &HttpRequest, path: Vec<&str>, body: Option<Vec<u8>>, session: &HttpSessionData, ) -> Result<HttpResponse>

Source§

impl VacationResponseGet for Server

Source§

impl VacationResponseSet for Server

Source§

impl WebSocketHandler for Server

Source§

async fn handle_websocket_stream( &self, stream: WebSocketStream<TokioIo<Upgraded>>, access_token: Arc<AccessToken>, session: HttpSessionData, )

Source§

impl WebSocketUpgrade for Server

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more