SYMBOL INDEX (10791 symbols across 978 files) FILE: crates/cli/src/main.rs function main (line 30) | async fn main() -> std::io::Result<()> { function parse_credentials (line 84) | fn parse_credentials(credentials: &str) -> Credentials { function oauth (line 92) | async fn oauth(url: &str) -> Credentials { type Response (line 177) | pub enum Response { type ManagementApiError (line 185) | pub enum ManagementApiError { method into_jmap_client (line 195) | pub async fn into_jmap_client(self) -> jmap_client::client::Client { method http_request (line 209) | pub async fn http_request( method try_http_request (line 223) | pub async fn try_http_request( method fmt (line 294) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/cli/src/modules/account.rs method exec (line 20) | pub async fn exec(self, client: Client) { method display_principal (line 233) | pub async fn display_principal(&self, name: &str) { method list_principals (line 300) | pub async fn list_principals( type ListResponse (line 350) | struct ListResponse { method fmt (line 356) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/cli/src/modules/cli.rs type Cli (line 16) | pub struct Cli { type Commands (line 34) | pub enum Commands { type Client (line 77) | pub struct Client { type AccountCommands (line 84) | pub enum AccountCommands { type ListCommands (line 195) | pub enum ListCommands { type GroupCommands (line 262) | pub enum GroupCommands { type DomainCommands (line 329) | pub enum DomainCommands { type DkimCommands (line 358) | pub enum DkimCommands { type ImportCommands (line 379) | pub enum ImportCommands { type ExportCommands (line 411) | pub enum ExportCommands { type ServerCommands (line 427) | pub enum ServerCommands { type MailboxFormat (line 465) | pub enum MailboxFormat { type QueueCommands (line 475) | pub enum QueueCommands { type ReportCommands (line 549) | pub enum ReportCommands { type ReportFormat (line 578) | pub enum ReportFormat { function parse_datetime (line 587) | fn parse_datetime(arg: &str) -> Result { FILE: crates/cli/src/modules/database.rs type UpdateSettings (line 19) | pub enum UpdateSettings { method exec (line 36) | pub async fn exec(self, client: Client) { FILE: crates/cli/src/modules/dkim.rs type Algorithm (line 14) | pub enum Algorithm { type DkimSignature (line 23) | struct DkimSignature { method exec (line 36) | pub async fn exec(self, client: Client) { FILE: crates/cli/src/modules/domain.rs type DnsRecord (line 19) | struct DnsRecord { method exec (line 27) | pub async fn exec(self, client: Client) { FILE: crates/cli/src/modules/export.rs method exec (line 32) | pub async fn exec(self, client: Client) { function fetch_mailboxes (line 129) | pub async fn fetch_mailboxes( function export_mailboxes (line 189) | async fn export_mailboxes( function fetch_emails (line 205) | pub async fn fetch_emails( function export_emails (line 266) | async fn export_emails( function fetch_sieve_scripts (line 291) | pub async fn fetch_sieve_scripts( function export_sieve_scripts (line 353) | async fn export_sieve_scripts( function fetch_identities (line 377) | pub async fn fetch_identities(client: &jmap_client::client::Client) -> V... function export_identities (line 395) | async fn export_identities(client: &jmap_client::client::Client, path: &... function fetch_vacation_responses (line 402) | pub async fn fetch_vacation_responses( function export_vacation_responses (line 422) | async fn export_vacation_responses(client: &jmap_client::client::Client,... function write_file (line 434) | async fn write_file(path: &Path, name: &str, contents: Vec... FILE: crates/cli/src/modules/group.rs method exec (line 20) | pub async fn exec(self, client: Client) { FILE: crates/cli/src/modules/import.rs type Mailbox (line 44) | enum Mailbox { type MailboxId (line 51) | enum MailboxId<'x> { type Message (line 58) | struct Message { method exec (line 65) | pub async fn exec(self, client: Client) { function import_mailboxes (line 450) | async fn import_mailboxes( function import_emails (line 567) | async fn import_emails( function import_sieve_scripts (line 713) | async fn import_sieve_scripts( function import_identities (line 823) | async fn import_identities(client: &jmap_client::client::Client, path: &... function import_vacation_responses (line 897) | async fn import_vacation_responses(client: &jmap_client::client::Client,... function build_mailbox_tree (line 950) | fn build_mailbox_tree( function read_json (line 994) | async fn read_json(path: &Path, filename: &str) -> ... type Item (line 1010) | type Item = io::Result; method next (line 1012) | fn next(&mut self) -> Option { FILE: crates/cli/src/modules/list.rs method exec (line 20) | pub async fn exec(self, client: Client) { FILE: crates/cli/src/modules/mod.rs constant RETRY_ATTEMPTS (line 27) | const RETRY_ATTEMPTS: usize = 5; type Principal (line 30) | pub struct Principal { type Type (line 66) | pub enum Type { type PrincipalField (line 85) | pub enum PrincipalField { type List (line 105) | pub struct List { type Response (line 111) | pub struct Response { type PrincipalUpdate (line 117) | pub struct PrincipalUpdate { method set (line 142) | pub fn set(field: PrincipalField, value: PrincipalValue) -> PrincipalU... method add_item (line 150) | pub fn add_item(field: PrincipalField, value: PrincipalValue) -> Princ... method remove_item (line 158) | pub fn remove_item(field: PrincipalField, value: PrincipalValue) -> Pr... type PrincipalAction (line 124) | pub enum PrincipalAction { type PrincipalValue (line 135) | pub enum PrincipalValue { type UnwrapResult (line 167) | pub trait UnwrapResult { method unwrap_result (line 168) | fn unwrap_result(self, action: &str) -> T; function unwrap_result (line 172) | fn unwrap_result(self, message: &str) -> T { function unwrap_result (line 184) | fn unwrap_result(self, message: &str) -> T { function read_file (line 195) | pub fn read_file(path: &str) -> Vec { function name_to_id (line 216) | pub async fn name_to_id(client: &Client, name: &str) -> String { function host (line 239) | pub fn host(url: &str) -> Option<&str> { function is_localhost (line 245) | pub fn is_localhost(url: &str) -> bool { type OAuthResponse (line 249) | pub trait OAuthResponse { method property (line 250) | fn property(&self, name: &str) -> &str; method property (line 254) | fn property(&self, name: &str) -> &str { FILE: crates/cli/src/modules/queue.rs type Message (line 19) | pub struct Message { type Recipient (line 34) | pub struct Recipient { type Status (line 50) | pub enum Status { method status_short (line 447) | fn status_short(&self) -> &str { method status (line 456) | fn status(&self) -> &str { method details (line 465) | fn details(&self) -> &str { method exec (line 62) | pub async fn exec(self, client: Client) { method query_messages (line 372) | async fn query_messages( function deserialize_maybe_datetime (line 400) | fn deserialize_maybe_datetime<'de, D>(deserializer: D) -> Result(deserializer: D) -> Result Vec { FILE: crates/cli/src/modules/report.rs type Report (line 24) | pub enum Report { method domain (line 48) | pub fn domain(&self) -> &str { method type_ (line 55) | pub fn type_(&self) -> &str { method range_from (line 62) | pub fn range_from(&self) -> &DateTime { method range_to (line 69) | pub fn range_to(&self) -> &DateTime { method num_records (line 76) | pub fn num_records(&self) -> usize { method exec (line 89) | pub async fn exec(self, client: Client) { method id (line 243) | fn id(&self) -> &'static str { FILE: crates/common/build.rs function main (line 6) | fn main() { function parse_yaml (line 26) | fn parse_yaml(content: &str) -> HashMap> { function generate_locale_code (line 53) | fn generate_locale_code(locales: &HashMap Self { type Address (line 168) | struct Address<'x>(&'x str); method resolve_variable (line 171) | fn resolve_variable(&'_ self, _: u32) -> crate::expr::Variable<'_> { method resolve_global (line 175) | fn resolve_global(&self, _: &str) -> Variable<'_> { method to_subaddress (line 181) | pub async fn to_subaddress<'x, 'y: 'x>( method to_catch_all (line 209) | pub async fn to_catch_all<'x, 'y: 'x>( FILE: crates/common/src/auth/access_token.rs type PrincipalOrId (line 33) | pub enum PrincipalOrId { method from (line 385) | fn from(id: u32) -> Self { method from (line 391) | fn from(principal: Principal) -> Self { method id (line 397) | pub fn id(&self) -> u32 { method build_access_token_from_principal (line 39) | async fn build_access_token_from_principal( method build_access_token (line 220) | async fn build_access_token(&self, account_id: u32, revision: u64) -> tr... method get_access_token (line 247) | pub async fn get_access_token( method invalidate_principal_caches (line 282) | pub async fn invalidate_principal_caches(&self, changed_principals: Chan... method from_id (line 406) | pub fn from_id(primary_id: u32) -> Self { method with_access_to (line 413) | pub fn with_access_to(self, access_to: VecMap>) ... method with_permission (line 417) | pub fn with_permission(mut self, permission: Permission) -> Self { method with_tenant_id (line 422) | pub fn with_tenant_id(mut self, tenant_id: Option) -> Self { method state (line 427) | pub fn state(&self) -> u32 { method primary_id (line 436) | pub fn primary_id(&self) -> u32 { method tenant_id (line 441) | pub fn tenant_id(&self) -> Option { method secondary_ids (line 445) | pub fn secondary_ids(&self) -> impl Iterator { method member_ids (line 451) | pub fn member_ids(&self) -> impl Iterator { method all_ids (line 457) | pub fn all_ids(&self) -> impl Iterator { method all_ids_by_collection (line 464) | pub fn all_ids_by_collection(&self, collection: Collection) -> impl Iter... method is_member (line 477) | pub fn is_member(&self, account_id: u32) -> bool { method is_primary_id (line 483) | pub fn is_primary_id(&self, account_id: u32) -> bool { method has_permission (line 488) | pub fn has_permission(&self, permission: Permission) -> bool { method assert_has_permission (line 492) | pub fn assert_has_permission(&self, permission: Permission) -> trc::Resu... method permissions (line 502) | pub fn permissions(&self) -> Vec { method object_quota (line 524) | pub fn object_quota(&self, collection: Collection) -> u32 { method is_shared (line 528) | pub fn is_shared(&self, account_id: u32) -> bool { method shared_accounts (line 532) | pub fn shared_accounts(&self, collection: Collection) -> impl Iterator bool { method as_resource_token (line 556) | pub fn as_resource_token(&self) -> ResourceToken { method is_http_request_allowed (line 564) | pub fn is_http_request_allowed(&self) -> LimiterResult { method is_imap_request_allowed (line 570) | pub fn is_imap_request_allowed(&self) -> LimiterResult { method is_upload_allowed (line 576) | pub fn is_upload_allowed(&self) -> LimiterResult { method update_size (line 582) | pub fn update_size(mut self) -> Self { FILE: crates/common/src/auth/mod.rs type AccessToken (line 28) | pub struct AccessToken { type TenantInfo (line 48) | pub struct TenantInfo { type ResourceToken (line 54) | pub struct ResourceToken { type AuthRequest (line 60) | pub struct AuthRequest<'x> { method authenticate (line 70) | pub async fn authenticate(&self, req: &AuthRequest<'_>) -> trc::Result Self { function with_directory (line 289) | pub fn with_directory(mut self, directory: &'x Directory) -> Self { function with_api_access (line 294) | pub fn with_api_access(mut self, allow_api_access: bool) -> Self { method weight (line 301) | fn weight(&self) -> u64 { type CredentialsUsername (line 306) | pub(crate) trait CredentialsUsername { method login (line 307) | fn login(&self) -> Option<&str>; method login (line 311) | fn login(&self) -> Option<&str> { FILE: crates/common/src/auth/oauth/config.rs type OAuthConfig (line 30) | pub struct OAuthConfig { method parse (line 49) | pub fn parse(config: &mut Config) -> Self { method default (line 199) | fn default() -> Self { function parse_rsa_key (line 223) | fn parse_rsa_key(config: &mut Config) -> Option<(Secret, AlgorithmParame... function parse_ecdsa_key (line 260) | fn parse_ecdsa_key( FILE: crates/common/src/auth/oauth/crypto.rs type SymmetricEncrypt (line 10) | pub struct SymmetricEncrypt { constant ENCRYPT_TAG_LEN (line 17) | pub const ENCRYPT_TAG_LEN: usize = 16; constant NONCE_LEN (line 18) | pub const NONCE_LEN: usize = 12; method new (line 20) | pub fn new(key: &[u8], context: &str) -> Self { method encrypt_in_place (line 31) | pub fn encrypt_in_place(&self, bytes: &mut Vec, nonce: &[u8]) -> R... method encrypt (line 37) | pub fn encrypt(&self, bytes: &[u8], nonce: &[u8]) -> Result, S... method decrypt (line 43) | pub fn decrypt(&self, bytes: &[u8], nonce: &[u8]) -> Result, S... FILE: crates/common/src/auth/oauth/introspect.rs type OAuthIntrospect (line 13) | pub struct OAuthIntrospect { method introspect_access_token (line 51) | pub async fn introspect_access_token( FILE: crates/common/src/auth/oauth/mod.rs constant DEVICE_CODE_LEN (line 14) | pub const DEVICE_CODE_LEN: usize = 40; constant USER_CODE_LEN (line 15) | pub const USER_CODE_LEN: usize = 8; constant RANDOM_CODE_LEN (line 16) | pub const RANDOM_CODE_LEN: usize = 32; constant CLIENT_ID_MAX_LEN (line 17) | pub const CLIENT_ID_MAX_LEN: usize = 20; constant USER_CODE_ALPHABET (line 19) | pub const USER_CODE_ALPHABET: &[u8] = b"ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; type GrantType (line 22) | pub enum GrantType { method as_str (line 32) | pub fn as_str(&self) -> &'static str { method id (line 43) | pub fn id(&self) -> u8 { method from_id (line 54) | pub fn from_id(id: u8) -> Option { FILE: crates/common/src/auth/oauth/oidc.rs type Userinfo (line 20) | pub struct Userinfo { type StandardClaims (line 83) | pub struct StandardClaims { method issue_id_token (line 102) | pub fn issue_id_token( function any_bool (line 141) | fn any_bool<'de, D>(deserializer: D) -> Result FILE: crates/common/src/auth/oauth/registration.rs type ClientRegistrationRequest (line 12) | pub struct ClientRegistrationRequest { type ClientRegistrationResponse (line 138) | pub struct ClientRegistrationResponse { type ApplicationType (line 161) | pub enum ApplicationType { type SubjectType (line 168) | pub enum SubjectType { type TokenEndpointAuthMethod (line 175) | pub enum TokenEndpointAuthMethod { FILE: crates/common/src/auth/oauth/token.rs type TokenInfo (line 20) | pub struct TokenInfo { constant OAUTH_EPOCH (line 29) | const OAUTH_EPOCH: u64 = 946684800; method encode_access_token (line 32) | pub async fn encode_access_token( method validate_access_token (line 108) | pub async fn validate_access_token( method password_hash (line 218) | pub async fn password_hash(&self, account_id: u32) -> trc::Result { FILE: crates/common/src/auth/rate_limit.rs method is_http_authenticated_request_allowed (line 19) | pub async fn is_http_authenticated_request_allowed( method is_http_anonymous_request_allowed (line 59) | pub async fn is_http_anonymous_request_allowed(&self, addr: &IpAddr) -> ... method is_upload_allowed (line 81) | pub fn is_upload_allowed(&self, access_token: &AccessToken) -> trc::Resu... FILE: crates/common/src/auth/roles.rs type RolePermissions (line 18) | pub struct RolePermissions { method union (line 151) | pub fn union(&mut self, other: &RolePermissions) { method finalize (line 156) | pub fn finalize(mut self) -> Permissions { method finalize_as_ref (line 161) | pub fn finalize_as_ref(&self) -> Permissions { method get_role_permissions (line 29) | pub async fn get_role_permissions(&self, role_id: u32) -> trc::Result trc::Result Arc { function user_permissions (line 181) | fn user_permissions() -> Arc { function admin_permissions (line 194) | fn admin_permissions() -> Arc { method weight (line 202) | fn weight(&self) -> u64 { FILE: crates/common/src/auth/sasl.rs function sasl_decode_challenge_plain (line 9) | pub fn sasl_decode_challenge_plain(challenge: &[u8]) -> Option Option Option<&str> { function test_extract_oauth_bearer (line 65) | fn test_extract_oauth_bearer() { FILE: crates/common/src/config/groupware.rs type GroupwareConfig (line 12) | pub struct GroupwareConfig { method parse (line 80) | pub fn parse(config: &mut Config) -> Self { type CalendarTemplateVariable (line 57) | pub enum CalendarTemplateVariable { type Err (line 203) | type Err = String; method from_str (line 205) | fn from_str(s: &str) -> Result { FILE: crates/common/src/config/imap.rs type ImapConfig (line 12) | pub struct ImapConfig { method parse (line 26) | pub fn parse(config: &mut Config) -> Self { FILE: crates/common/src/config/inner.rs method parse (line 35) | pub fn parse(config: &mut Config) -> Self { method parse (line 82) | pub fn parse(config: &mut Config) -> Self { method build_auth_parameters (line 197) | pub fn build_auth_parameters( method default (line 221) | fn default() -> Self { method default (line 240) | fn default() -> Self { FILE: crates/common/src/config/jmap/capabilities.rs method add_capabilities (line 26) | pub fn add_capabilities(&mut self, config: &mut Config, groupware_config... FILE: crates/common/src/config/jmap/settings.rs type JmapConfig (line 20) | pub struct JmapConfig { method parse (line 101) | pub fn parse(config: &mut Config, groupware_config: &GroupwareConfig) ... type DefaultFolder (line 92) | pub struct DefaultFolder { FILE: crates/common/src/config/mod.rs constant CONNECTION_VARS (line 38) | pub(crate) const CONNECTION_VARS: &[u32; 9] = &[ method parse (line 51) | pub async fn parse( method into_shared (line 223) | pub fn into_shared(self) -> ArcSwap { function build_rsa_keypair (line 228) | pub fn build_rsa_keypair(pem: &str) -> Result { function build_ecdsa_pem (line 244) | pub fn build_ecdsa_pem( FILE: crates/common/src/config/network.rs type Network (line 15) | pub struct Network { method parse (line 182) | pub fn parse(config: &mut Config) -> Self { type ContactForm (line 28) | pub struct ContactForm { method parse (line 128) | pub fn parse(config: &mut Config) -> Option { type ClusterRoles (line 40) | pub struct ClusterRoles { type ClusterRole (line 55) | pub enum ClusterRole { method is_enabled_or_sharded (line 362) | pub fn is_enabled_or_sharded(&self) -> bool { method is_enabled_for_integer (line 366) | pub fn is_enabled_for_integer(&self, value: u32) -> bool { method is_enabled_for_hash (line 377) | pub fn is_enabled_for_hash(&self, item: &impl std::hash::Hash) -> bool { type AsnGeoLookupConfig (line 66) | pub enum AsnGeoLookupConfig { method parse (line 316) | pub fn parse(config: &mut Config) -> Option { type FieldOrDefault (line 88) | pub struct FieldOrDefault { method parse (line 170) | pub fn parse(config: &mut Config, key: &str, default: &str) -> Self { constant HTTP_VARS (line 93) | pub(crate) const HTTP_VARS: &[u32; 11] = &[ method default (line 108) | fn default() -> Self { type NodeList (line 303) | struct NodeList(AHashSet); method parse_value (line 306) | fn parse_value(value: &str) -> utils::config::Result { FILE: crates/common/src/config/scripts.rs type Scripting (line 24) | pub struct Scripting { method parse (line 37) | pub async fn parse(config: &mut Config, stores: &Stores) -> Self { method default (line 353) | fn default() -> Self { method clone (line 380) | fn clone(&self) -> Self { FILE: crates/common/src/config/server/listener.rs method parse (line 35) | pub fn parse(config: &mut Config) -> Self { method parse_server (line 54) | fn parse_server(&mut self, config: &mut Config, id_: String) { method parse_tcp_acceptors (line 212) | pub fn parse_tcp_acceptors(&mut self, config: &mut Config, inner: Arc Result { FILE: crates/common/src/config/server/mod.rs type Listeners (line 20) | pub struct Listeners { type Listener (line 27) | pub struct Listener { type TcpListener (line 37) | pub struct TcpListener { type ServerProtocol (line 49) | pub enum ServerProtocol { method as_str (line 60) | pub fn as_str(&self) -> &'static str { method fmt (line 73) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/common/src/config/server/tls.rs method parse (line 47) | pub fn parse(config: &mut Config) -> Self { function build_dns_updater (line 188) | fn build_dns_updater(config: &mut Config, acme_id: &str) -> Option, pk: Vec) -> Result<... function build_self_signed_cert (line 444) | pub(crate) fn build_self_signed_cert( FILE: crates/common/src/config/smtp/auth.rs type MailAuthConfig (line 28) | pub struct MailAuthConfig { method parse (line 170) | pub fn parse(config: &mut Config) -> Self { type LazySignature (line 38) | pub enum LazySignature { type ResolvedSignature (line 45) | pub struct ResolvedSignature { type DkimAuthConfig (line 51) | pub struct DkimAuthConfig { type ArcAuthConfig (line 58) | pub struct ArcAuthConfig { type SpfAuthConfig (line 64) | pub struct SpfAuthConfig { type DmarcAuthConfig (line 70) | pub struct DmarcAuthConfig { type IpRevAuthConfig (line 75) | pub struct IpRevAuthConfig { type VerifyStrategy (line 80) | pub enum VerifyStrategy { type Error (line 426) | type Error = (); method try_from (line 428) | fn try_from(value: expr::Variable<'x>) -> Result { method verify (line 453) | pub fn verify(&self) -> bool { method is_strict (line 458) | pub fn is_strict(&self) -> bool { type DkimCanonicalization (line 88) | pub struct DkimCanonicalization { type DkimSigner (line 93) | pub enum DkimSigner { type ArcSealer (line 98) | pub enum ArcSealer { method default (line 104) | fn default() -> Self { function build_signature (line 239) | pub fn build_signature(config: &mut Config, id: &str) -> Option<(DkimSig... function parse_pem (line 303) | fn parse_pem(config: &mut Config, key: impl AsKey) -> Option> { function simple_pem_parse (line 312) | pub fn simple_pem_parse(contents: &str) -> Option> { function parse_signature (line 341) | fn parse_signature>( method from (line 442) | fn from(value: VerifyStrategy) -> Self { method parse_value (line 464) | fn parse_value(value: &str) -> Result { method add_constants (line 475) | fn add_constants(token_map: &mut TokenMap) { method parse_value (line 487) | fn parse_value(value: &str) -> Result { method default (line 504) | fn default() -> Self { FILE: crates/common/src/config/smtp/mod.rs type SmtpConfig (line 26) | pub struct SmtpConfig { method parse (line 154) | pub async fn parse(config: &mut Config) -> Self { type QueueRateLimiter (line 36) | pub struct QueueRateLimiter { constant THROTTLE_RCPT (line 43) | pub const THROTTLE_RCPT: u16 = 1 << 0; constant THROTTLE_RCPT_DOMAIN (line 44) | pub const THROTTLE_RCPT_DOMAIN: u16 = 1 << 1; constant THROTTLE_SENDER (line 45) | pub const THROTTLE_SENDER: u16 = 1 << 2; constant THROTTLE_SENDER_DOMAIN (line 46) | pub const THROTTLE_SENDER_DOMAIN: u16 = 1 << 3; constant THROTTLE_AUTH_AS (line 47) | pub const THROTTLE_AUTH_AS: u16 = 1 << 4; constant THROTTLE_LISTENER (line 48) | pub const THROTTLE_LISTENER: u16 = 1 << 5; constant THROTTLE_MX (line 49) | pub const THROTTLE_MX: u16 = 1 << 6; constant THROTTLE_REMOTE_IP (line 50) | pub const THROTTLE_REMOTE_IP: u16 = 1 << 7; constant THROTTLE_LOCAL_IP (line 51) | pub const THROTTLE_LOCAL_IP: u16 = 1 << 8; constant THROTTLE_HELO_DOMAIN (line 52) | pub const THROTTLE_HELO_DOMAIN: u16 = 1 << 9; constant RCPT_DOMAIN_VARS (line 54) | pub(crate) const RCPT_DOMAIN_VARS: &[u32; 1] = &[V_RECIPIENT_DOMAIN]; constant SMTP_EHLO_VARS (line 56) | pub(crate) const SMTP_EHLO_VARS: &[u32; 10] = &[ constant SMTP_MAIL_FROM_VARS (line 68) | pub(crate) const SMTP_MAIL_FROM_VARS: &[u32; 12] = &[ constant SMTP_RCPT_TO_VARS (line 82) | pub(crate) const SMTP_RCPT_TO_VARS: &[u32; 17] = &[ constant SMTP_QUEUE_HOST_VARS (line 101) | pub(crate) const SMTP_QUEUE_HOST_VARS: &[u32; 20] = &[ constant SMTP_QUEUE_RCPT_VARS (line 123) | pub(crate) const SMTP_QUEUE_RCPT_VARS: &[u32; 17] = &[ constant SMTP_QUEUE_SENDER_VARS (line 142) | pub(crate) const SMTP_QUEUE_SENDER_VARS: &[u32; 8] = &[ FILE: crates/common/src/config/smtp/queue.rs type QueueName (line 39) | pub struct QueueName([u8; 8]); method new (line 912) | pub fn new(name: impl AsRef<[u8]>) -> Option { method from_bytes (line 923) | pub fn from_bytes(name: &[u8]) -> Option { method as_str (line 927) | pub fn as_str(&self) -> &str { method into_inner (line 933) | pub fn into_inner(self) -> [u8; 8] { method as_slice (line 937) | pub fn as_slice(&self) -> &[u8] { method as_ref (line 985) | fn as_ref(&self) -> &[u8] { constant DEFAULT_QUEUE_NAME (line 41) | pub const DEFAULT_QUEUE_NAME: QueueName = QueueName([b'd', b'e', b'f', b... type QueueConfig (line 44) | pub struct QueueConfig { method parse (line 250) | pub fn parse(config: &mut Config) -> Self { type RoutingStrategy (line 68) | pub enum RoutingStrategy { type MxConfig (line 75) | pub struct MxConfig { type Dsn (line 82) | pub struct Dsn { type VirtualQueue (line 89) | pub struct VirtualQueue { type QueueStrategy (line 94) | pub struct QueueStrategy { type QueueExpiry (line 112) | pub enum QueueExpiry { type TlsStrategy (line 118) | pub struct TlsStrategy { method try_dane (line 855) | pub fn try_dane(&self) -> bool { method try_start_tls (line 863) | pub fn try_start_tls(&self) -> bool { method is_dane_required (line 871) | pub fn is_dane_required(&self) -> bool { method try_mta_sts (line 876) | pub fn try_mta_sts(&self) -> bool { method is_mta_sts_required (line 884) | pub fn is_mta_sts_required(&self) -> bool { method is_tls_required (line 889) | pub fn is_tls_required(&self) -> bool { type ConnectionStrategy (line 129) | pub struct ConnectionStrategy { type IpAndHost (line 143) | pub struct IpAndHost { type QueueRateLimiters (line 149) | pub struct QueueRateLimiters { type QueueQuotas (line 156) | pub struct QueueQuotas { type QueueQuota (line 163) | pub struct QueueQuota { type RelayConfig (line 172) | pub struct RelayConfig { method fmt (line 842) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RequireOptional (line 182) | pub enum RequireOptional { type Error (line 765) | type Error = (); method try_from (line 767) | fn try_from(value: Variable<'x>) -> Result { method default (line 190) | fn default() -> Self { function parse_queue_strategies (line 293) | fn parse_queue_strategies( function parse_queue_strategy (line 315) | fn parse_queue_strategy( function parse_virtual_queues (line 373) | fn parse_virtual_queues(config: &mut Config) -> AHashMap Option AHashMap Option { function parse_tls_strategies (line 456) | fn parse_tls_strategies(config: &mut Config) -> AHashMap Option { function parse_connection_strategies (line 498) | fn parse_connection_strategies(config: &mut Config) -> AHashMap Option QueueRateLimiters { function parse_outbound_rate_limiters (line 608) | fn parse_outbound_rate_limiters(config: &mut Config) -> QueueRateLimiters { function parse_queue_quota (line 646) | fn parse_queue_quota(config: &mut Config) -> QueueQuotas { function parse_queue_quota_item (line 680) | fn parse_queue_quota_item(config: &mut Config, prefix: impl AsKey, id: &... method parse_value (line 754) | fn parse_value(value: &str) -> Result { method from (line 778) | fn from(value: RequireOptional) -> Self { method add_constants (line 788) | fn add_constants(token_map: &mut crate::expr::tokenizer::TokenMap) { type Error (line 801) | type Error = (); method try_from (line 803) | fn try_from(value: Variable<'x>) -> Result { method from (line 821) | fn from(value: IpLookupStrategy) -> Self { method add_constants (line 832) | fn add_constants(token_map: &mut crate::expr::tokenizer::TokenMap) { method hash (line 897) | fn hash(&self, state: &mut H) { method eq (line 904) | fn eq(&self, other: &Self) -> bool { method as_str (line 943) | pub fn as_str(&self) -> &str { method as_slice (line 949) | pub fn as_slice(&self) -> &[u8] { method default (line 955) | fn default() -> Self { method parse_value (line 961) | fn parse_value(value: &str) -> Result { method fmt (line 973) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 979) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/common/src/config/smtp/report.rs type ReportConfig (line 16) | pub struct ReportConfig { method parse (line 71) | pub fn parse(config: &mut Config) -> Self { type ReportAnalysis (line 28) | pub struct ReportAnalysis { type AddressMatch (line 35) | pub enum AddressMatch { type AggregateReport (line 42) | pub struct AggregateReport { method parse (line 155) | pub fn parse(config: &mut Config, id: &str, token_map: &TokenMap) -> S... type Report (line 53) | pub struct Report { method parse (line 115) | pub fn parse(config: &mut Config, id: &str, token_map: &TokenMap) -> S... type AggregateFrequency (line 62) | pub enum AggregateFrequency { type Error (line 240) | type Error = (); method try_from (line 242) | fn try_from(value: Variable<'x>) -> Result { method default (line 211) | fn default() -> Self { method parse_value (line 217) | fn parse_value(value: &str) -> Result { method from (line 229) | fn from(value: AggregateFrequency) -> Self { method add_constants (line 254) | fn add_constants(token_map: &mut crate::expr::tokenizer::TokenMap) { method parse_value (line 270) | fn parse_value(value: &str) -> Result { FILE: crates/common/src/config/smtp/resolver.rs type Resolvers (line 31) | pub struct Resolvers { method parse (line 105) | pub async fn parse(config: &mut Config) -> Self { type DnssecResolver (line 37) | pub struct DnssecResolver { type TlsaEntry (line 42) | pub struct TlsaEntry { type Tlsa (line 50) | pub struct Tlsa { type Mode (line 58) | pub enum Mode { type MxPattern (line 67) | pub enum MxPattern { type Policy (line 73) | pub struct Policy { method try_parse (line 248) | pub fn try_parse(config: &mut Config) -> Option { method try_build (line 281) | pub fn try_build(mut self, names: I) -> Option method hash (line 308) | fn hash(&self) -> u64 { method weight (line 81) | fn weight(&self) -> u64 { method weight (line 91) | fn weight(&self) -> u64 { method build_mta_sts_policy (line 318) | pub fn build_mta_sts_policy(&self) -> Option { method parse_value (line 342) | fn parse_value(value: &str) -> Result { method default (line 353) | fn default() -> Self { method fmt (line 378) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 401) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method clone (line 413) | fn clone(&self) -> Self { FILE: crates/common/src/config/smtp/session.rs type SessionConfig (line 33) | pub struct SessionConfig { method parse (line 193) | pub fn parse(config: &mut Config) -> Self { type Connect (line 52) | pub struct Connect { type Ehlo (line 59) | pub struct Ehlo { type Extensions (line 66) | pub struct Extensions { type Auth (line 80) | pub struct Auth { type Mail (line 90) | pub struct Mail { type Rcpt (line 97) | pub struct Rcpt { type AddressMapping (line 116) | pub enum AddressMapping { type Data (line 124) | pub struct Data { type Milter (line 144) | pub struct Milter { type MilterVersion (line 164) | pub enum MilterVersion { type MTAHook (line 170) | pub struct MTAHook { type Stage (line 183) | pub enum Stage { function parse_milter (line 451) | fn parse_milter(config: &mut Config, id: &str, token_map: &TokenMap) -> ... function parse_hooks (line 518) | fn parse_hooks(config: &mut Config, id: &str, token_map: &TokenMap) -> O... function parse_stages (line 592) | fn parse_stages(config: &mut Config, prefix: &str, id: &str) -> AHashSet... method default (line 627) | fn default() -> Self { type Mechanism (line 803) | pub struct Mechanism(u64); type Error (line 856) | type Error = (); method try_from (line 858) | fn try_from(value: Variable<'x>) -> Result { method from (line 901) | fn from(value: u64) -> Self { method parse_value (line 806) | fn parse_value(value: &str) -> Result { method from (line 879) | fn from(value: Mechanism) -> Self { method add_constants (line 885) | fn add_constants(token_map: &mut crate::expr::tokenizer::TokenMap) { function from (line 895) | fn from(value: Mechanism) -> Self { type Error (line 907) | type Error = (); method try_from (line 909) | fn try_from(value: Variable<'x>) -> Result { method from (line 924) | fn from(value: MtPriority) -> Self { method add_constants (line 934) | fn add_constants(token_map: &mut TokenMap) { FILE: crates/common/src/config/smtp/throttle.rs function parse_queue_rate_limiter (line 13) | pub fn parse_queue_rate_limiter( function parse_queue_rate_limiter_item (line 37) | fn parse_queue_rate_limiter_item( function parse_queue_rate_limiter_key (line 87) | pub(crate) fn parse_queue_rate_limiter_key(value: &str) -> Result bool { type SpamFilterConfig (line 37) | pub struct SpamFilterConfig { method parse (line 177) | pub async fn parse(config: &mut Config) -> Self { type SpamFilterScoreConfig (line 52) | pub struct SpamFilterScoreConfig { method parse (line 564) | pub fn parse(config: &mut Config) -> Self { type DnsBlConfig (line 59) | pub struct DnsBlConfig { method parse (line 266) | pub fn parse(config: &mut Config) -> Self { type SpamFilterLists (line 68) | pub struct SpamFilterLists { method parse (line 325) | pub fn parse(config: &mut Config) -> Self { type SpamFilterAction (line 74) | pub enum SpamFilterAction { type ClassifierConfig (line 82) | pub struct ClassifierConfig { method parse (line 455) | pub fn parse(config: &mut Config) -> Option { type FtrlParameters (line 99) | pub struct FtrlParameters { method parse (line 527) | pub fn parse(config: &mut Config, prefix: &str, default_features: usiz... type PyzorConfig (line 108) | pub struct PyzorConfig { method parse (line 400) | pub async fn parse(config: &mut Config) -> Option { type SpamFilterRules (line 117) | pub struct SpamFilterRules { method parse (line 203) | pub fn parse(config: &mut Config) -> SpamFilterRules { type FileExtension (line 128) | pub struct FileExtension { type Element (line 136) | pub enum Element { method token_map (line 689) | pub fn token_map(&self) -> TokenMap { method as_str (line 782) | pub fn as_str(&self) -> &'static str { type Location (line 148) | pub enum Location { method as_str (line 595) | pub fn as_str(&self) -> &'static str { type DnsBlServer (line 169) | pub struct DnsBlServer { method parse (line 293) | pub fn parse(config: &mut Config, id: String) -> Option { type SpamFilterRule (line 230) | struct SpamFilterRule { method parse (line 237) | pub fn parse(config: &mut Config, id: String) -> Option { method parse_value (line 580) | fn parse_value(value: &str) -> utils::config::Result { constant V_SPAM_REMOTE_IP (line 618) | pub const V_SPAM_REMOTE_IP: u32 = 100; constant V_SPAM_REMOTE_IP_PTR (line 619) | pub const V_SPAM_REMOTE_IP_PTR: u32 = 101; constant V_SPAM_EHLO_DOMAIN (line 620) | pub const V_SPAM_EHLO_DOMAIN: u32 = 102; constant V_SPAM_AUTH_AS (line 621) | pub const V_SPAM_AUTH_AS: u32 = 103; constant V_SPAM_ASN (line 622) | pub const V_SPAM_ASN: u32 = 104; constant V_SPAM_COUNTRY (line 623) | pub const V_SPAM_COUNTRY: u32 = 105; constant V_SPAM_IS_TLS (line 624) | pub const V_SPAM_IS_TLS: u32 = 106; constant V_SPAM_ENV_FROM (line 625) | pub const V_SPAM_ENV_FROM: u32 = 108; constant V_SPAM_ENV_FROM_LOCAL (line 626) | pub const V_SPAM_ENV_FROM_LOCAL: u32 = 109; constant V_SPAM_ENV_FROM_DOMAIN (line 627) | pub const V_SPAM_ENV_FROM_DOMAIN: u32 = 110; constant V_SPAM_ENV_TO (line 628) | pub const V_SPAM_ENV_TO: u32 = 111; constant V_SPAM_FROM (line 629) | pub const V_SPAM_FROM: u32 = 112; constant V_SPAM_FROM_NAME (line 630) | pub const V_SPAM_FROM_NAME: u32 = 113; constant V_SPAM_FROM_LOCAL (line 631) | pub const V_SPAM_FROM_LOCAL: u32 = 114; constant V_SPAM_FROM_DOMAIN (line 632) | pub const V_SPAM_FROM_DOMAIN: u32 = 115; constant V_SPAM_REPLY_TO (line 633) | pub const V_SPAM_REPLY_TO: u32 = 116; constant V_SPAM_REPLY_TO_NAME (line 634) | pub const V_SPAM_REPLY_TO_NAME: u32 = 117; constant V_SPAM_REPLY_TO_LOCAL (line 635) | pub const V_SPAM_REPLY_TO_LOCAL: u32 = 118; constant V_SPAM_REPLY_TO_DOMAIN (line 636) | pub const V_SPAM_REPLY_TO_DOMAIN: u32 = 119; constant V_SPAM_TO (line 637) | pub const V_SPAM_TO: u32 = 120; constant V_SPAM_TO_NAME (line 638) | pub const V_SPAM_TO_NAME: u32 = 121; constant V_SPAM_TO_LOCAL (line 639) | pub const V_SPAM_TO_LOCAL: u32 = 122; constant V_SPAM_TO_DOMAIN (line 640) | pub const V_SPAM_TO_DOMAIN: u32 = 123; constant V_SPAM_CC (line 641) | pub const V_SPAM_CC: u32 = 124; constant V_SPAM_CC_NAME (line 642) | pub const V_SPAM_CC_NAME: u32 = 125; constant V_SPAM_CC_LOCAL (line 643) | pub const V_SPAM_CC_LOCAL: u32 = 126; constant V_SPAM_CC_DOMAIN (line 644) | pub const V_SPAM_CC_DOMAIN: u32 = 127; constant V_SPAM_BCC (line 645) | pub const V_SPAM_BCC: u32 = 128; constant V_SPAM_BCC_NAME (line 646) | pub const V_SPAM_BCC_NAME: u32 = 129; constant V_SPAM_BCC_LOCAL (line 647) | pub const V_SPAM_BCC_LOCAL: u32 = 130; constant V_SPAM_BCC_DOMAIN (line 648) | pub const V_SPAM_BCC_DOMAIN: u32 = 131; constant V_SPAM_BODY_TEXT (line 649) | pub const V_SPAM_BODY_TEXT: u32 = 132; constant V_SPAM_BODY_HTML (line 650) | pub const V_SPAM_BODY_HTML: u32 = 133; constant V_SPAM_BODY_RAW (line 651) | pub const V_SPAM_BODY_RAW: u32 = 134; constant V_SPAM_SUBJECT (line 652) | pub const V_SPAM_SUBJECT: u32 = 135; constant V_SPAM_SUBJECT_THREAD (line 653) | pub const V_SPAM_SUBJECT_THREAD: u32 = 136; constant V_SPAM_LOCATION (line 654) | pub const V_SPAM_LOCATION: u32 = 137; constant V_WORDS_SUBJECT (line 655) | pub const V_WORDS_SUBJECT: u32 = 138; constant V_WORDS_BODY (line 656) | pub const V_WORDS_BODY: u32 = 139; constant V_RCPT_EMAIL (line 658) | pub const V_RCPT_EMAIL: u32 = 0; constant V_RCPT_NAME (line 659) | pub const V_RCPT_NAME: u32 = 1; constant V_RCPT_LOCAL (line 660) | pub const V_RCPT_LOCAL: u32 = 2; constant V_RCPT_DOMAIN (line 661) | pub const V_RCPT_DOMAIN: u32 = 3; constant V_RCPT_DOMAIN_SLD (line 662) | pub const V_RCPT_DOMAIN_SLD: u32 = 4; constant V_URL_FULL (line 664) | pub const V_URL_FULL: u32 = 0; constant V_URL_PATH_QUERY (line 665) | pub const V_URL_PATH_QUERY: u32 = 1; constant V_URL_PATH (line 666) | pub const V_URL_PATH: u32 = 2; constant V_URL_QUERY (line 667) | pub const V_URL_QUERY: u32 = 3; constant V_URL_SCHEME (line 668) | pub const V_URL_SCHEME: u32 = 4; constant V_URL_AUTHORITY (line 669) | pub const V_URL_AUTHORITY: u32 = 5; constant V_URL_HOST (line 670) | pub const V_URL_HOST: u32 = 6; constant V_URL_HOST_SLD (line 671) | pub const V_URL_HOST_SLD: u32 = 7; constant V_URL_PORT (line 672) | pub const V_URL_PORT: u32 = 8; constant V_HEADER_NAME (line 674) | pub const V_HEADER_NAME: u32 = 0; constant V_HEADER_NAME_LOWER (line 675) | pub const V_HEADER_NAME_LOWER: u32 = 1; constant V_HEADER_VALUE (line 676) | pub const V_HEADER_VALUE: u32 = 2; constant V_HEADER_VALUE_LOWER (line 677) | pub const V_HEADER_VALUE_LOWER: u32 = 3; constant V_HEADER_PROPERTY (line 678) | pub const V_HEADER_PROPERTY: u32 = 4; constant V_HEADER_RAW (line 679) | pub const V_HEADER_RAW: u32 = 5; constant V_HEADER_RAW_LOWER (line 680) | pub const V_HEADER_RAW_LOWER: u32 = 6; constant V_IP (line 682) | pub const V_IP: u32 = 0; constant V_IP_REVERSE (line 683) | pub const V_IP_REVERSE: u32 = 1; constant V_IP_OCTETS (line 684) | pub const V_IP_OCTETS: u32 = 2; constant V_IP_IS_V4 (line 685) | pub const V_IP_IS_V4: u32 = 3; constant V_IP_IS_V6 (line 686) | pub const V_IP_IS_V6: u32 = 4; type IpResolver (line 795) | pub struct IpResolver { method new (line 820) | pub fn new(ip: IpAddr) -> Self { method resolve_variable (line 803) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 814) | fn resolve_global(&self, _: &str) -> Variable<'_> { method weight (line 842) | fn weight(&self) -> u64 { function as_score (line 848) | pub fn as_score(&self) -> Option<&T> { FILE: crates/common/src/config/storage.rs type Storage (line 16) | pub struct Storage { FILE: crates/common/src/config/telemetry.rs type TelemetrySubscriber (line 26) | pub struct TelemetrySubscriber { type TelemetrySubscriberType (line 35) | pub enum TelemetrySubscriberType { type OtelTracer (line 51) | pub struct OtelTracer { type OtelMetrics (line 60) | pub struct OtelMetrics { method fmt (line 892) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ConsoleTracer (line 68) | pub struct ConsoleTracer { type LogTracer (line 75) | pub struct LogTracer { type WebhookTracer (line 84) | pub struct WebhookTracer { type StoreTracer (line 99) | pub struct StoreTracer { type RotationStrategy (line 105) | pub enum RotationStrategy { type Telemetry (line 113) | pub struct Telemetry { method parse (line 138) | pub fn parse(config: &mut Config, stores: &Stores) -> Self { type Tracers (line 119) | pub struct Tracers { method parse (line 163) | pub fn parse(config: &mut Config, stores: &Stores) -> Self { type Metrics (line 126) | pub struct Metrics { method parse (line 598) | pub fn parse(config: &mut Config) -> Self { type PrometheusMetrics (line 133) | pub struct PrometheusMetrics { function parse_webhook (line 745) | fn parse_webhook( type EventOrMany (line 805) | enum EventOrMany { function apply_events (line 812) | fn apply_events( method parse_value (line 877) | fn parse_value(value: &str) -> Result { FILE: crates/common/src/core.rs method store (line 52) | pub fn store(&self) -> &Store { method blob_store (line 57) | pub fn blob_store(&self) -> &BlobStore { method search_store (line 62) | pub fn search_store(&self) -> &SearchStore { method in_memory_store (line 67) | pub fn in_memory_store(&self) -> &InMemoryStore { method directory (line 72) | pub fn directory(&self) -> &Directory { method get_directory (line 76) | pub fn get_directory(&self, name: &str) -> Option<&Arc> { method get_directory_or_default (line 80) | pub fn get_directory_or_default(&self, name: &str, session_id: u64) -> &... method get_in_memory_store (line 94) | pub fn get_in_memory_store(&self, name: &str) -> Option<&InMemoryStore> { method get_in_memory_store_or_default (line 98) | pub fn get_in_memory_store_or_default(&self, name: &str, session_id: u64... method get_data_store (line 112) | pub fn get_data_store(&self, name: &str, session_id: u64) -> &Store { method get_arc_sealer (line 126) | pub fn get_arc_sealer(&self, name: &str, session_id: u64) -> Option Option Option { method get_trusted_sieve_script (line 173) | pub fn get_trusted_sieve_script(&self, name: &str, session_id: u64) -> O... method get_untrusted_sieve_script (line 185) | pub fn get_untrusted_sieve_script(&self, name: &str, session_id: u64) ->... method get_route_or_default (line 197) | pub fn get_route_or_default(&self, name: &str, session_id: u64) -> &Rout... method get_virtual_queue_or_default (line 224) | pub fn get_virtual_queue_or_default(&self, name: &QueueName) -> &Virtual... method get_queue_or_default (line 244) | pub fn get_queue_or_default(&self, name: &str, session_id: u64) -> &Queu... method get_tls_or_default (line 281) | pub fn get_tls_or_default(&self, name: &str, session_id: u64) -> &TlsStr... method get_connection_or_default (line 309) | pub fn get_connection_or_default(&self, name: &str, session_id: u64) -> ... method get_used_quota (line 341) | pub async fn get_used_quota(&self, account_id: u32) -> trc::Result { method has_available_quota (line 350) | pub async fn has_available_quota( method get_resource_token (line 389) | pub async fn get_resource_token( method archives (line 448) | pub async fn archives( method all_archives (line 497) | pub async fn all_archives( method document_ids (line 543) | pub async fn document_ids( method document_exists (line 577) | pub async fn document_exists( method document_ids_matching (line 619) | pub async fn document_ids_matching( method notify_task_queue (line 664) | pub fn notify_task_queue(&self) { method total_queued_messages (line 668) | pub async fn total_queued_messages(&self) -> trc::Result { method generate_snowflake_id (line 689) | pub fn generate_snowflake_id(&self) -> u64 { method commit_batch (line 693) | pub async fn commit_batch(&self, mut builder: BatchBuilder) -> trc::Resu... method delete_changes (line 737) | pub async fn delete_changes( method broadcast_push_notification (line 866) | pub async fn broadcast_push_notification(&self, notification: PushNotifi... method cluster_broadcast (line 891) | pub async fn cluster_broadcast(&self, event: BroadcastEvent) { method put_jmap_blob (line 904) | pub async fn put_jmap_blob(&self, account_id: u32, data: &[u8]) -> trc::... method put_temporary_blob (line 971) | pub async fn put_temporary_blob( method total_accounts (line 1033) | pub async fn total_accounts(&self) -> trc::Result { method total_domains (line 1040) | pub async fn total_domains(&self) -> trc::Result { method spam_model_reload (line 1047) | pub async fn spam_model_reload(&self) -> trc::Result<()> { method logo_resource (line 1071) | pub async fn logo_resource( type BuildServer (line 1079) | pub trait BuildServer { method build_server (line 1080) | fn build_server(&self) -> Server; method build_server (line 1084) | fn build_server(&self) -> Server { FILE: crates/common/src/dns.rs method dns_exists_mx (line 14) | pub async fn dns_exists_mx(&self, entry: &str) -> trc::Result { method dns_exists_ip (line 29) | pub async fn dns_exists_ip(&self, entry: &str) -> trc::Result { method dns_exists_ptr (line 50) | pub async fn dns_exists_ptr(&self, entry: &str) -> trc::Result { method dns_exists_ipv4 (line 69) | pub async fn dns_exists_ipv4(&self, entry: &str) -> trc::Result { method dns_exists_ipv6 (line 84) | pub async fn dns_exists_ipv6(&self, entry: &str) -> trc::Result { FILE: crates/common/src/enterprise/alerts.rs type AlertMessage (line 28) | pub struct AlertMessage { type CollectorResolver (line 34) | struct CollectorResolver; method process_alerts (line 37) | pub async fn process_alerts(&self) -> Option> { method resolve_variable (line 111) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 123) | fn resolve_global(&self, _: &str) -> Variable<'_> { method build (line 129) | pub fn build(&self) -> String { method len (line 138) | pub fn len(&self) -> usize { method write (line 144) | fn write(&self, buf: &mut String) { method len (line 156) | fn len(&self) -> usize { FILE: crates/common/src/enterprise/config.rs method parse (line 34) | pub async fn parse( method parse (line 240) | pub fn parse(config: &mut Config, models: &AHashMap Vec { function parse_metric_alert (line 313) | fn parse_metric_alert(config: &mut Config, id: String) -> Option Option String { FILE: crates/common/src/enterprise/license.rs constant LICENSING_API (line 34) | const LICENSING_API: &str = "https://license.stalw.art/api/license/"; constant RENEW_THRESHOLD (line 35) | const RENEW_THRESHOLD: u64 = 60 * 60 * 24 * 4; type LicenseValidator (line 37) | pub struct LicenseValidator { method new (line 71) | pub fn new() -> Self { method try_parse (line 83) | pub fn try_parse(&self, key: impl AsRef) -> Result) -> Self { method try_renew (line 183) | pub async fn try_renew(&self, api_key: &str) -> Result bool { method expires_in (line 235) | pub fn expires_in(&self) -> Duration { method renew_in (line 239) | pub fn renew_in(&self) -> Duration { method is_expired (line 243) | pub fn is_expired(&self) -> bool { method base_domain (line 248) | pub fn base_domain(domain: impl AsRef) -> Result(); constant U32_LEN (line 67) | const U32_LEN: usize = std::mem::size_of::(); method fmt (line 259) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { FILE: crates/common/src/enterprise/llm.rs type AiApiConfig (line 17) | pub struct AiApiConfig { method send_request (line 87) | pub async fn send_request( method post_api (line 100) | async fn post_api( method parse (line 202) | pub fn parse(config: &mut Config, id: &str) -> Option { type ApiType (line 29) | pub enum ApiType { type ChatCompletionRequest (line 35) | pub struct ChatCompletionRequest { type Message (line 42) | pub struct Message { type ChatCompletionResponse (line 48) | pub struct ChatCompletionResponse { type ChatCompletionChoice (line 57) | pub struct ChatCompletionChoice { type TextCompletionRequest (line 64) | pub struct TextCompletionRequest { type TextCompletionResponse (line 71) | pub struct TextCompletionResponse { type TextCompletionChoice (line 80) | pub struct TextCompletionChoice { FILE: crates/common/src/enterprise/mod.rs type Enterprise (line 36) | pub struct Enterprise { type SpamFilterLlmConfig (line 51) | pub struct SpamFilterLlmConfig { type Undelete (line 64) | pub struct Undelete { type TraceStore (line 69) | pub struct TraceStore { type MetricStore (line 75) | pub struct MetricStore { type MetricAlert (line 82) | pub struct MetricAlert { type AlertMethod (line 89) | pub enum AlertMethod { type AlertContent (line 103) | pub struct AlertContent(pub Vec); type AlertContentToken (line 106) | pub enum AlertContentToken { method is_enterprise_edition (line 113) | pub fn is_enterprise_edition(&self) -> bool { method is_enterprise_edition (line 131) | pub fn is_enterprise_edition(&self) -> bool { method licensed_accounts (line 135) | pub fn licensed_accounts(&self) -> u32 { method log_license_details (line 142) | pub fn log_license_details(&self) { method can_create_account (line 156) | pub async fn can_create_account(&self) -> trc::Result { method logo_resource (line 180) | pub async fn logo_resource(&self, domain: &str) -> trc::Result Option { FILE: crates/common/src/enterprise/undelete.rs type DeletedBlob (line 19) | pub struct DeletedBlob { type DeletedItem (line 26) | pub struct DeletedItem { type DeletedItemType (line 33) | pub enum DeletedItemType { method list_deleted (line 55) | pub async fn list_deleted(&self, account_id: u32) -> trc::Result>, V: ResolveVariable>( method eval_expr (line 85) | pub async fn eval_expr<'x, R: TryFrom>, V: ResolveVariable>( type EvalContext (line 142) | struct EvalContext<'x, V: ResolveVariable, T, C> { function eval (line 151) | async fn eval(&mut self) -> trc::Result> { function eval (line 189) | async fn eval(&mut self) -> trc::Result> { method is_empty (line 325) | pub fn is_empty(&self) -> bool { method items (line 329) | pub fn items(&self) -> &[ExpressionItem] { function op_add (line 335) | pub fn op_add(self, other: Variable<'x>) -> Variable<'x> { function op_subtract (line 367) | pub fn op_subtract(self, other: Variable<'x>) -> Variable<'x> { function op_multiply (line 380) | pub fn op_multiply(self, other: Variable<'x>) -> Variable<'x> { function op_divide (line 390) | pub fn op_divide(self, other: Variable<'x>) -> Variable<'x> { function op_and (line 408) | pub fn op_and(self, other: Variable) -> Variable { function op_or (line 412) | pub fn op_or(self, other: Variable) -> Variable { function op_xor (line 416) | pub fn op_xor(self, other: Variable) -> Variable { function op_eq (line 420) | pub fn op_eq(self, other: Variable) -> Variable { function op_ne (line 424) | pub fn op_ne(self, other: Variable) -> Variable { function op_lt (line 428) | pub fn op_lt(self, other: Variable) -> Variable { function op_le (line 432) | pub fn op_le(self, other: Variable) -> Variable { function op_gt (line 436) | pub fn op_gt(self, other: Variable) -> Variable { function op_ge (line 440) | pub fn op_ge(self, other: Variable) -> Variable { function op_not (line 444) | pub fn op_not(self) -> Variable<'static> { function op_minus (line 448) | pub fn op_minus(self) -> Variable<'static> { function parse_number (line 456) | pub fn parse_number(&self) -> Variable<'static> { function array (line 475) | fn array(num_items: usize) -> Vec> { function to_ref (line 483) | pub fn to_ref<'y: 'x>(&'y self) -> Variable<'x> { function to_bool (line 492) | pub fn to_bool(&self) -> bool { function to_string (line 501) | pub fn to_string(&'_ self) -> StringCow<'_> { function into_string (line 524) | pub fn into_string(self) -> StringCow<'x> { function to_integer (line 547) | pub fn to_integer(&self) -> Option { function to_usize (line 556) | pub fn to_usize(&self) -> Option { function len (line 565) | pub fn len(&self) -> usize { function is_empty (line 573) | pub fn is_empty(&self) -> bool { function as_array (line 580) | pub fn as_array(&'_ self) -> Option<&'_ [Variable<'_>]> { function into_array (line 587) | pub fn into_array(self) -> Vec> { function to_array (line 595) | pub fn to_array(&self) -> Vec> { function into_owned (line 603) | pub fn into_owned(self) -> Variable<'static> { method eq (line 614) | fn eq(&self, other: &Self) -> bool { method partial_cmp (line 634) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 655) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method fmt (line 661) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 680) | fn from(value: &'x Constant) -> Self { type Error (line 690) | type Error = (); method try_from (line 692) | fn try_from(value: Variable<'x>) -> Result { type Error (line 705) | type Error = (); method try_from (line 707) | fn try_from(value: Variable<'x>) -> Result { function from (line 720) | fn from(val: Variable<'x>) -> Self { type Error (line 726) | type Error = (); function try_from (line 728) | fn try_from(value: Variable<'x>) -> Result { type Error (line 734) | type Error = (); function try_from (line 736) | fn try_from(value: Variable<'x>) -> Result { type Error (line 742) | type Error = (); function try_from (line 744) | fn try_from(value: Variable<'x>) -> Result { type Error (line 750) | type Error = (); method try_from (line 752) | fn try_from(value: Variable<'x>) -> Result { FILE: crates/common/src/expr/functions/array.rs function fn_count (line 9) | pub(crate) fn fn_count(v: Vec) -> Variable { function fn_sort (line 23) | pub(crate) fn fn_sort(mut v: Vec) -> Variable { function fn_dedup (line 34) | pub(crate) fn fn_dedup(mut v: Vec) -> Variable { function fn_is_intersect (line 47) | pub(crate) fn fn_is_intersect(v: Vec) -> Variable { function fn_winnow (line 56) | pub(crate) fn fn_winnow(mut v: Vec) -> Variable { FILE: crates/common/src/expr/functions/asynch.rs method eval_fnc (line 20) | pub(crate) async fn eval_fnc<'x>( method sql_query (line 111) | async fn sql_query<'x>( method dns_query (line 173) | async fn dns_query<'x>(&self, mut arguments: FncParams<'x>) -> trc::Resu... type FncParams (line 289) | struct FncParams<'x> { function new (line 294) | pub fn new(params: Vec>) -> Self { function next_as_string (line 300) | pub fn next_as_string(&mut self) -> StringCow<'x> { function next_as_integer (line 304) | pub fn next_as_integer(&mut self) -> i64 { function next (line 308) | pub fn next(&mut self) -> Variable<'x> { type VariableWrapper (line 314) | struct VariableWrapper(Variable<'static>); method from (line 317) | fn from(value: i64) -> Self { method from (line 331) | fn from(value: store::Value<'static>) -> Self { method into_inner (line 347) | pub fn into_inner(self) -> Variable<'static> { method deserialize (line 323) | fn deserialize(bytes: &[u8]) -> trc::Result { function to_store_value (line 352) | fn to_store_value(value: Variable) -> Value { function into_variable (line 361) | fn into_variable(value: Value) -> Variable { FILE: crates/common/src/expr/functions/email.rs function fn_is_email (line 11) | pub(crate) fn fn_is_email(v: Vec) -> Variable { function fn_email_part (line 81) | pub(crate) fn fn_email_part(v: Vec) -> Variable { FILE: crates/common/src/expr/functions/misc.rs function fn_is_empty (line 14) | pub(crate) fn fn_is_empty(v: Vec) -> Variable { function fn_is_number (line 23) | pub(crate) fn fn_is_number(v: Vec) -> Variable { function fn_is_ip_addr (line 27) | pub(crate) fn fn_is_ip_addr(v: Vec) -> Variable { function fn_is_ipv4_addr (line 35) | pub(crate) fn fn_is_ipv4_addr(v: Vec) -> Variable { function fn_is_ipv6_addr (line 43) | pub(crate) fn fn_is_ipv6_addr(v: Vec) -> Variable { function fn_ip_reverse_name (line 51) | pub(crate) fn fn_ip_reverse_name(v: Vec) -> Variable { function fn_if_then (line 62) | pub(crate) fn fn_if_then(v: Vec) -> Variable { FILE: crates/common/src/expr/functions/mod.rs type ResolveVariable (line 15) | pub trait ResolveVariable: Sync + Send { method resolve_variable (line 16) | fn resolve_variable(&self, variable: u32) -> Variable<'_>; method resolve_global (line 17) | fn resolve_global(&self, variable: &str) -> Variable<'_>; function transform (line 21) | fn transform(self, f: impl Fn(StringCow<'x>) -> Variable<'x>) -> Variabl... constant FUNCTIONS (line 38) | pub(crate) const FUNCTIONS: &[(&str, fn(Vec) -> Variable, u32)... constant F_IS_LOCAL_DOMAIN (line 84) | pub const F_IS_LOCAL_DOMAIN: u32 = 0; constant F_IS_LOCAL_ADDRESS (line 85) | pub const F_IS_LOCAL_ADDRESS: u32 = 1; constant F_KEY_GET (line 86) | pub const F_KEY_GET: u32 = 2; constant F_KEY_EXISTS (line 87) | pub const F_KEY_EXISTS: u32 = 3; constant F_KEY_SET (line 88) | pub const F_KEY_SET: u32 = 4; constant F_COUNTER_INCR (line 89) | pub const F_COUNTER_INCR: u32 = 5; constant F_COUNTER_GET (line 90) | pub const F_COUNTER_GET: u32 = 6; constant F_SQL_QUERY (line 91) | pub const F_SQL_QUERY: u32 = 7; constant F_DNS_QUERY (line 92) | pub const F_DNS_QUERY: u32 = 8; constant ASYNC_FUNCTIONS (line 94) | pub const ASYNC_FUNCTIONS: &[(&str, u32, u32)] = &[ FILE: crates/common/src/expr/functions/text.rs function fn_trim (line 13) | pub(crate) fn fn_trim(mut v: Vec) -> Variable { function fn_trim_end (line 20) | pub(crate) fn fn_trim_end(mut v: Vec) -> Variable { function fn_trim_start (line 27) | pub(crate) fn fn_trim_start(mut v: Vec) -> Variable { function fn_len (line 34) | pub(crate) fn fn_len(v: Vec) -> Variable { function fn_to_lowercase (line 43) | pub(crate) fn fn_to_lowercase(mut v: Vec) -> Variable { function fn_to_uppercase (line 48) | pub(crate) fn fn_to_uppercase(mut v: Vec) -> Variable { function fn_is_uppercase (line 53) | pub(crate) fn fn_is_uppercase(mut v: Vec) -> Variable { function fn_is_lowercase (line 63) | pub(crate) fn fn_is_lowercase(mut v: Vec) -> Variable { function fn_has_digits (line 73) | pub(crate) fn fn_has_digits(mut v: Vec) -> Variable { function fn_split_words (line 78) | pub(crate) fn fn_split_words(v: Vec) -> Variable { function fn_count_spaces (line 88) | pub(crate) fn fn_count_spaces(v: Vec) -> Variable { function fn_count_uppercase (line 97) | pub(crate) fn fn_count_uppercase(v: Vec) -> Variable { function fn_count_lowercase (line 106) | pub(crate) fn fn_count_lowercase(v: Vec) -> Variable { function fn_count_chars (line 115) | pub(crate) fn fn_count_chars(v: Vec) -> Variable { function fn_eq_ignore_case (line 119) | pub(crate) fn fn_eq_ignore_case(v: Vec) -> Variable { function fn_contains (line 126) | pub(crate) fn fn_contains(v: Vec) -> Variable { function fn_contains_ignore_case (line 135) | pub(crate) fn fn_contains_ignore_case(v: Vec) -> Variable { function fn_starts_with (line 151) | pub(crate) fn fn_starts_with(v: Vec) -> Variable { function fn_ends_with (line 158) | pub(crate) fn fn_ends_with(v: Vec) -> Variable { function fn_lines (line 165) | pub(crate) fn fn_lines(mut v: Vec) -> Variable { function fn_substring (line 177) | pub(crate) fn fn_substring(v: Vec) -> Variable { function fn_strip_prefix (line 187) | pub(crate) fn fn_strip_prefix(v: Vec) -> Variable { function fn_strip_suffix (line 204) | pub(crate) fn fn_strip_suffix(v: Vec) -> Variable { function fn_split (line 221) | pub(crate) fn fn_split(v: Vec) -> Variable { function fn_rsplit (line 240) | pub(crate) fn fn_rsplit(v: Vec) -> Variable { function fn_split_n (line 259) | pub(crate) fn fn_split_n(v: Vec) -> Variable { function fn_split_once (line 289) | pub(crate) fn fn_split_once(v: Vec) -> Variable { function fn_rsplit_once (line 311) | pub(crate) fn fn_rsplit_once(v: Vec) -> Variable { function fn_hash (line 333) | pub(crate) fn fn_hash(v: Vec) -> Variable { FILE: crates/common/src/expr/if_block.rs type IfThen (line 19) | pub struct IfThen { type IfBlock (line 25) | pub struct IfBlock { method new (line 32) | pub fn new( method empty (line 54) | pub fn empty(key: impl Into) -> Self { method is_empty (line 64) | pub fn is_empty(&self) -> bool { method try_parse (line 96) | pub fn try_parse( method into_default (line 217) | pub fn into_default(self, key: impl Into) -> IfBlock { method default_string (line 225) | pub fn default_string(&self) -> Option<&str> { method into_default_string (line 235) | pub fn into_default_string(self) -> Option { method try_parse (line 70) | pub fn try_parse( method parse (line 88) | fn parse(token_map: &TokenMap, expr: &str) -> Self { FILE: crates/common/src/expr/mod.rs constant V_RECIPIENT (line 18) | pub const V_RECIPIENT: u32 = 0; constant V_RECIPIENT_DOMAIN (line 19) | pub const V_RECIPIENT_DOMAIN: u32 = 1; constant V_SENDER (line 20) | pub const V_SENDER: u32 = 2; constant V_SENDER_DOMAIN (line 21) | pub const V_SENDER_DOMAIN: u32 = 3; constant V_MX (line 22) | pub const V_MX: u32 = 4; constant V_HELO_DOMAIN (line 23) | pub const V_HELO_DOMAIN: u32 = 5; constant V_AUTHENTICATED_AS (line 24) | pub const V_AUTHENTICATED_AS: u32 = 6; constant V_LISTENER (line 25) | pub const V_LISTENER: u32 = 7; constant V_REMOTE_IP (line 26) | pub const V_REMOTE_IP: u32 = 8; constant V_REMOTE_PORT (line 27) | pub const V_REMOTE_PORT: u32 = 9; constant V_LOCAL_IP (line 28) | pub const V_LOCAL_IP: u32 = 10; constant V_LOCAL_PORT (line 29) | pub const V_LOCAL_PORT: u32 = 11; constant V_PRIORITY (line 30) | pub const V_PRIORITY: u32 = 12; constant V_PROTOCOL (line 31) | pub const V_PROTOCOL: u32 = 13; constant V_TLS (line 32) | pub const V_TLS: u32 = 14; constant V_RECIPIENTS (line 33) | pub const V_RECIPIENTS: u32 = 15; constant V_QUEUE_RETRY_NUM (line 34) | pub const V_QUEUE_RETRY_NUM: u32 = 16; constant V_QUEUE_NOTIFY_NUM (line 35) | pub const V_QUEUE_NOTIFY_NUM: u32 = 17; constant V_QUEUE_EXPIRES_IN (line 36) | pub const V_QUEUE_EXPIRES_IN: u32 = 18; constant V_QUEUE_LAST_STATUS (line 37) | pub const V_QUEUE_LAST_STATUS: u32 = 19; constant V_QUEUE_LAST_ERROR (line 38) | pub const V_QUEUE_LAST_ERROR: u32 = 20; constant V_URL (line 39) | pub const V_URL: u32 = 21; constant V_URL_PATH (line 40) | pub const V_URL_PATH: u32 = 22; constant V_HEADERS (line 41) | pub const V_HEADERS: u32 = 23; constant V_METHOD (line 42) | pub const V_METHOD: u32 = 24; constant V_ASN (line 43) | pub const V_ASN: u32 = 25; constant V_COUNTRY (line 44) | pub const V_COUNTRY: u32 = 26; constant V_RECEIVED_VIA_PORT (line 45) | pub const V_RECEIVED_VIA_PORT: u32 = 27; constant V_RECEIVED_FROM_IP (line 46) | pub const V_RECEIVED_FROM_IP: u32 = 28; constant V_QUEUE_NAME (line 47) | pub const V_QUEUE_NAME: u32 = 29; constant V_SOURCE (line 48) | pub const V_SOURCE: u32 = 30; constant V_SIZE (line 49) | pub const V_SIZE: u32 = 31; constant V_QUEUE_AGE (line 50) | pub const V_QUEUE_AGE: u32 = 32; constant VARIABLES_MAP (line 52) | pub const VARIABLES_MAP: &[(&str, u32)] = &[ type Expression (line 95) | pub struct Expression { method from (line 325) | fn from(value: T) -> Self { type ExpressionItem (line 100) | pub enum ExpressionItem { type Variable (line 116) | pub enum Variable<'x> { type StringCow (line 124) | pub enum StringCow<'x> { method default (line 130) | fn default() -> Self { type Constant (line 136) | pub enum Constant { method from (line 145) | fn from(value: CompactString) -> Self { method from (line 151) | fn from(value: bool) -> Self { method from (line 157) | fn from(value: i64) -> Self { method from (line 163) | fn from(value: i32) -> Self { method from (line 169) | fn from(value: i16) -> Self { method from (line 175) | fn from(value: f64) -> Self { method from (line 181) | fn from(value: usize) -> Self { method from (line 408) | fn from(_: ()) -> Self { method from (line 514) | fn from(value: Duration) -> Self { type BinaryOperator (line 187) | pub enum BinaryOperator { type UnaryOperator (line 206) | pub enum UnaryOperator { type Token (line 212) | pub enum Token { type Setting (line 234) | pub enum Setting { method from (line 242) | fn from(value: CompactString) -> Self { function from (line 253) | fn from(value: usize) -> Self { function from (line 259) | fn from(value: i64) -> Self { function from (line 265) | fn from(value: u64) -> Self { function from (line 271) | fn from(value: i32) -> Self { function from (line 277) | fn from(value: u32) -> Self { function from (line 283) | fn from(value: u16) -> Self { function from (line 289) | fn from(value: i16) -> Self { function from (line 295) | fn from(value: f64) -> Self { function from (line 301) | fn from(value: &'x str) -> Self { function from (line 307) | fn from(value: CompactString) -> Self { function from (line 313) | fn from(value: Vec>) -> Self { function from (line 319) | fn from(value: bool) -> Self { method eq (line 333) | fn eq(&self, other: &Self) -> bool { method eq (line 369) | fn eq(&self, other: &Self) -> bool { type NoConstants (line 395) | pub struct NoConstants; type ConstantValue (line 397) | pub trait ConstantValue: method add_constants (line 400) | fn add_constants(token_map: &mut TokenMap); method add_constants (line 404) | fn add_constants(_: &mut TokenMap) {} method add_constants (line 422) | fn add_constants(_: &mut TokenMap) {} type Error (line 414) | type Error = (); function try_from (line 416) | fn try_from(_: Variable<'x>) -> Result { type Error (line 426) | type Error = (); method try_from (line 428) | fn try_from(value: Variable<'x>) -> Result { function as_str (line 441) | pub fn as_str(&self) -> &str { function as_bytes (line 448) | pub fn as_bytes(&self) -> &[u8] { function is_empty (line 455) | pub fn is_empty(&self) -> bool { function len (line 462) | pub fn len(&self) -> usize { function into_owned (line 469) | pub fn into_owned(self) -> CompactString { function from (line 478) | fn from(value: Cow<'x, str>) -> Self { function from (line 487) | fn from(value: CompactString) -> Self { function as_ref (line 493) | fn as_ref(&self) -> &str { function as_ref (line 499) | fn as_ref(&self) -> &[u8] { method fmt (line 505) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type Error (line 520) | type Error = (); method try_from (line 522) | fn try_from(value: Variable<'x>) -> Result { type Error (line 543) | type Error = (); method try_from (line 545) | fn try_from(value: Variable<'x>) -> Result { type Error (line 554) | type Error = (); method try_from (line 556) | fn try_from(value: Variable<'x>) -> Result { type Error (line 565) | type Error = (); method try_from (line 567) | fn try_from(value: Variable<'x>) -> Result { type Error (line 579) | type Error = (); function try_from (line 581) | fn try_from(value: Variable<'x>) -> Result { FILE: crates/common/src/expr/parser.rs type ExpressionParser (line 9) | pub struct ExpressionParser<'x> { constant ID_ARRAY_ACCESS (line 16) | pub(crate) const ID_ARRAY_ACCESS: u32 = u32::MAX; constant ID_ARRAY_BUILD (line 17) | pub(crate) const ID_ARRAY_BUILD: u32 = u32::MAX - 1; function new (line 20) | pub fn new(tokenizer: Tokenizer<'x>) -> Self { function parse (line 29) | pub fn parse(mut self) -> Result { function inc_arg_count (line 234) | fn inc_arg_count(&mut self) { function dec_arg_count (line 247) | fn dec_arg_count(&mut self) { function update_jmp_pos (line 253) | fn update_jmp_pos(&mut self, jmp_pos: Option) { method precedence (line 267) | fn precedence(&self) -> i32 { FILE: crates/common/src/expr/tokenizer.rs type Tokenizer (line 18) | pub struct Tokenizer<'x> { type TokenMap (line 32) | pub struct TokenMap { method with_all_variables (line 348) | pub fn with_all_variables(self) -> Self { method with_variables (line 381) | pub fn with_variables(mut self, variables: &[u32]) -> Self { method with_variables_map (line 392) | pub fn with_variables_map(mut self, vars: I) -> Self method set_constants (line 404) | pub fn set_constants(mut self, consts: I) -> Self method with_constants (line 417) | pub fn with_constants(mut self) -> Self { method add_constant (line 422) | pub fn add_constant(&mut self, name: &'static str, constant: impl Into... function new (line 38) | pub fn new(expr: &'x str, token_map: &'x TokenMap) -> Self { function next (line 54) | pub fn next(&mut self) -> Result, String> { function find_char (line 218) | fn find_char(&mut self, chars: &[u8]) -> Result { function parse_string (line 236) | fn parse_string(&mut self, stop_ch: u8) -> Result { function parse_buf (line 276) | fn parse_buf(&mut self) -> Result { FILE: crates/common/src/i18n.rs function locale_or_default (line 9) | pub fn locale_or_default(name: &str) -> &'static Locale { function calendar_templates_include_minutes (line 20) | fn calendar_templates_include_minutes() { FILE: crates/common/src/ipc.rs type HousekeeperEvent (line 30) | pub enum HousekeeperEvent { type PurgeType (line 40) | pub enum PurgeType { type PushEvent (line 57) | pub enum PushEvent { type PushNotification (line 79) | pub enum PushNotification { method account_id (line 262) | pub fn account_id(&self) -> u32 { method filter_types (line 270) | pub fn filter_types(&self, types: &Bitmap) -> Option StateChange { type CalendarAlert (line 93) | pub struct CalendarAlert { type BroadcastEvent (line 102) | pub enum BroadcastEvent { type QueueEvent (line 113) | pub enum QueueEvent { type QueueEventStatus (line 126) | pub enum QueueEventStatus { type ReportingEvent (line 133) | pub enum ReportingEvent { method from (line 216) | fn from(value: DmarcEvent) -> Self { method from (line 222) | fn from(value: TlsEvent) -> Self { type DmarcEvent (line 140) | pub struct DmarcEvent { type TlsEvent (line 148) | pub struct TlsEvent { type PolicyType (line 157) | pub enum PolicyType { method from (line 228) | fn from(value: Arc) -> Self { method from (line 234) | fn from(value: Arc) -> Self { method from (line 240) | fn from(value: &Arc) -> Self { method from (line 246) | fn from(value: &Arc) -> Self { method from (line 252) | fn from(value: (&Option>, &Option>)) -> Self { type TrainTaskController (line 163) | pub struct TrainTaskController { method try_run (line 178) | pub fn try_run(&self) -> Option> { method is_running (line 186) | pub fn is_running(&self) -> bool { method stop (line 190) | pub fn stop(&self) { method should_stop (line 194) | pub fn should_stop(&self) -> bool { method default (line 169) | fn default() -> Self { type ToHash (line 199) | pub trait ToHash { method to_hash (line 200) | fn to_hash(&self) -> u64; method to_hash (line 204) | fn to_hash(&self) -> u64 { method to_hash (line 210) | fn to_hash(&self) -> u64 { FILE: crates/common/src/lib.rs constant DATABASE_SCHEMA_VERSION (line 96) | pub const DATABASE_SCHEMA_VERSION: u32 = 5; constant LONG_1D_SLUMBER (line 98) | pub const LONG_1D_SLUMBER: Duration = Duration::from_secs(60 * 60 * 24); constant LONG_1Y_SLUMBER (line 99) | pub const LONG_1Y_SLUMBER: Duration = Duration::from_secs(60 * 60 * 24 *... constant IPC_CHANNEL_BUFFER (line 101) | pub const IPC_CHANNEL_BUFFER: usize = 1024; constant KV_ACME (line 103) | pub const KV_ACME: u8 = 0; constant KV_OAUTH (line 104) | pub const KV_OAUTH: u8 = 1; constant KV_RATE_LIMIT_RCPT (line 105) | pub const KV_RATE_LIMIT_RCPT: u8 = 2; constant KV_RATE_LIMIT_SCAN (line 106) | pub const KV_RATE_LIMIT_SCAN: u8 = 3; constant KV_RATE_LIMIT_LOITER (line 107) | pub const KV_RATE_LIMIT_LOITER: u8 = 4; constant KV_RATE_LIMIT_AUTH (line 108) | pub const KV_RATE_LIMIT_AUTH: u8 = 5; constant KV_RATE_LIMIT_SMTP (line 109) | pub const KV_RATE_LIMIT_SMTP: u8 = 6; constant KV_RATE_LIMIT_CONTACT (line 110) | pub const KV_RATE_LIMIT_CONTACT: u8 = 7; constant KV_RATE_LIMIT_HTTP_AUTHENTICATED (line 111) | pub const KV_RATE_LIMIT_HTTP_AUTHENTICATED: u8 = 8; constant KV_RATE_LIMIT_HTTP_ANONYMOUS (line 112) | pub const KV_RATE_LIMIT_HTTP_ANONYMOUS: u8 = 9; constant KV_RATE_LIMIT_IMAP (line 113) | pub const KV_RATE_LIMIT_IMAP: u8 = 10; constant KV_GREYLIST (line 114) | pub const KV_GREYLIST: u8 = 16; constant KV_LOCK_PURGE_ACCOUNT (line 115) | pub const KV_LOCK_PURGE_ACCOUNT: u8 = 20; constant KV_LOCK_QUEUE_MESSAGE (line 116) | pub const KV_LOCK_QUEUE_MESSAGE: u8 = 21; constant KV_LOCK_QUEUE_REPORT (line 117) | pub const KV_LOCK_QUEUE_REPORT: u8 = 22; constant KV_LOCK_TASK (line 118) | pub const KV_LOCK_TASK: u8 = 23; constant KV_LOCK_HOUSEKEEPER (line 119) | pub const KV_LOCK_HOUSEKEEPER: u8 = 24; constant KV_LOCK_DAV (line 120) | pub const KV_LOCK_DAV: u8 = 25; constant KV_SIEVE_ID (line 121) | pub const KV_SIEVE_ID: u8 = 26; type Server (line 124) | pub struct Server { type Inner (line 129) | pub struct Inner { type Data (line 136) | pub struct Data { type Caches (line 157) | pub struct Caches { type CacheSwap (line 179) | pub struct CacheSwap(pub Arc>); type MessageStoreCache (line 182) | pub struct MessageStoreCache { type MailboxesCache (line 191) | pub struct MailboxesCache { type MessagesCache (line 199) | pub struct MessagesCache { type MessageCache (line 208) | pub struct MessageCache { type MessageUidCache (line 218) | pub struct MessageUidCache { type MailboxCache (line 224) | pub struct MailboxCache { method parent_id (line 909) | pub fn parent_id(&self) -> Option { method sort_order (line 917) | pub fn sort_order(&self) -> Option { method is_root (line 925) | pub fn is_root(&self) -> bool { type HttpAuthCache (line 237) | pub struct HttpAuthCache { type Ipc (line 243) | pub struct Ipc { type TlsConnectors (line 253) | pub struct TlsConnectors { type NameWrapper (line 258) | pub struct NameWrapper(pub String); type DavResources (line 261) | pub struct DavResources { method by_path (line 571) | pub fn by_path(&self, name: &str) -> Option> { method container_resource_by_id (line 578) | pub fn container_resource_by_id(&self, id: u32) -> Option<&DavResource> { method container_resource_path_by_id (line 584) | pub fn container_resource_path_by_id(&self, id: u32) -> Option Option impl Iterator impl Iterator impl Iterator impl Iterator { method format_resource (line 677) | pub fn format_resource(&self, resource: DavResourcePath<'_>) -> String { method format_collection (line 685) | pub fn format_collection(&self, name: &str) -> String { method format_item (line 689) | pub fn format_item(&self, name: &str) -> String { type DavPath (line 273) | pub struct DavPath { method borrow (line 852) | fn borrow(&self) -> &str { type DavResource (line 281) | pub struct DavResource { method is_child_of (line 697) | pub fn is_child_of(&self, parent_id: u32) -> bool { method parent_id (line 713) | pub fn parent_id(&self) -> Option { method child_names (line 727) | pub fn child_names(&self) -> Option<&[DavName]> { method container_name (line 738) | pub fn container_name(&self) -> Option<&str> { method has_hierarchy_changes (line 754) | pub fn has_hierarchy_changes(&self, other: &DavResource) -> bool { method event_time_range (line 792) | pub fn event_time_range(&self) -> Option<(i64, i64)> { method calendar_preferences (line 801) | pub fn calendar_preferences(&self, account_id: u32) -> Option<&TinyCal... method is_container (line 811) | pub fn is_container(&self) -> bool { method size (line 820) | pub fn size(&self) -> Option { method acls (line 827) | pub fn acls(&self) -> Option<&[AclGrant]> { method hash (line 858) | fn hash(&self, state: &mut H) { method borrow (line 872) | fn borrow(&self) -> &u32 { type DavResourcePath (line 287) | pub struct DavResourcePath<'x> { type DavResourceMetadata (line 293) | pub enum DavResourceMetadata { type TinyCalendarPreferences (line 323) | pub struct TinyCalendarPreferences { type DavName (line 333) | pub struct DavName { method new (line 878) | pub fn new(name: String, parent_id: u32) -> Self { method new_with_rand_name (line 882) | pub fn new_with_rand_name(parent_id: u32) -> Self { type Core (line 339) | pub struct Core { method weight (line 361) | fn weight(&self) -> u64 { method weight (line 367) | fn weight(&self) -> u64 { method weight (line 373) | fn weight(&self) -> u64 { method weight (line 379) | fn weight(&self) -> u64 { type IntoString (line 384) | pub trait IntoString: Sized { method into_string (line 385) | fn into_string(self) -> String; method into_string (line 389) | fn into_string(self) -> String { type ThrottleKey (line 396) | pub struct ThrottleKey { method hash (line 407) | fn hash(&self, state: &mut H) { method as_ref (line 413) | fn as_ref(&self) -> &[u8] { method eq (line 401) | fn eq(&self, other: &Self) -> bool { type ThrottleKeyHasher (line 419) | pub struct ThrottleKeyHasher { method finish (line 424) | fn finish(&self) -> u64 { method write (line 428) | fn write(&mut self, bytes: &[u8]) { type ThrottleKeyHasherBuilder (line 440) | pub struct ThrottleKeyHasherBuilder {} type Hasher (line 443) | type Hasher = ThrottleKeyHasher; method build_hasher (line 445) | fn build_hasher(&self) -> Self::Hasher { method default (line 453) | fn default() -> Self { method default (line 464) | fn default() -> Self { method default (line 477) | fn default() -> Self { method default (line 501) | fn default() -> Self { function ip_to_bytes (line 514) | pub fn ip_to_bytes(ip: &IpAddr) -> Vec { function ip_to_bytes_prefix (line 521) | pub fn ip_to_bytes_prefix(prefix: u8, ip: &IpAddr) -> Vec { function document_id (line 540) | pub fn document_id(&self) -> u32 { function parent_id (line 545) | pub fn parent_id(&self) -> Option { function path (line 550) | pub fn path(&self) -> &str { function is_container (line 555) | pub fn is_container(&self) -> bool { function hierarchy_seq (line 560) | pub fn hierarchy_seq(&self) -> u32 { function size (line 565) | pub fn size(&self) -> u32 { constant SCHEDULE_INBOX_ID (line 694) | const SCHEDULE_INBOX_ID: u32 = u32::MAX - 1; method hash (line 838) | fn hash(&self, state: &mut H) { method eq (line 844) | fn eq(&self, other: &Self) -> bool { method eq (line 864) | fn eq(&self, other: &Self) -> bool { function new (line 895) | pub fn new(value: Arc) -> Self { function load_full (line 899) | pub fn load_full(&self) -> Arc { function update (line 903) | pub fn update(&self, value: Arc) { constant DEFAULT_LOGO_RAW (line 930) | pub const DEFAULT_LOGO_RAW: &str = r#" Vec { method create (line 56) | pub async fn create(directory: Directory, provider: &AcmeProvider) -> ... method create_with_keypair (line 60) | pub async fn create_with_keypair( method request (line 105) | async fn request( method new_order (line 126) | pub async fn new_order(&self, domains: Vec) -> trc::Result<(St... method auth (line 145) | pub async fn auth(&self, url: impl AsRef) -> trc::Result { method challenge (line 151) | pub async fn challenge(&self, url: impl AsRef) -> trc::Result<()> { method order (line 155) | pub async fn order(&self, url: impl AsRef) -> trc::Result { method finalize (line 161) | pub async fn finalize(&self, url: impl AsRef, csr: Vec) -> tr... method certificate (line 168) | pub async fn certificate(&self, url: impl AsRef) -> trc::Result trc::Result> { method dns_proof (line 176) | pub fn dns_proof(&self, challenge: &Challenge) -> trc::Result { method tls_alpn_key (line 180) | pub fn tls_alpn_key(&self, challenge: &Challenge, domain: String) -> t... type NewAccountPayload (line 37) | pub struct NewAccountPayload<'x> { type SerializedCert (line 207) | pub struct SerializedCert { type Directory (line 214) | pub struct Directory { method discover (line 221) | pub async fn discover(url: impl AsRef) -> trc::Result { method nonce (line 231) | pub async fn nonce(&self) -> trc::Result { type ChallengeType (line 240) | pub enum ChallengeType { method as_str (line 366) | pub fn as_str(&self) -> &'static str { type Order (line 253) | pub struct Order { type OrderStatus (line 263) | pub enum OrderStatus { type Auth (line 273) | pub struct Auth { type AuthStatus (line 282) | pub enum AuthStatus { method as_str (line 377) | pub fn as_str(&self) -> &'static str { type Identifier (line 293) | pub enum Identifier { type Challenge (line 298) | pub struct Challenge { type Problem (line 308) | pub struct Problem { function https (line 315) | async fn https( function get_header (line 352) | fn get_header(response: &Response, header: &'static str) -> trc::Result<... FILE: crates/common/src/listener/acme/jose.rs function sign (line 11) | pub(crate) fn sign( function eab_sign (line 41) | pub(crate) fn eab_sign( function key_authorization (line 62) | pub(crate) fn key_authorization(key: &EcdsaKeyPair, token: &str) -> trc:... function key_authorization_sha256 (line 70) | pub(crate) fn key_authorization_sha256(key: &EcdsaKeyPair, token: &str) ... function key_authorization_sha256_base64 (line 74) | pub(crate) fn key_authorization_sha256_base64( type Body (line 82) | pub(crate) struct Body { type Protected (line 89) | struct Protected<'a> { function encode (line 101) | fn encode( type Jwk (line 121) | struct Jwk { method new (line 132) | pub(crate) fn new(key: &EcdsaKeyPair) -> Self { method base64 (line 144) | pub(crate) fn base64(&self) -> trc::Result { method thumb_sha256_base64 (line 150) | pub(crate) fn thumb_sha256_base64(&self) -> trc::Result { type JwkThumb (line 165) | struct JwkThumb<'a> { FILE: crates/common/src/listener/acme/mod.rs type AcmeProvider (line 23) | pub struct AcmeProvider { method new (line 60) | pub fn new( type EabSettings (line 36) | pub struct EabSettings { type ChallengeSettings (line 42) | pub enum ChallengeSettings { method challenge_type (line 130) | pub fn challenge_type(&self) -> ChallengeType { type StaticResolver (line 54) | pub struct StaticResolver { method init_acme (line 94) | pub async fn init_acme(&self, provider: &AcmeProvider) -> trc::Result bool { method has_acme_http_providers (line 120) | pub fn has_acme_http_providers(&self) -> bool { method fmt (line 140) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method clone (line 146) | fn clone(&self) -> Self { FILE: crates/common/src/listener/acme/order.rs method process_cert (line 26) | pub(crate) async fn process_cert( method renew (line 58) | pub async fn renew(&self, provider: &AcmeProvider) -> trc::Result trc::Result> { method authorize (line 173) | async fn authorize( function parse_cert (line 395) | fn parse_cert(pem: &[u8]) -> trc::Result<(CertifiedKey, [DateTime; ... FILE: crates/common/src/listener/acme/resolver.rs method set_cert (line 27) | pub(crate) fn set_cert(&self, provider: &AcmeProvider, cert: Arc Optio... method resolve (line 102) | fn resolve(&self, _: ClientHello) -> Option> { function build_acme_static_resolver (line 107) | pub(crate) fn build_acme_static_resolver(key: Option>)... type IsTlsAlpnChallenge (line 115) | pub trait IsTlsAlpnChallenge { method is_tls_alpn_challenge (line 116) | fn is_tls_alpn_challenge(&self) -> bool; method is_tls_alpn_challenge (line 120) | fn is_tls_alpn_challenge(&self) -> bool { FILE: crates/common/src/listener/asn.rs type AsnGeoLookupData (line 21) | pub struct AsnGeoLookupData { type AsnData (line 29) | pub struct AsnData { type AsnGeoLookupResult (line 35) | pub struct AsnGeoLookupResult { type Data (line 40) | struct Data { type IpRange (line 45) | pub struct IpRange { method lookup_asn_country (line 52) | pub async fn lookup_asn_country(&self, ip: IpAddr) -> AsnGeoLookupResult { method refresh_asn_geo_tables (line 138) | fn refresh_asn_geo_tables(&self) { function new (line 316) | fn new() -> Self { function lookup (line 323) | pub fn lookup(&self, ip: IpAddr) -> Option<&T> { function insert (line 358) | pub fn insert(&mut self, from_ip: IpAddr, to_ip: IpAddr, data: T) -> bool { function sorted (line 380) | pub fn sorted(mut self) -> Self { function is_empty (line 386) | pub fn is_empty(&self) -> bool { method default (line 392) | fn default() -> Self { FILE: crates/common/src/listener/blocked.rs type Security (line 25) | pub struct Security { method parse (line 52) | pub fn parse(config: &mut Config) -> Self { constant BLOCKED_IP_KEY (line 41) | pub const BLOCKED_IP_KEY: &str = "server.blocked-ip"; constant BLOCKED_IP_PREFIX (line 42) | pub const BLOCKED_IP_PREFIX: &str = "server.blocked-ip."; constant ALLOWED_IP_KEY (line 43) | pub const ALLOWED_IP_KEY: &str = "server.allowed-ip"; constant ALLOWED_IP_PREFIX (line 44) | pub const ALLOWED_IP_PREFIX: &str = "server.allowed-ip."; type BlockedIps (line 46) | pub struct BlockedIps { method parse (line 283) | pub fn parse(config: &mut Config) -> Self { method is_rcpt_fail2banned (line 140) | pub async fn is_rcpt_fail2banned(&self, ip: IpAddr, rcpt: &str) -> trc::... method is_scanner_fail2banned (line 162) | pub async fn is_scanner_fail2banned(&self, ip: IpAddr) -> trc::Result trc::... method is_loiter_fail2banned (line 189) | pub async fn is_loiter_fail2banned(&self, ip: IpAddr) -> trc::Result)... method block_ip (line 229) | pub async fn block_ip(&self, ip: IpAddr) -> trc::Result<()> { method has_auth_fail2ban (line 253) | pub fn has_auth_fail2ban(&self) -> bool { method is_ip_blocked (line 257) | pub fn is_ip_blocked(&self, ip: &IpAddr) -> bool { method is_ip_allowed (line 269) | pub fn is_ip_allowed(&self, ip: &IpAddr) -> bool { method default (line 314) | fn default() -> Self { FILE: crates/common/src/listener/limiter.rs type ConcurrencyLimiter (line 13) | pub struct ConcurrencyLimiter { method new (line 36) | pub fn new(max_concurrent: u64) -> Self { method is_allowed (line 43) | pub fn is_allowed(&self) -> LimiterResult { method check_is_allowed (line 55) | pub fn check_is_allowed(&self) -> bool { method is_active (line 59) | pub fn is_active(&self) -> bool { type InFlight (line 19) | pub struct InFlight { method num_concurrent (line 65) | pub fn num_concurrent(&self) -> u64 { type LimiterResult (line 23) | pub enum LimiterResult { method drop (line 30) | fn drop(&mut self) { function from (line 71) | fn from(result: LimiterResult) -> Self { FILE: crates/common/src/listener/listen.rs method spawn (line 32) | pub fn spawn( type BuildSession (line 199) | trait BuildSession { method build_session (line 200) | fn build_session( method build_session (line 210) | fn build_session( type SocketOpts (line 266) | pub struct SocketOpts { method apply (line 273) | pub fn apply(&self, stream: &TcpStream) { method bind_and_drop_priv (line 304) | pub fn bind_and_drop_priv(&self, config: &mut Config) { method spawn (line 334) | pub fn spawn( method listen (line 353) | pub fn listen(self) -> Result { method tls_accept (line 361) | pub async fn tls_accept( FILE: crates/common/src/listener/mod.rs type ServerInstance (line 36) | pub struct ServerInstance { type TcpAcceptor (line 47) | pub enum TcpAcceptor { type TcpAcceptorResult (line 58) | pub enum TcpAcceptorResult type SessionData (line 67) | pub struct SessionData { type SessionStream (line 79) | pub trait SessionStream: AsyncRead + AsyncWrite + Unpin + 'static + Sync... method is_tls (line 80) | fn is_tls(&self) -> bool; method tls_version_and_cipher (line 81) | fn tls_version_and_cipher(&self) -> (Cow<'static, str>, Cow<'static, s... type SessionResult (line 85) | pub enum SessionResult { type SessionManager (line 91) | pub trait SessionManager: Sync + Send + 'static + Clone { method spawn (line 92) | fn spawn( method handle (line 216) | fn handle( method shutdown (line 221) | fn shutdown(&self) -> impl std::future::Future + Send; method resolve_variable (line 225) | fn resolve_variable(&self, variable: u32) -> crate::expr::Variable<'_> { method resolve_global (line 238) | fn resolve_global(&self, _: &str) -> Variable<'_> { method fmt (line 244) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/common/src/listener/stream.rs method is_tls (line 19) | fn is_tls(&self) -> bool { method tls_version_and_cipher (line 23) | fn tls_version_and_cipher(&self) -> (Cow<'static, str>, Cow<'static, str... method is_tls (line 29) | fn is_tls(&self) -> bool { method tls_version_and_cipher (line 33) | fn tls_version_and_cipher(&self) -> (Cow<'static, str>, Cow<'static, str... method is_tls (line 68) | fn is_tls(&self) -> bool { method tls_version_and_cipher (line 74) | fn tls_version_and_cipher(&self) -> (Cow<'static, str>, Cow<'static, str... type NullIo (line 88) | pub struct NullIo { method poll_write (line 93) | fn poll_write( method poll_flush (line 102) | fn poll_flush( method poll_shutdown (line 109) | fn poll_shutdown( method poll_read (line 118) | fn poll_read( method is_tls (line 128) | fn is_tls(&self) -> bool { method tls_version_and_cipher (line 132) | fn tls_version_and_cipher( FILE: crates/common/src/listener/tls.rs type AcmeProviders (line 37) | pub struct AcmeProviders { type CertificateResolver (line 42) | pub struct CertificateResolver { method new (line 47) | pub fn new(inner: Arc) -> Self { method resolve_certificate (line 59) | pub(crate) fn resolve_certificate(&self, name: Option<&str>) -> Option... method fmt (line 208) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method resolve (line 53) | fn resolve(&self, hello: ClientHello<'_>) -> Option> { method accept (line 103) | pub async fn accept( method is_tls (line 190) | pub fn is_tls(&self) -> bool { function unwrap_tls (line 199) | pub fn unwrap_tls(self) -> Accept { FILE: crates/common/src/manager/backup.rs constant MAGIC_MARKER (line 22) | pub(super) const MAGIC_MARKER: u8 = 123; type Family (line 25) | pub(super) enum Family { method subspaces (line 308) | pub fn subspaces(&self) -> &'static [u8] { method parse (line 328) | pub fn parse(family: &str) -> Result { type TaskHandle (line 37) | type TaskHandle = (tokio::task::JoinHandle<()>, std::thread::JoinHandle<... type BackupParams (line 40) | pub struct BackupParams { method new (line 278) | pub fn new(dest: PathBuf) -> Self { method parse_families (line 291) | fn parse_families(&mut self, families: &str) { method backup (line 46) | pub async fn backup(&self, mut params: BackupParams) { method backup_blobs (line 102) | fn backup_blobs(&self, dest: &Path, subspace: u8, schema_version: u32) -... method backup_subspace (line 162) | fn backup_subspace(&self, dest: &Path, subspace: u8, schema_version: u32... function spawn_writer (line 239) | fn spawn_writer( FILE: crates/common/src/manager/boot.rs type BootManager (line 40) | pub struct BootManager { method init (line 182) | pub async fn init() -> Self { type IpcReceivers (line 47) | pub struct IpcReceivers { constant HELP (line 55) | const HELP: &str = concat!( type StoreOp (line 74) | enum StoreOp { constant DEFAULT_SETTINGS (line 81) | pub const DEFAULT_SETTINGS: &[(&str, &str)] = &[ function build_ipc (line 553) | pub fn build_ipc(has_pubsub: bool) -> (Ipc, IpcReceivers) { function quickstart (line 580) | fn quickstart(path: impl Into) { constant QUICKSTART_CONFIG (line 618) | const QUICKSTART_CONFIG: &str = r#"[server.listener.smtp] constant QUICKSTART_CONFIG (line 693) | const QUICKSTART_CONFIG: &str = r#"[server.listener.smtp] FILE: crates/common/src/manager/config.rs type ConfigManager (line 27) | pub struct ConfigManager { method build_config (line 60) | pub async fn build_config(&self, prefix: &str) -> trc::Result { method extend_config (line 71) | pub(crate) async fn extend_config(&self, config: &mut Config, prefix: ... method get (line 79) | pub async fn get(&self, key: impl AsRef) -> trc::Result(&self, keys: I, overwrite: bool) -> trc::Result... method clear (line 226) | pub async fn clear(&self, key: impl AsRef) -> trc::Result<()> { method clear_prefix (line 243) | pub async fn clear_prefix(&self, key: impl AsRef) -> trc::Result<... method update_local (line 269) | async fn update_local(&self, map: BTreeMap) -> trc::Re... method update_spam_rules (line 332) | pub async fn update_spam_rules( method fetch_spam_rules (line 405) | pub(crate) async fn fetch_spam_rules(&self) -> Result trc::Result Self { method is_local_key (line 554) | pub fn is_local_key(&self, key: &str) -> bool { type Pattern (line 40) | enum Pattern { type MatchType (line 46) | pub enum MatchType { method parse (line 577) | pub fn parse(value: &str) -> Self { method matches (line 591) | pub fn matches(&self, value: &str) -> bool { type ExternalSpamRules (line 54) | pub(crate) struct ExternalSpamRules { method clone (line 603) | fn clone(&self) -> Self { FILE: crates/common/src/manager/console.rs constant HELP (line 14) | const HELP: &str = concat!( function store_console (line 23) | pub async fn store_console(store: Store) { function parse_key (line 220) | fn parse_key(input: &str) -> Option> { function parse_value (line 234) | fn parse_value(input: &str) -> Vec { function base64_decode (line 242) | fn base64_decode(input: &str) -> Vec { function parse_binary (line 248) | fn parse_binary(input: &str) -> Vec { function print_escaped (line 286) | fn print_escaped(bytes: &[u8]) { function print_help (line 296) | fn print_help() { type RawValue (line 308) | struct RawValue(Vec); method deserialize (line 311) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/common/src/manager/mod.rs constant DEFAULT_SPAMFILTER_URL (line 21) | const DEFAULT_SPAMFILTER_URL: &str = constant WEBADMIN_KEY (line 23) | pub const WEBADMIN_KEY: &[u8] = "STALWART_WEBADMIN".as_bytes(); constant SPAM_TRAINER_KEY (line 24) | pub const SPAM_TRAINER_KEY: &[u8] = "STALWART_SPAM_TRAIN_DATA.lz4".as_by... constant SPAM_CLASSIFIER_KEY (line 25) | pub const SPAM_CLASSIFIER_KEY: &[u8] = "STALWART_SPAM_CLASSIFIER_MODEL.l... constant DEFAULT_WEBADMIN_URL (line 31) | const DEFAULT_WEBADMIN_URL: &str = constant DEFAULT_WEBADMIN_URL (line 36) | const DEFAULT_WEBADMIN_URL: &str = method fetch_resource (line 40) | pub async fn fetch_resource(&self, resource_id: &str) -> Result,... constant MAX_SIZE (line 75) | const MAX_SIZE: usize = 100 * 1024 * 1024; function fetch_resource (line 77) | pub async fn fetch_resource( function is_localhost_url (line 117) | pub fn is_localhost_url(url: &str) -> bool { FILE: crates/common/src/manager/reload.rs type ReloadResult (line 23) | pub struct ReloadResult { method from (line 144) | fn from(config: Config) -> Self { method reload_blocked_ips (line 30) | pub async fn reload_blocked_ips(&self) -> trc::Result { method reload_certificates (line 42) | pub async fn reload_certificates(&self) -> trc::Result { method reload_lookups (line 53) | pub async fn reload_lookups(&self) -> trc::Result { method reload (line 70) | pub async fn reload(&self) -> trc::Result { FILE: crates/common/src/manager/restore.rs method restore (line 23) | pub async fn restore(&self, src: PathBuf) { function restore_file (line 49) | async fn restore_file(store: Store, blob_store: BlobStore, path: &Path) { type KeyValueReader (line 146) | struct KeyValueReader { method new (line 152) | fn new(path: &Path) -> Self { method next (line 182) | fn next(&mut self) -> Option<(Vec, Vec)> { method read_size (line 194) | fn read_size(&mut self) -> Option { method expect_sized_bytes (line 219) | fn expect_sized_bytes(&mut self) -> Vec { FILE: crates/common/src/manager/webadmin.rs type WebAdminManager (line 21) | pub struct WebAdminManager { method new (line 42) | pub fn new(base_path: PathBuf) -> Self { method get (line 49) | pub async fn get(&self, path: &str) -> trc::Result>> { method unpack (line 69) | pub async fn unpack(&self, blob_store: &BlobStore) -> trc::Result<()> { method update (line 146) | pub async fn update(&self, core: &Core) -> trc::Result<()> { method update_and_unpack (line 161) | pub async fn update_and_unpack(&self, core: &Core) -> trc::Result<()> { type Resource (line 27) | pub struct Resource { function new (line 33) | pub fn new(content_type: impl Into>, contents: T) -> S... function is_empty (line 168) | pub fn is_empty(&self) -> bool { type TempDir (line 173) | pub struct TempDir { method new (line 178) | pub fn new(path: PathBuf) -> TempDir { method clean (line 184) | pub async fn clean(&self) -> io::Result<()> { function unpack_error (line 192) | fn unpack_error(err: std::io::Error) -> trc::Error { method default (line 199) | fn default() -> Self { method default (line 205) | fn default() -> Self { method drop (line 211) | fn drop(&mut self) { FILE: crates/common/src/scripts/functions/array.rs function fn_count (line 11) | pub fn fn_count<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_sort (line 25) | pub fn fn_sort<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_dedup (line 36) | pub fn fn_dedup<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_cosine_similarity (line 49) | pub fn fn_cosine_similarity<'x>(_: &'x Context<'x>, v: Vec) ->... function cosine_similarity (line 85) | pub fn cosine_similarity(a: &[&str], b: &[&str]) -> f64 { function fn_jaccard_similarity (line 111) | pub fn fn_jaccard_similarity<'x>(_: &'x Context<'x>, v: Vec) -... function fn_is_intersect (line 140) | pub fn fn_is_intersect<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_winnow (line 149) | pub fn fn_winnow<'x>(_: &'x Context<'x>, mut v: Vec) -> Variab... FILE: crates/common/src/scripts/functions/email.rs function fn_is_email (line 11) | pub fn fn_is_email<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_email_part (line 81) | pub fn fn_email_part<'x>(_: &'x Context<'x>, v: Vec) -> Variab... FILE: crates/common/src/scripts/functions/header.rs function fn_received_part (line 12) | pub fn fn_received_part<'x>(ctx: &'x Context<'x>, v: Vec) -> V... function fn_is_encoding_problem (line 31) | pub fn fn_is_encoding_problem<'x>(ctx: &'x Context<'x>, _: Vec... function fn_is_attachment (line 39) | pub fn fn_is_attachment<'x>(ctx: &'x Context<'x>, _: Vec) -> V... function fn_is_body (line 43) | pub fn fn_is_body<'x>(ctx: &'x Context<'x>, _: Vec) -> Variable { function fn_attachment_name (line 48) | pub fn fn_attachment_name<'x>(ctx: &'x Context<'x>, _: Vec) ->... function fn_mime_part_len (line 56) | pub fn fn_mime_part_len<'x>(ctx: &'x Context<'x>, _: Vec) -> V... function fn_thread_name (line 64) | pub fn fn_thread_name<'x>(_: &'x Context<'x>, v: Vec) -> Varia... function fn_is_header_utf8_valid (line 68) | pub fn fn_is_header_utf8_valid<'x>(ctx: &'x Context<'x>, v: Vec(ctx: &'x Context<'x>, v: Vec) -> Va... FILE: crates/common/src/scripts/functions/misc.rs function fn_is_empty (line 16) | pub fn fn_is_empty<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_is_number (line 25) | pub fn fn_is_number<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_is_ip_addr (line 29) | pub fn fn_is_ip_addr<'x>(_: &'x Context<'x>, v: Vec) -> Variab... function fn_is_ipv4_addr (line 33) | pub fn fn_is_ipv4_addr<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_is_ipv6_addr (line 40) | pub fn fn_is_ipv6_addr<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_ip_reverse_name (line 47) | pub fn fn_ip_reverse_name<'x>(_: &'x Context<'x>, v: Vec) -> V... function fn_detect_file_type (line 55) | pub fn fn_detect_file_type<'x>(ctx: &'x Context<'x>, v: Vec) -... function fn_hash (line 72) | pub fn fn_hash<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_get_var_names (line 97) | pub fn fn_get_var_names<'x>(ctx: &'x Context<'x>, _: Vec) -> V... FILE: crates/common/src/scripts/functions/mod.rs function register_functions_trusted (line 20) | pub fn register_functions_trusted() -> FunctionMap { function register_functions_untrusted (line 89) | pub fn register_functions_untrusted() -> FunctionMap { type ApplyString (line 136) | pub trait ApplyString<'x> { method transform (line 137) | fn transform(&self, f: impl Fn(&'_ str) -> Variable) -> Variable; method transform (line 141) | fn transform(&self, f: impl Fn(&'_ str) -> Variable) -> Variable { FILE: crates/common/src/scripts/functions/text.rs function fn_trim (line 12) | pub fn fn_trim<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_trim_end (line 16) | pub fn fn_trim_end<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_trim_start (line 20) | pub fn fn_trim_start<'x>(_: &'x Context<'x>, v: Vec) -> Variab... function fn_len (line 24) | pub fn fn_len<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_to_lowercase (line 33) | pub fn fn_to_lowercase<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_to_uppercase (line 37) | pub fn fn_to_uppercase<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_is_uppercase (line 41) | pub fn fn_is_uppercase<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_is_lowercase (line 50) | pub fn fn_is_lowercase<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_has_digits (line 59) | pub fn fn_has_digits<'x>(_: &'x Context<'x>, v: Vec) -> Variab... function tokenize_words (line 63) | pub fn tokenize_words(v: &Variable) -> Variable { function fn_count_spaces (line 72) | pub fn fn_count_spaces<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_count_uppercase (line 81) | pub fn fn_count_uppercase<'x>(_: &'x Context<'x>, v: Vec) -> V... function fn_count_lowercase (line 90) | pub fn fn_count_lowercase<'x>(_: &'x Context<'x>, v: Vec) -> V... function fn_count_chars (line 99) | pub fn fn_count_chars<'x>(_: &'x Context<'x>, v: Vec) -> Varia... function fn_eq_ignore_case (line 103) | pub fn fn_eq_ignore_case<'x>(_: &'x Context<'x>, v: Vec) -> Va... function fn_contains (line 109) | pub fn fn_contains<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_contains_ignore_case (line 118) | pub fn fn_contains_ignore_case<'x>(_: &'x Context<'x>, v: Vec)... function fn_starts_with (line 131) | pub fn fn_starts_with<'x>(_: &'x Context<'x>, v: Vec) -> Varia... function fn_ends_with (line 137) | pub fn fn_ends_with<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_lines (line 141) | pub fn fn_lines<'x>(_: &'x Context<'x>, mut v: Vec) -> Variable { function fn_substring (line 152) | pub fn fn_substring<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_strip_prefix (line 161) | pub fn fn_strip_prefix<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_strip_suffix (line 170) | pub fn fn_strip_suffix<'x>(_: &'x Context<'x>, v: Vec) -> Vari... function fn_split (line 179) | pub fn fn_split<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_rsplit (line 187) | pub fn fn_rsplit<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_split_n (line 195) | pub fn fn_split_n<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_split_once (line 214) | pub fn fn_split_once<'x>(_: &'x Context<'x>, v: Vec) -> Variab... function fn_rsplit_once (line 225) | pub fn fn_rsplit_once<'x>(_: &'x Context<'x>, v: Vec) -> Varia... function fn_levenshtein_distance (line 243) | pub fn fn_levenshtein_distance<'x>(_: &'x Context<'x>, v: Vec)... function levenshtein_distance (line 250) | pub fn levenshtein_distance(a: &str, b: &str) -> usize { function fn_detect_language (line 308) | pub fn fn_detect_language<'x>(_: &'x Context<'x>, v: Vec) -> V... function fn_html_to_text (line 315) | pub fn fn_html_to_text<'x>(_: &'x Context<'x>, v: Vec) -> Vari... FILE: crates/common/src/scripts/functions/unicode.rs function fn_is_ascii (line 11) | pub fn fn_is_ascii<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_has_zwsp (line 23) | pub fn fn_has_zwsp<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_has_obscured (line 35) | pub fn fn_has_obscured<'x>(_: &'x Context<'x>, v: Vec) -> Vari... type CharUtils (line 47) | pub trait CharUtils { method is_zwsp (line 48) | fn is_zwsp(&self) -> bool; method is_obscured (line 49) | fn is_obscured(&self) -> bool; method is_zwsp (line 53) | fn is_zwsp(&self) -> bool { method is_obscured (line 60) | fn is_obscured(&self) -> bool { function fn_cure_text (line 71) | pub fn fn_cure_text<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_unicode_skeleton (line 78) | pub fn fn_unicode_skeleton<'x>(_: &'x Context<'x>, v: Vec) -> ... function fn_is_mixed_charset (line 84) | pub fn fn_is_mixed_charset<'x>(_: &'x Context<'x>, v: Vec) -> ... FILE: crates/common/src/scripts/functions/url.rs function fn_uri_part (line 12) | pub fn fn_uri_part<'x>(_: &'x Context<'x>, v: Vec) -> Variable { function fn_puny_decode (line 35) | pub fn fn_puny_decode<'x>(_: &'x Context<'x>, v: Vec) -> Varia... FILE: crates/common/src/scripts/mod.rs type ScriptModification (line 21) | pub enum ScriptModification { function into_sieve_value (line 32) | pub fn into_sieve_value(value: Value) -> Variable { function into_store_value (line 43) | pub fn into_store_value(value: Variable) -> Value<'static> { function to_store_value (line 52) | pub fn to_store_value(value: &Variable) -> Value<'static> { type IsMixedCharset (line 61) | pub trait IsMixedCharset { method is_mixed_charset (line 62) | fn is_mixed_charset(&self) -> bool; method is_mixed_charset (line 66) | fn is_mixed_charset(&self) -> bool { FILE: crates/common/src/scripts/plugins/dns.rs function register (line 14) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function register_exists (line 18) | pub fn register_exists(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 22) | pub async fn exec(ctx: PluginContext<'_>) -> trc::Result { function exec_exists (line 158) | pub async fn exec_exists(ctx: PluginContext<'_>) -> trc::Result { type ShortError (line 186) | trait ShortError { method short_error (line 187) | fn short_error(&self) -> &'static str; method short_error (line 191) | fn short_error(&self) -> &'static str { FILE: crates/common/src/scripts/plugins/exec.rs function register (line 13) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 17) | pub async fn exec(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/scripts/plugins/headers.rs function register (line 13) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 17) | pub fn exec(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/scripts/plugins/http.rs function register_header (line 14) | pub fn register_header(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec_header (line 18) | pub async fn exec_header(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/scripts/plugins/llm_prompt.rs function register (line 15) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 19) | pub async fn exec(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/scripts/plugins/lookup.rs function register (line 12) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function register_get (line 16) | pub fn register_get(plugin_id: u32, fnc_map: &mut FunctionMap) { function register_set (line 20) | pub fn register_set(plugin_id: u32, fnc_map: &mut FunctionMap) { function register_local_domain (line 24) | pub fn register_local_domain(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 28) | pub async fn exec(ctx: PluginContext<'_>) -> trc::Result { function exec_get (line 54) | pub async fn exec_get(ctx: PluginContext<'_>) -> trc::Result { function exec_set (line 69) | pub async fn exec_set(ctx: PluginContext<'_>) -> trc::Result { function exec_local_domain (line 101) | pub async fn exec_local_domain(ctx: PluginContext<'_>) -> trc::Result Self { method into_inner (line 146) | pub fn into_inner(self) -> Variable { method from (line 152) | fn from(value: Value<'static>) -> Self { method deserialize (line 128) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/common/src/scripts/plugins/mod.rs type RegisterPluginFnc (line 23) | type RegisterPluginFnc = fn(u32, &mut FunctionMap) -> (); type PluginContext (line 25) | pub struct PluginContext<'x> { constant PLUGINS_REGISTER (line 34) | const PLUGINS_REGISTER: [RegisterPluginFnc; 13] = [ type RegisterSievePlugins (line 50) | pub trait RegisterSievePlugins { method register_plugins_trusted (line 51) | fn register_plugins_trusted(self) -> Self; method register_plugins_untrusted (line 52) | fn register_plugins_untrusted(self) -> Self; method register_plugins_trusted (line 56) | fn register_plugins_trusted(mut self) -> Self { method register_plugins_untrusted (line 68) | fn register_plugins_untrusted(mut self) -> Self { method run_plugin (line 75) | pub async fn run_plugin(&self, id: u32, ctx: PluginContext<'_>) -> Input { function test_print (line 110) | pub fn test_print(ctx: PluginContext<'_>) -> Input { FILE: crates/common/src/scripts/plugins/query.rs function register (line 15) | pub fn register(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec (line 19) | pub async fn exec(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/scripts/plugins/text.rs function register_tokenize (line 14) | pub fn register_tokenize(plugin_id: u32, fnc_map: &mut FunctionMap) { function register_domain_part (line 18) | pub fn register_domain_part(plugin_id: u32, fnc_map: &mut FunctionMap) { function exec_tokenize (line 22) | pub fn exec_tokenize(ctx: PluginContext<'_>) -> trc::Result { type DomainPart (line 54) | enum DomainPart { function exec_domain_part (line 60) | pub fn exec_domain_part(ctx: PluginContext<'_>) -> trc::Result { FILE: crates/common/src/sharing/acl.rs method refresh_acls (line 15) | pub async fn refresh_acls(&self, acl_changes: &[AclGrant], current: Opti... method refresh_archived_acls (line 64) | pub async fn refresh_archived_acls( FILE: crates/common/src/sharing/mod.rs type EffectiveAcl (line 16) | pub trait EffectiveAcl { method effective_acl (line 17) | fn effective_acl(&self, access_token: &AccessToken) -> Bitmap; method effective_acl (line 21) | fn effective_acl(&self, access_token: &AccessToken) -> Bitmap { method effective_acl (line 27) | fn effective_acl(&self, access_token: &AccessToken) -> Bitmap { method effective_acl (line 40) | fn effective_acl(&self, access_token: &AccessToken) -> Bitmap { FILE: crates/common/src/sharing/notification.rs type ShareNotification (line 12) | pub struct ShareNotification { method deserialize_from_slice (line 44) | fn deserialize_from_slice(bytes: &[u8]) -> Option { method serialize (line 23) | fn serialize(&self) -> Vec { method deserialize (line 37) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/common/src/sharing/resources.rs method shared_containers (line 13) | pub fn shared_containers( method shared_items (line 39) | pub fn shared_items( method has_access_to_container (line 64) | pub fn has_access_to_container( method container_acl (line 90) | pub fn container_acl(&self, access_token: &AccessToken, document_id: u32... method document_ids (line 109) | pub fn document_ids(&self, is_container: bool) -> impl Iterator bool { method has_item_id (line 125) | pub fn has_item_id(&self, id: &u32) -> bool { FILE: crates/common/src/storage/blob.rs method get_blob_section (line 15) | pub async fn get_blob_section( FILE: crates/common/src/storage/index.rs type IndexValue (line 30) | pub enum IndexValue<'x> { type IndexItem (line 66) | pub enum IndexItem<'x> { function as_slice (line 76) | pub fn as_slice(&self) -> &[u8] { function into_owned (line 87) | pub fn into_owned(self) -> Vec { function is_empty (line 98) | pub fn is_empty(&self) -> bool { function is_none (line 107) | pub fn is_none(&self) -> bool { function is_some (line 111) | pub fn is_some(&self) -> bool { method eq (line 117) | fn eq(&self, other: &Self) -> bool { function hash (line 125) | fn hash(&self, state: &mut H) { function from (line 138) | fn from(value: u32) -> Self { function from (line 144) | fn from(value: &u32) -> Self { function from (line 150) | fn from(value: u64) -> Self { function from (line 156) | fn from(value: i64) -> Self { function from (line 162) | fn from(value: &'x [u8]) -> Self { function from (line 168) | fn from(value: Vec) -> Self { function from (line 174) | fn from(value: &'x str) -> Self { function from (line 180) | fn from(value: &'x String) -> Self { function from (line 186) | fn from(value: String) -> Self { function from (line 192) | fn from(value: &'x ArchivedString) -> Self { function from (line 198) | fn from(value: ArchivedU32) -> Self { function from (line 204) | fn from(value: &ArchivedU32) -> Self { function from (line 210) | fn from(value: ArchivedU64) -> Self { function from (line 216) | fn from(value: Option) -> Self { function from (line 225) | fn from(value: ArchivedOption) -> Self { type IndexableObject (line 233) | pub trait IndexableObject: Sync + Send { method index_values (line 234) | fn index_values(&self) -> impl Iterator>; method index_values (line 770) | fn index_values(&self) -> impl Iterator> { type IndexableAndSerializableObject (line 237) | pub trait IndexableAndSerializableObject: method is_versioned (line 248) | fn is_versioned() -> bool; method is_versioned (line 776) | fn is_versioned() -> bool { type ObjectIndexBuilder (line 252) | pub struct ObjectIndexBuilder Self { function new (line 266) | pub fn new() -> Self { function with_current (line 275) | pub fn with_current(mut self, current: Archive) -> Self { function with_changes (line 280) | pub fn with_changes(mut self, changes: N) -> Self { function with_current_opt (line 285) | pub fn with_current_opt(mut self, current: Option>) -> Self { function changes (line 290) | pub fn changes(&self) -> Option<&N> { function changes_mut (line 294) | pub fn changes_mut(&mut self) -> Option<&mut N> { function current (line 298) | pub fn current(&self) -> Option<&Archive> { function with_access_token (line 302) | pub fn with_access_token(mut self, access_token: &AccessToken) -> Self { function with_tenant_id (line 308) | pub fn with_tenant_id(mut self, tenant_id: Option) -> Self { method build (line 317) | fn build(self, batch: &mut BatchBuilder) -> trc::Result<()> { function build_index (line 403) | fn build_index( function merge_index (line 538) | fn merge_index( FILE: crates/common/src/storage/state.rs method subscribe_push_manager (line 17) | pub async fn subscribe_push_manager( FILE: crates/common/src/telemetry/metrics/otel.rs method push_metrics (line 20) | pub async fn push_metrics(&self, is_enterprise: bool, start_time: System... method enable_errors (line 105) | pub fn enable_errors() { FILE: crates/common/src/telemetry/metrics/prometheus.rs method export_prometheus_metrics (line 16) | pub async fn export_prometheus_metrics(&self) -> trc::Result { function metric_name (line 65) | fn metric_name(id: impl AsRef) -> String { function new_counter (line 78) | fn new_counter(value: u64) -> Metric { function new_gauge (line 86) | fn new_gauge(value: u64) -> Metric { function new_histogram (line 94) | fn new_histogram(histogram: &AtomicHistogram<12>) -> Metric { FILE: crates/common/src/telemetry/metrics/store.rs type MetricsStore (line 29) | pub trait MetricsStore: Sync + Send { method write_metrics (line 30) | fn write_metrics( method query_metrics (line 36) | fn query_metrics( method purge_metrics (line 41) | fn purge_metrics(&self, period: Duration) -> impl Future trc::Result<()> { type MetricsHistory (line 45) | pub struct MetricsHistory { method init (line 300) | pub fn init() -> SharedMetricHistory { type HistogramHistory (line 51) | struct HistogramHistory { type Metric (line 59) | pub enum Metric { type SharedMetricHistory (line 78) | pub type SharedMetricHistory = Arc>; constant TYPE_COUNTER (line 80) | const TYPE_COUNTER: u64 = 0x00; constant TYPE_HISTOGRAM (line 81) | const TYPE_HISTOGRAM: u64 = 0x01; constant TYPE_GAUGE (line 82) | const TYPE_GAUGE: u64 = 0x02; FILE: crates/common/src/telemetry/mod.rs method enable (line 20) | pub fn enable(self, is_enterprise: bool) { method update (line 38) | pub fn update(self, is_enterprise: bool) { method test_tracer (line 74) | pub fn test_tracer(level: trc::Level) { method spawn (line 99) | pub fn spawn(self, builder: SubscriberBuilder, is_enterprise: bool) { FILE: crates/common/src/telemetry/tracers/journald.rs function spawn_journald_tracer (line 12) | pub(crate) fn spawn_journald_tracer(builder: SubscriberBuilder, subscrib... constant JOURNALD_PATH (line 84) | const JOURNALD_PATH: &str = "/run/systemd/journal/socket"; constant CMSG_BUFSIZE (line 85) | const CMSG_BUFSIZE: usize = 64; type Subscriber (line 87) | pub struct Subscriber { method send_event (line 24) | fn send_event(&self, event: &Event) { method new (line 178) | pub fn new() -> io::Result { method with_priority_mappings (line 207) | pub fn with_priority_mappings(mut self, mappings: PriorityMappings) ->... method with_syslog_identifier (line 228) | pub fn with_syslog_identifier(mut self, identifier: String) -> Self { method syslog_identifier (line 234) | pub fn syslog_identifier(&self) -> &str { method send_payload (line 239) | fn send_payload(&self, _opayload: &[u8]) -> io::Result<()> { method send_payload (line 247) | fn send_payload(&self, payload: &[u8]) -> io::Result { method send_large_payload (line 260) | fn send_large_payload(&self, _payload: &[u8]) -> io::Result { method send_large_payload (line 268) | fn send_large_payload(&self, payload: &[u8]) -> io::Result { method fmt (line 303) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PriorityMappings (line 95) | pub struct PriorityMappings { method new (line 285) | pub fn new() -> PriorityMappings { type Priority (line 116) | pub enum Priority { method default (line 297) | fn default() -> Self { function put_field_length_encoded (line 321) | fn put_field_length_encoded(buf: &mut Vec, name: &str, write_value: ... function put_field_wellformed (line 340) | fn put_field_wellformed(buf: &mut Vec, name: &str, value: &[u8]) { function put_value (line 351) | fn put_value(buf: &mut Vec, value: &[u8]) { function assert_cmsg_bufsize (line 357) | fn assert_cmsg_bufsize() { function send_one_fd_to (line 366) | pub fn send_one_fd_to>(socket: &UnixDatagram, fd: RawFd, ... function create (line 421) | fn create(flags: c_uint) -> Result { function memfd_create_syscall (line 437) | fn memfd_create_syscall(flags: c_uint) -> c_int { function create_sealable (line 448) | pub fn create_sealable() -> Result { function seal_fully (line 453) | pub fn seal_fully(fd: RawFd) -> Result<()> { FILE: crates/common/src/telemetry/tracers/log.rs function spawn_log_tracer (line 18) | pub(crate) fn spawn_log_tracer(builder: SubscriberBuilder, settings: Log... method build_writer (line 70) | pub async fn build_writer(&self) -> Option> { method next_rotation (line 118) | pub fn next_rotation(&self) -> u64 { FILE: crates/common/src/telemetry/tracers/otel.rs constant MAX_EVENTS (line 24) | const MAX_EVENTS: usize = 2048; function spawn_otel_tracer (line 26) | pub(crate) fn spawn_otel_tracer(builder: SubscriberBuilder, mut otel: Ot... function build_span_data (line 137) | fn build_span_data( method build_log_record (line 187) | fn build_log_record(&self, event: &Event) -> SdkLogRecord { function build_key_value (line 212) | fn build_key_value(key_value: &(trc::Key, trc::Value)) -> Option Key { function build_any_value (line 241) | fn build_any_value(value: &trc::Value) -> AnyValue { FILE: crates/common/src/telemetry/tracers/stdout.rs function spawn_console_tracer (line 18) | pub(crate) fn spawn_console_tracer(builder: SubscriberBuilder, settings:... constant BUFFER_CAPACITY (line 41) | const BUFFER_CAPACITY: usize = 4096; type StdErrWriter (line 43) | pub struct StdErrWriter { method poll_write (line 48) | fn poll_write( method poll_flush (line 73) | fn poll_flush(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll, _: &mut Context<'_>) -> Poll Self { FILE: crates/common/src/telemetry/tracers/store.rs constant MAX_EVENTS (line 27) | const MAX_EVENTS: usize = 2048; function spawn_store_tracer (line 29) | pub(crate) fn spawn_store_tracer(builder: SubscriberBuilder, settings: S... type TracingStore (line 88) | pub trait TracingStore: Sync + Send { method get_span (line 89) | fn get_span( method get_raw_span (line 93) | fn get_raw_span( method purge_spans (line 97) | fn purge_spans( method get_span (line 105) | async fn get_span(&self, span_id: u64) -> trc::Result trc::Result impl IntoIterator { type RawSpan (line 223) | struct RawSpan(Vec); type Span (line 224) | struct Span(Vec>); method deserialize (line 227) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize (line 233) | fn deserialize(bytes: &[u8]) -> trc::Result { function build_span_document (line 238) | pub fn build_span_document( FILE: crates/common/src/telemetry/webhooks/mod.rs function spawn_webhook_tracer (line 27) | pub(crate) fn spawn_webhook_tracer(builder: SubscriberBuilder, settings:... type EventWrapper (line 98) | struct EventWrapper { function spawn_webhook_handler (line 102) | fn spawn_webhook_handler( function post_webhook_events (line 130) | async fn post_webhook_events( FILE: crates/dav-proto/src/lib.rs function xml_pretty_print (line 16) | pub fn xml_pretty_print(xml_string: &str) -> String { type RequestHeaders (line 37) | pub struct RequestHeaders<'x> { type ResourceState (line 54) | pub struct ResourceState> { type Return (line 61) | pub enum Return { type If (line 69) | pub struct If<'x> { type Condition (line 75) | pub enum Condition<'x> { type Timeout (line 84) | pub enum Timeout { type Depth (line 93) | pub enum Depth { method from (line 102) | fn from(headers: &RequestHeaders<'_>) -> Self { FILE: crates/dav-proto/src/parser/header.rs function new (line 11) | pub fn new(uri: &'x str) -> Self { function parse (line 18) | pub fn parse(&mut self, key: &str, value: &'x str) -> bool { function has_if (line 115) | pub fn has_if(&self) -> bool { function eval_if_resources (line 119) | pub fn eval_if_resources(&self) -> impl Iterator { function eval_if (line 123) | pub fn eval_if(&self, resources: &[ResourceState]) -> bool function parse_if (line 173) | fn parse_if(&mut self, value: &'x str) { function parse_if_match (line 251) | pub fn parse_if_match(&mut self, value: &'x str, is_not: bool) { function base_uri (line 282) | pub fn base_uri(&self) -> Option<&str> { function dav_base_uri (line 287) | pub fn dav_base_uri(uri: &str) -> Option<&str> { method parse (line 319) | pub fn parse(value: &[u8]) -> Option { function try_unwrap_coded_url (line 329) | fn try_unwrap_coded_url(url: &str) -> &str { function base_uri (line 340) | fn base_uri() { function eval_if_header (line 390) | fn eval_if_header() { function parse_headers (line 469) | fn parse_headers() { FILE: crates/dav-proto/src/parser/mod.rs type Error (line 22) | pub enum Error { type UnexpectedToken (line 28) | pub struct UnexpectedToken { type Result (line 33) | pub type Result = std::result::Result; type Token (line 36) | pub enum Token<'x> { type RawElement (line 49) | pub struct RawElement<'x> { type DavParser (line 54) | pub trait DavParser: Sized { method parse (line 55) | fn parse(stream: &mut Tokenizer<'_>) -> Result; type XmlValueParser (line 58) | pub trait XmlValueParser: Sized { method parse_bytes (line 59) | fn parse_bytes(bytes: &[u8]) -> Option; method parse_str (line 60) | fn parse_str(text: &str) -> Option; method dav (line 64) | pub fn dav(element: Element) -> NamedElement { method caldav (line 71) | pub fn caldav(element: Element) -> NamedElement { method carddav (line 78) | pub fn carddav(element: Element) -> NamedElement { method calendarserver (line 85) | pub fn calendarserver(element: Element) -> NamedElement { function into_owned (line 94) | pub fn into_owned(self) -> Token<'static> { function into_unexpected (line 108) | pub fn into_unexpected(self) -> Error { function new (line 117) | pub fn new(element: BytesStart<'x>) -> Self { function with_namespace (line 124) | pub fn with_namespace(self, namespace: quick_xml::name::Namespace<'_>) -... function with_namespace_static (line 131) | pub fn with_namespace_static(self, namespace: &'static [u8]) -> Self { function into_owned (line 138) | pub fn into_owned(self) -> RawElement<'static> { method eq (line 148) | fn eq(&self, other: &Self) -> bool { method into_unexpected (line 179) | pub fn into_unexpected(self) -> Error { method default (line 191) | fn default() -> Self { method fmt (line 197) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { FILE: crates/dav-proto/src/parser/property.rs function collect_properties (line 27) | pub(crate) fn collect_properties( function collect_calendar_data (line 77) | pub(crate) fn collect_calendar_data(&mut self) -> crate::parser::Result<... function collect_address_data (line 224) | pub(crate) fn collect_address_data( function collect_property_values (line 287) | pub(crate) fn collect_property_values( type TimeRangeFromRaw (line 385) | pub(crate) trait TimeRangeFromRaw { method from_raw (line 386) | fn from_raw(raw: &RawElement<'_>) -> super::Result>; method from_raw (line 390) | fn from_raw(raw: &RawElement<'_>) -> super::Result> { method from_element (line 421) | pub(crate) fn from_element(element: NamedElement) -> Option { type Error (line 591) | type Error = (); method try_from (line 593) | fn try_from(value: NamedElement) -> Result { type ICalendarDateTime (line 606) | struct ICalendarDateTime(i64); method from_str (line 609) | fn from_str(s: &str) -> Option method from_str (line 620) | fn from_str(s: &str) -> Option method from_str (line 629) | fn from_str(s: &str) -> Option method from_str (line 640) | fn from_str(s: &str) -> Option method from_str (line 649) | fn from_str(s: &str) -> Option method from_str (line 672) | fn from_str(s: &str) -> Option method parse_bytes (line 681) | fn parse_bytes(bytes: &[u8]) -> Option { method parse_str (line 691) | fn parse_str(text: &str) -> Option { method parse_bytes (line 702) | fn parse_bytes(bytes: &[u8]) -> Option { method parse_str (line 706) | fn parse_str(text: &str) -> Option { method parse_bytes (line 712) | fn parse_bytes(bytes: &[u8]) -> Option { method parse_str (line 716) | fn parse_str(text: &str) -> Option { method parse_bytes (line 722) | fn parse_bytes(bytes: &[u8]) -> Option { method parse_str (line 728) | fn parse_str(text: &str) -> Option { FILE: crates/dav-proto/src/parser/tokenizer.rs type Tokenizer (line 15) | pub struct Tokenizer<'x> { function new (line 21) | pub fn new(input: &'x [u8]) -> Self { function token (line 30) | pub fn token(&'_ mut self) -> super::Result> { function unwrap_named_element (line 110) | pub fn unwrap_named_element(&mut self) -> super::Result { function expect_named_element (line 120) | pub fn expect_named_element(&mut self, expected: NamedElement) -> super:... function expect_named_element_or_eof (line 134) | pub fn expect_named_element_or_eof(&mut self, expected: NamedElement) ->... function expect_element_end (line 149) | pub fn expect_element_end(&mut self) -> super::Result<()> { function seek_element_end (line 159) | pub fn seek_element_end(&mut self) -> super::Result<()> { function collect_string_value (line 176) | pub fn collect_string_value(&mut self) -> super::Result> { function parse_value (line 210) | pub fn parse_value(&mut self) -> super::Result(&mut self) -> super::Result> function attributes (line 280) | pub fn attributes( method from (line 294) | fn from(err: quick_xml::Error) -> Self { method from (line 300) | fn from(err: AttrError) -> Self { type TestToken (line 315) | pub enum TestToken<'x> { function test_tokenizer (line 324) | fn test_tokenizer() { FILE: crates/dav-proto/src/requests/acl.rs method parse (line 21) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 55) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 151) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { function collect_privileges (line 205) | pub fn collect_privileges(&mut self) -> crate::parser::Result Option { method parse (line 277) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 309) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 367) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 426) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result) -> crate::parser::Result { method parse (line 74) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 98) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { FILE: crates/dav-proto/src/requests/mkcol.rs method parse (line 13) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { FILE: crates/dav-proto/src/requests/mod.rs method parse (line 21) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { type NsDeadProperty (line 56) | pub trait NsDeadProperty { method single_with_ns (line 57) | fn single_with_ns(namespace: Namespace, name: &str) -> Self; method single_with_ns (line 61) | fn single_with_ns(namespace: Namespace, name: &str) -> Self { method from (line 73) | fn from(raw: &RawElement<'_>) -> Self { function parse_requests (line 120) | fn parse_requests() { FILE: crates/dav-proto/src/requests/propertyupdate.rs method parse (line 13) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { FILE: crates/dav-proto/src/requests/propfind.rs method parse (line 13) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { FILE: crates/dav-proto/src/requests/report.rs method parse (line 31) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 85) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 253) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 386) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 402) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 452) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 510) | fn parse(stream: &mut Tokenizer<'_>) -> crate::parser::Result { method parse (line 571) | fn parse(raw: RawElement<'_>) -> crate::parser::Result { function from_parts (line 599) | fn from_parts(comp: A, prop: Option, param: Option, op: FilterOp) ... function components (line 613) | fn components(&self) -> Option<&A> { function parse (line 622) | fn parse(raw: RawElement<'_>) -> crate::parser::Result> { method parse_bytes (line 634) | fn parse_bytes(bytes: &[u8]) -> Option { method parse_str (line 638) | fn parse_str(text: &str) -> Option { FILE: crates/dav-proto/src/responses/acl.rs method fmt (line 22) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 38) | pub fn new(privilege: Privilege, description: impl Into) -> Self { method with_abstract (line 47) | pub fn with_abstract(mut self) -> Self { method with_supported_privilege (line 52) | pub fn with_supported_privilege(mut self, supported_privilege: Supported... method with_opt_supported_privilege (line 57) | pub fn with_opt_supported_privilege( method all_privileges (line 67) | pub fn all_privileges(is_calendar: bool) -> SupportedPrivilege { method all_scheduling_privileges (line 108) | pub fn all_scheduling_privileges(is_inbox: bool) -> SupportedPrivilege { method fmt (line 163) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 186) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 204) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 221) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 239) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 258) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 299) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 309) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 320) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 335) | pub fn new(href: impl Into, privilege: Privilege) -> Self { method new (line 344) | pub fn new(properties: Vec) -> Self { method with_namespace (line 351) | pub fn with_namespace(mut self, namespace: Namespace) -> Self { method new (line 358) | pub fn new(name: impl Into, description: impl Into)... method new (line 367) | pub fn new(principal: Principal, grant_deny: GrantDeny) -> Self { method with_invert (line 377) | pub fn with_invert(mut self) -> Self { method with_protected (line 382) | pub fn with_protected(mut self) -> Self { method with_inherited (line 387) | pub fn with_inherited(mut self, inherited: impl Into) -> Self { method grant (line 394) | pub fn grant(privileges: Vec) -> Self { method deny (line 398) | pub fn deny(privileges: Vec) -> Self { method new (line 404) | pub fn new() -> Self { method with_grant_only (line 408) | pub fn with_grant_only(mut self) -> Self { method with_no_invert (line 413) | pub fn with_no_invert(mut self) -> Self { method with_deny_before_grant (line 418) | pub fn with_deny_before_grant(mut self) -> Self { method with_required_principal (line 423) | pub fn with_required_principal(mut self, required_principal: RequiredPri... FILE: crates/dav-proto/src/responses/error.rs method fmt (line 15) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 33) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 47) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 92) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 148) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 173) | fn from(error: CalCondition) -> Self { method from (line 179) | fn from(error: CardCondition) -> Self { method from (line 185) | fn from(error: BaseCondition) -> Self { method new (line 191) | pub fn new(error: impl Into) -> Self { method with_namespace (line 198) | pub fn with_namespace(mut self, namespace: impl Into) -> Self { FILE: crates/dav-proto/src/responses/lock.rs method fmt (line 22) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 28) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 34) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 62) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 73) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 83) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 97) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 107) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 116) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 125) | pub fn new(href: impl Into, lock_scope: LockScope) -> Self { method with_depth (line 137) | pub fn with_depth(mut self, depth: Depth) -> Self { method with_timeout (line 142) | pub fn with_timeout(mut self, timeout: u64) -> Self { method with_owner_opt (line 147) | pub fn with_owner_opt(mut self, owner: Option) -> Self { method with_owner (line 152) | pub fn with_owner(mut self, owner: DeadProperty) -> Self { method with_lock_token (line 157) | pub fn with_lock_token(mut self, token: impl Into) -> Self { method default (line 164) | fn default() -> Self { FILE: crates/dav-proto/src/responses/mkcol.rs method fmt (line 15) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 34) | pub fn new(propstat: Vec) -> Self { method with_mkcalendar (line 42) | pub fn with_mkcalendar(mut self, mkcalendar: bool) -> Self { method with_namespace (line 50) | pub fn with_namespace(mut self, namespace: Namespace) -> Self { FILE: crates/dav-proto/src/responses/mod.rs type XmlEscape (line 25) | trait XmlEscape { method write_escaped_to (line 26) | fn write_escaped_to(&self, out: &mut impl Write) -> std::fmt::Result; method write_escaped_to (line 34) | fn write_escaped_to(&self, out: &mut impl Write) -> std::fmt::Result { type XmlCdataEscape (line 29) | trait XmlCdataEscape { method write_cdata_escaped_to (line 30) | fn write_cdata_escaped_to(&self, out: &mut impl Write) -> std::fmt::Re... method write_cdata_escaped_to (line 53) | fn write_cdata_escaped_to(&self, out: &mut impl Write) -> std::fmt::Re... method fmt (line 77) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 93) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 101) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 111) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 119) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 127) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 135) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 143) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 149) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 162) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DeadPropertyFormat (line 172) | pub trait DeadPropertyFormat { method fmt (line 173) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result; method fmt (line 177) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function new (line 234) | pub fn new(vec: impl IntoIterator) -> Self { method from (line 240) | fn from(v: ICalendar) -> Self { method from (line 246) | fn from(v: VCard) -> Self { function parse_responses (line 252) | fn parse_responses() { function escape_cdata (line 716) | fn escape_cdata() { FILE: crates/dav-proto/src/responses/multistatus.rs method fmt (line 20) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 39) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 57) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 69) | pub fn new(response: Vec) -> Self { method with_response (line 78) | pub fn with_response(mut self, response: Response) -> Self { method not_found (line 83) | pub fn not_found(href: impl Into) -> Self { method add_response (line 92) | pub fn add_response(&mut self, response: Response) { method with_response_description (line 96) | pub fn with_response_description(mut self, response_description: impl In... method with_namespace (line 101) | pub fn with_namespace(mut self, namespace: Namespace) -> Self { method set_namespace (line 106) | pub fn set_namespace(&mut self, namespace: Namespace) { method with_sync_token (line 110) | pub fn with_sync_token(mut self, sync_token: impl Into) -> Self { method set_sync_token (line 115) | pub fn set_sync_token(&mut self, sync_token: impl Into) { method new_propstat (line 121) | pub fn new_propstat(href: impl Into, propstat: Vec) -> S... method new_status (line 131) | pub fn new_status(href: T, status: StatusCode) -> Self method with_error (line 149) | pub fn with_error(mut self, error: impl Into) -> Self { method with_response_description (line 154) | pub fn with_response_description(mut self, response_description: impl In... method with_location (line 159) | pub fn with_location(mut self, location: impl Into) -> Self { FILE: crates/dav-proto/src/responses/property.rs method fmt (line 30) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 40) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 58) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 78) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method all_calendar_components (line 130) | pub fn all_calendar_components() -> Self { method tag_name (line 150) | fn tag_name(&self) -> (&str, Option<&str>) { method namespace (line 227) | pub fn namespace(&self) -> Namespace { method as_ref (line 246) | fn as_ref(&self) -> &str { method fmt (line 252) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 274) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 285) | pub fn new(properties: Vec) -> Self { method with_namespace (line 292) | pub fn with_namespace(mut self, namespace: Namespace) -> Self { method from (line 299) | fn from(prop: WebDavProperty) -> Self { method from (line 305) | fn from(prop: CardDavProperty) -> Self { method from (line 311) | fn from(prop: CalDavProperty) -> Self { method from (line 317) | fn from(v: String) -> Self { method from (line 323) | fn from(v: &str) -> Self { method from (line 329) | fn from(v: u64) -> Self { method from (line 335) | fn from(v: DateTime) -> Self { method from (line 341) | fn from(v: Vec) -> Self { method from (line 347) | fn from(v: Vec) -> Self { method from (line 353) | fn from(v: Vec) -> Self { method from (line 359) | fn from(v: Vec) -> Self { method from (line 365) | fn from(v: SupportedLock) -> Self { method from (line 371) | fn from(v: Vec) -> Self { method from (line 377) | fn from(v: Vec) -> Self { method from (line 383) | fn from(v: LockDiscovery) -> Self { method from (line 389) | fn from(v: Vec) -> Self { method from (line 395) | fn from(v: Vec) -> Self { method from (line 401) | fn from(v: Vec) -> Self { method from (line 407) | fn from(v: Vec) -> Self { method from (line 413) | fn from(v: AclRestrictions) -> Self { method from (line 419) | fn from(v: DeadProperty) -> Self { method new (line 425) | pub fn new(property: impl Into, value: impl Into)... method empty (line 432) | pub fn empty(property: impl Into) -> Self { FILE: crates/dav-proto/src/responses/propstat.rs method fmt (line 17) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 32) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 39) | pub(crate) fn new(prop: impl Into) -> Self { method new_list (line 48) | pub fn new_list(props: Vec) -> Self { method with_prop (line 57) | pub fn with_prop(mut self, prop: impl Into) -> Self { method with_status (line 62) | pub fn with_status(mut self, status: StatusCode) -> Self { method with_error (line 67) | pub fn with_error(mut self, error: impl Into) -> Self { method with_response_description (line 72) | pub fn with_response_description(mut self, response_description: impl In... FILE: crates/dav-proto/src/responses/schedule.rs constant NAMESPACE (line 16) | const NAMESPACE: Namespaces = Namespaces { method fmt (line 23) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 34) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/dav-proto/src/schema/mod.rs type NamedElement (line 16) | pub struct NamedElement { type Namespace (line 24) | pub enum Namespace { method try_parse (line 51) | pub fn try_parse(value: &[u8]) -> Option { method prefix (line 61) | pub fn prefix(&self) -> &str { method namespace (line 70) | pub fn namespace(&self) -> &'static str { method as_ref (line 81) | fn as_ref(&self) -> &str { type Namespaces (line 33) | pub struct Namespaces { method set (line 40) | pub fn set(&mut self, ns: Namespace) { type Element (line 88) | pub enum Element { method try_parse (line 466) | pub fn try_parse(value: &[u8]) -> Option<&Self> { method as_ref (line 848) | fn as_ref(&self) -> &str { type Attribute (line 1233) | pub enum Attribute { type AttributeValue (line 1252) | pub trait AttributeValue { method from_str (line 1253) | fn from_str(s: &str) -> Option method from_str (line 1344) | fn from_str(s: &str) -> Option { function from_param (line 1259) | pub fn from_param(param: &[u8], value: Cow<'_, str>) -> Option Option { method as_str (line 1368) | pub fn as_str(&self) -> &'static str { type MatchType (line 1380) | pub enum MatchType { method try_parse (line 1388) | pub fn try_parse(s: &str) -> Option { type XsiType (line 1399) | pub enum XsiType { method from_str (line 1423) | fn from_str(s: &str) -> Option { type YesNo (line 1448) | struct YesNo; method from_str (line 1451) | fn from_str(s: &str) -> Option { method matches (line 1460) | pub fn matches(&self, text: &str) -> bool { FILE: crates/dav-proto/src/schema/property.rs type DavProperty (line 25) | pub enum DavProperty { constant ALL_PROPS (line 365) | pub const ALL_PROPS: [DavProperty; 11] = [ method is_all_prop (line 379) | pub fn is_all_prop(&self) -> bool { type WebDavProperty (line 36) | pub enum WebDavProperty { type CardDavProperty (line 70) | pub enum CardDavProperty { type CardDavPropertyName (line 80) | pub struct CardDavPropertyName { type CalDavProperty (line 89) | pub enum CalDavProperty { type PrincipalProperty (line 111) | pub enum PrincipalProperty { type CalendarData (line 127) | pub struct CalendarData { type CalDavPropertyName (line 136) | pub struct CalDavPropertyName { type Rfc1123DateTime (line 145) | pub struct Rfc1123DateTime(pub(crate) i64); method new (line 359) | pub fn new(timestamp: i64) -> Self { type DavValue (line 149) | pub enum DavValue { type ReportSet (line 177) | pub enum ReportSet { method calendar (line 399) | pub fn calendar() -> Vec { method addressbook (line 411) | pub fn addressbook() -> Vec { method file (line 422) | pub fn file() -> Vec { method principal (line 430) | pub fn principal() -> Vec { type Comp (line 193) | pub struct Comp(pub ICalendarComponentType); type SupportedCollation (line 197) | pub struct SupportedCollation { type ResourceType (line 204) | pub enum ResourceType { type LockDiscovery (line 215) | pub struct LockDiscovery(pub List); type ActiveLock (line 219) | pub struct ActiveLock { type SupportedLock (line 231) | pub struct SupportedLock(pub List); type LockEntry (line 235) | pub struct LockEntry { type LockType (line 242) | pub enum LockType { type LockScope (line 249) | pub enum LockScope { type Privilege (line 256) | pub enum Privilege { method all (line 280) | pub fn all(is_calendar: bool) -> Vec { method scheduling (line 313) | pub fn scheduling(is_inbox: bool, is_owner: bool) -> Vec { method from (line 350) | fn from(value: DavProperty) -> Self { FILE: crates/dav-proto/src/schema/request.rs type PropFind (line 25) | pub enum PropFind { type PropertyUpdate (line 34) | pub struct PropertyUpdate { method has_changes (line 232) | pub fn has_changes(&self) -> bool { type DavPropertyValue (line 42) | pub struct DavPropertyValue { type MkCol (line 49) | pub struct MkCol { type LockInfo (line 56) | pub struct LockInfo { type Report (line 65) | pub enum Report { type ExpandProperty (line 81) | pub struct ExpandProperty { type ExpandPropertyItem (line 87) | pub struct ExpandPropertyItem { type AddressbookQuery (line 94) | pub struct AddressbookQuery { type VCardPropertyWithGroup (line 102) | pub struct VCardPropertyWithGroup { type CalendarQuery (line 109) | pub struct CalendarQuery { type Timezone (line 119) | pub enum Timezone { type FreeBusyQuery (line 127) | pub struct FreeBusyQuery { method new (line 238) | pub fn new(start: i64, end: i64) -> Self { type MultiGet (line 133) | pub struct MultiGet { type SyncCollection (line 140) | pub struct SyncCollection { type Filter (line 150) | pub enum Filter { type FilterOp (line 173) | pub enum FilterOp { type TextMatch (line 183) | pub struct TextMatch { type Acl (line 192) | pub struct Acl { type AclPrincipalPropSet (line 198) | pub struct AclPrincipalPropSet { type PrincipalMatch (line 204) | pub struct PrincipalMatch { type PrincipalMatchProperties (line 211) | pub enum PrincipalMatchProperties { type PrincipalPropertySearch (line 218) | pub struct PrincipalPropertySearch { type PropertySearch (line 226) | pub struct PropertySearch { type DavDeadProperty (line 245) | pub trait DavDeadProperty { method to_dav_values (line 246) | fn to_dav_values(&self, output: &mut Vec); method to_dav_values (line 250) | fn to_dav_values(&self, output: &mut Vec) { function is_none_match (line 289) | pub fn is_none_match(&self) -> bool { FILE: crates/dav-proto/src/schema/response.rs type MultiStatus (line 21) | pub struct MultiStatus { method is_empty (line 307) | pub fn is_empty(&self) -> bool { type Response (line 30) | pub struct Response { type ResponseType (line 40) | pub enum ResponseType { type Status (line 47) | pub struct Status(pub StatusCode); method deserialize (line 417) | fn deserialize(deserializer: D) -> Result type Location (line 52) | pub struct Location(pub Href); type ResponseDescription (line 57) | pub struct ResponseDescription(pub String); type SyncToken (line 60) | pub struct SyncToken(pub String); type Href (line 65) | pub struct Href(pub String); method from (line 295) | fn from(value: String) -> Self { method from (line 301) | fn from(value: &str) -> Self { type List (line 70) | pub struct List(pub Vec); type MkColResponse (line 72) | pub struct MkColResponse { type PropStat (line 80) | pub struct PropStat { type Prop (line 90) | pub struct Prop(pub List); type PropResponse (line 92) | pub struct PropResponse { type ScheduleResponse (line 98) | pub struct ScheduleResponse { type ScheduleResponseItem (line 103) | pub struct ScheduleResponseItem { type SupportedPrivilege (line 111) | pub struct SupportedPrivilege { type Ace (line 120) | pub struct Ace { type GrantDeny (line 130) | pub enum GrantDeny { type Principal (line 137) | pub enum Principal { type AclRestrictions (line 150) | pub struct AclRestrictions { type RequiredPrincipal (line 159) | pub enum RequiredPrincipal { type PrincipalSearchPropertySet (line 170) | pub struct PrincipalSearchPropertySet { type PrincipalSearchProperty (line 177) | pub struct PrincipalSearchProperty { type ErrorResponse (line 182) | pub struct ErrorResponse { type Condition (line 189) | pub enum Condition { method display_name (line 391) | pub fn display_name(&self) -> &'static str { type BaseCondition (line 197) | pub enum BaseCondition { method status (line 277) | pub fn status(&self) -> StatusCode { method display_name (line 313) | pub fn display_name(&self) -> &'static str { type Resource (line 227) | pub struct Resource { type CalCondition (line 234) | pub enum CalCondition { method display_name (line 345) | pub fn display_name(&self) -> &'static str { type CardCondition (line 265) | pub enum CardCondition { method display_name (line 376) | pub fn display_name(&self) -> &'static str { method serialize (line 407) | fn serialize(&self, serializer: S) -> Result FILE: crates/dav/src/calendar/copy_move.rs type CalendarCopyMoveRequestHandler (line 37) | pub(crate) trait CalendarCopyMoveRequestHandler: Sync + Send { method handle_calendar_copy_move_request (line 38) | fn handle_calendar_copy_move_request( method handle_calendar_copy_move_request (line 47) | async fn handle_calendar_copy_move_request( function copy_event (line 450) | async fn copy_event( function move_event (line 576) | async fn move_event( function rename_event (line 746) | async fn rename_event( function copy_container (line 796) | async fn copy_container( function rename_container (line 1016) | async fn rename_container( FILE: crates/dav/src/calendar/delete.rs type CalendarDeleteRequestHandler (line 37) | pub(crate) trait CalendarDeleteRequestHandler: Sync + Send { method handle_calendar_delete_request (line 38) | fn handle_calendar_delete_request( method handle_calendar_delete_request (line 46) | async fn handle_calendar_delete_request( FILE: crates/dav/src/calendar/freebusy.rs type CalendarFreebusyRequestHandler (line 40) | pub(crate) trait CalendarFreebusyRequestHandler: Sync + Send { method handle_calendar_freebusy_request (line 41) | fn handle_calendar_freebusy_request( method build_freebusy_object (line 48) | fn build_freebusy_object( method handle_calendar_freebusy_request (line 59) | async fn handle_calendar_freebusy_request( method build_freebusy_object (line 95) | async fn build_freebusy_object( function merge_intervals (line 309) | fn merge_intervals(mut intervals: Vec<(i64, i64)>) -> Vec { function build_ical_value (line 337) | fn build_ical_value(from: i64, to: i64) -> ICalendarValue { function freebusy_in_range (line 344) | pub(crate) fn freebusy_in_range( function freebusy_in_range_utc (line 371) | fn freebusy_in_range_utc( FILE: crates/dav/src/calendar/get.rs type CalendarGetRequestHandler (line 30) | pub(crate) trait CalendarGetRequestHandler: Sync + Send { method handle_calendar_get_request (line 31) | fn handle_calendar_get_request( method handle_calendar_get_request (line 40) | async fn handle_calendar_get_request( FILE: crates/dav/src/calendar/mkcol.rs type CalendarMkColRequestHandler (line 31) | pub(crate) trait CalendarMkColRequestHandler: Sync + Send { method handle_calendar_mkcol_request (line 32) | fn handle_calendar_mkcol_request( method handle_calendar_mkcol_request (line 41) | async fn handle_calendar_mkcol_request( FILE: crates/dav/src/calendar/mod.rs function assert_is_unique_uid (line 90) | pub(crate) async fn assert_is_unique_uid( type ItipPrecondition (line 123) | pub(crate) trait ItipPrecondition { method failed_precondition (line 124) | fn failed_precondition(&self) -> Option; method failed_precondition (line 128) | fn failed_precondition(&self) -> Option { FILE: crates/dav/src/calendar/proppatch.rs type CalendarPropPatchRequestHandler (line 45) | pub(crate) trait CalendarPropPatchRequestHandler: Sync + Send { method handle_calendar_proppatch_request (line 46) | fn handle_calendar_proppatch_request( method apply_calendar_properties (line 53) | fn apply_calendar_properties( method apply_event_properties (line 62) | fn apply_event_properties( method handle_calendar_proppatch_request (line 72) | async fn handle_calendar_proppatch_request( method apply_calendar_properties (line 249) | fn apply_calendar_properties( method apply_event_properties (line 425) | fn apply_event_properties( function remove_event_properties (line 492) | fn remove_event_properties( function remove_calendar_properties (line 518) | fn remove_calendar_properties( FILE: crates/dav/src/calendar/query.rs type CalendarQueryRequestHandler (line 48) | pub(crate) trait CalendarQueryRequestHandler: Sync + Send { method handle_calendar_query_request (line 49) | fn handle_calendar_query_request( method handle_calendar_query_request (line 58) | async fn handle_calendar_query_request( function is_resource_in_time_range (line 127) | pub(crate) fn is_resource_in_time_range(resource: &DavResource, filter: ... function extract_filter_range (line 138) | fn extract_filter_range(query: &CalendarQuery) -> Option { function extract_data_range (line 168) | fn extract_data_range(propfind: &PropFind, filter_range: Option Option { type CalendarQueryHandler (line 211) | pub(crate) struct CalendarQueryHandler { method new (line 217) | pub fn new( method filter (line 242) | pub fn filter(&mut self, event: &ArchivedCalendarEvent, filters: &Cale... method serialize_ical (line 414) | pub fn serialize_ical( method into_expanded_times (line 614) | pub fn into_expanded_times(self) -> Vec { function find_components (line 620) | fn find_components<'x>( function find_properties (line 635) | fn find_properties<'x>( function find_parameter (line 643) | fn find_parameter<'x>( FILE: crates/dav/src/calendar/scheduling.rs type CalendarEventNotificationHandler (line 44) | pub(crate) trait CalendarEventNotificationHandler: Sync + Send { method handle_scheduling_get_request (line 45) | fn handle_scheduling_get_request( method handle_scheduling_delete_request (line 52) | fn handle_scheduling_delete_request( method handle_scheduling_post_request (line 58) | fn handle_scheduling_post_request( method handle_scheduling_get_request (line 67) | async fn handle_scheduling_get_request( method handle_scheduling_delete_request (line 150) | async fn handle_scheduling_delete_request( method handle_scheduling_post_request (line 231) | async fn handle_scheduling_post_request( FILE: crates/dav/src/calendar/update.rs type CalendarUpdateRequestHandler (line 49) | pub(crate) trait CalendarUpdateRequestHandler: Sync + Send { method handle_calendar_update_request (line 50) | fn handle_calendar_update_request( method handle_calendar_update_request (line 60) | async fn handle_calendar_update_request( function validate_ical (line 453) | fn validate_ical(ical: &ICalendar) -> crate::Result<&str> { FILE: crates/dav/src/card/copy_move.rs type CardCopyMoveRequestHandler (line 36) | pub(crate) trait CardCopyMoveRequestHandler: Sync + Send { method handle_card_copy_move_request (line 37) | fn handle_card_copy_move_request( method handle_card_copy_move_request (line 46) | async fn handle_card_copy_move_request( function copy_card (line 432) | async fn copy_card( function move_card (line 550) | async fn move_card( function rename_card (line 703) | async fn rename_card( function copy_container (line 753) | async fn copy_container( function rename_container (line 961) | async fn rename_container( FILE: crates/dav/src/card/delete.rs type CardDeleteRequestHandler (line 36) | pub(crate) trait CardDeleteRequestHandler: Sync + Send { method handle_card_delete_request (line 37) | fn handle_card_delete_request( method handle_card_delete_request (line 45) | async fn handle_card_delete_request( FILE: crates/dav/src/card/get.rs type CardGetRequestHandler (line 30) | pub(crate) trait CardGetRequestHandler: Sync + Send { method handle_card_get_request (line 31) | fn handle_card_get_request( method handle_card_get_request (line 40) | async fn handle_card_get_request( FILE: crates/dav/src/card/mkcol.rs type CardMkColRequestHandler (line 31) | pub(crate) trait CardMkColRequestHandler: Sync + Send { method handle_card_mkcol_request (line 32) | fn handle_card_mkcol_request( method handle_card_mkcol_request (line 41) | async fn handle_card_mkcol_request( FILE: crates/dav/src/card/mod.rs function assert_is_unique_uid (line 74) | pub(crate) async fn assert_is_unique_uid( FILE: crates/dav/src/card/proppatch.rs type CardPropPatchRequestHandler (line 42) | pub(crate) trait CardPropPatchRequestHandler: Sync + Send { method handle_card_proppatch_request (line 43) | fn handle_card_proppatch_request( method apply_addressbook_properties (line 50) | fn apply_addressbook_properties( method apply_card_properties (line 59) | fn apply_card_properties( method handle_card_proppatch_request (line 69) | async fn handle_card_proppatch_request( method apply_addressbook_properties (line 246) | fn apply_addressbook_properties( method apply_card_properties (line 349) | fn apply_card_properties( function remove_card_properties (line 416) | fn remove_card_properties( function remove_addressbook_properties (line 442) | fn remove_addressbook_properties( FILE: crates/dav/src/card/query.rs type CardQueryRequestHandler (line 35) | pub(crate) trait CardQueryRequestHandler: Sync + Send { method handle_card_query_request (line 36) | fn handle_card_query_request( method handle_card_query_request (line 45) | async fn handle_card_query_request( function vcard_query (line 105) | pub(crate) fn vcard_query(card: &ArchivedVCard, filters: &AddressbookFil... function find_properties (line 186) | fn find_properties<'x>( function find_parameter (line 196) | fn find_parameter<'x>( function serialize_vcard_with_props (line 203) | pub(crate) fn serialize_vcard_with_props( FILE: crates/dav/src/card/update.rs type CardUpdateRequestHandler (line 38) | pub(crate) trait CardUpdateRequestHandler: Sync + Send { method handle_card_update_request (line 39) | fn handle_card_update_request( method handle_card_update_request (line 49) | async fn handle_card_update_request( FILE: crates/dav/src/common/acl.rs type DavAclHandler (line 39) | pub(crate) trait DavAclHandler: Sync + Send { method handle_acl_request (line 40) | fn handle_acl_request( method handle_acl_prop_set (line 47) | fn handle_acl_prop_set( method validate_and_map_aces (line 54) | fn validate_and_map_aces( method resolve_ace (line 61) | fn resolve_ace( method handle_acl_request (line 81) | async fn handle_acl_request( method handle_acl_prop_set (line 200) | async fn handle_acl_prop_set( method validate_and_map_aces (line 287) | async fn validate_and_map_aces( method resolve_ace (line 452) | async fn resolve_ace( type ResourceAcl (line 70) | pub(crate) trait ResourceAcl { method validate_and_map_parent_acl (line 71) | fn validate_and_map_parent_acl( method validate_and_map_parent_acl (line 504) | fn validate_and_map_parent_acl( type Privileges (line 530) | pub(crate) trait Privileges { method current_privilege_set (line 531) | fn current_privilege_set( method current_privilege_set (line 540) | fn current_privilege_set( function current_user_privilege_set (line 554) | pub(crate) fn current_user_privilege_set(acl_bitmap: Bitmap) -> Vec... FILE: crates/dav/src/common/lock.rs type ResourceState (line 31) | pub struct ResourceState<'x> { type LockData (line 42) | pub(crate) struct LockData { method remove_lock (line 624) | pub fn remove_lock(&mut self, lock_id: u64) -> bool { method remove_expired (line 641) | pub fn remove_expired(&mut self) -> u64 { type LockItems (line 48) | pub(crate) struct LockItems(Vec); type LockItem (line 51) | pub(crate) struct LockItem { method to_active_lock (line 769) | pub fn to_active_lock(&self, href: String) -> ActiveLock { method urn (line 788) | pub fn urn(&self) -> Urn { type LockCache (line 60) | struct LockCache<'x> { type LockArchive (line 66) | enum LockArchive<'x> { type LockCaches (line 72) | pub(crate) struct LockCaches<'x> { type LockRequestHandler (line 76) | pub(crate) trait LockRequestHandler: Sync + Send { method handle_lock_request (line 77) | fn handle_lock_request( method validate_headers (line 84) | fn validate_headers( method handle_lock_request (line 101) | async fn handle_lock_request( method validate_headers (line 339) | async fn validate_headers( type LockRequest (line 94) | pub(crate) enum LockRequest { function unarchive (line 663) | fn unarchive(&'x self) -> trc::Result<&'x ArchivedLockData> { function new_shared (line 674) | pub(self) fn new_shared( function to_unarchived (line 688) | pub fn to_unarchived(&'x self) -> trc::Result> { function is_cached (line 707) | pub fn is_cached(&self, resource_state: &ResourceState<'_>) -> Option( method to_active_lock (line 843) | pub fn to_active_lock(&self, href: String) -> ActiveLock { method urn (line 862) | pub fn urn(&self) -> Urn { function lock_key (line 868) | pub fn lock_key(&self) -> Vec { function lock_key (line 874) | pub fn lock_key(&self) -> Vec { function build_lock_key (line 879) | pub(crate) fn build_lock_key(account_id: u32, collection: Collection) ->... method eq (line 888) | fn eq(&self, other: &Self) -> bool { FILE: crates/dav/src/common/mod.rs type DavQuery (line 46) | pub(crate) struct DavQuery<'x> { type SyncType (line 60) | pub(crate) enum SyncType { method is_none (line 514) | pub fn is_none(&self) -> bool { method is_none_or_initial (line 518) | pub fn is_none_or_initial(&self) -> bool { type DavQueryResource (line 71) | pub(crate) enum DavQueryResource<'x> { type AddressbookFilter (line 86) | pub(crate) type AddressbookFilter = Vec String; method etag (line 109) | fn etag(&self) -> String { type ExtractETag (line 104) | pub(crate) trait ExtractETag { method etag (line 105) | fn etag(&self) -> Option; method etag (line 115) | fn etag(&self) -> Option { type DavCollection (line 141) | pub(crate) trait DavCollection { method namespace (line 142) | fn namespace(&self) -> Namespace; method namespace (line 146) | fn namespace(&self) -> Namespace { function propfind (line 158) | pub fn propfind( function multiget (line 180) | pub fn multiget( function addressbook_query (line 202) | pub fn addressbook_query( function calendar_query (line 225) | pub fn calendar_query( function changes (line 253) | pub fn changes( function expand (line 282) | pub fn expand( function is_minimal (line 313) | pub fn is_minimal(&self) -> bool { type ArchivedResource (line 318) | pub(crate) enum ArchivedResource<'x> { function from_archive (line 329) | pub fn from_archive( function acls (line 356) | pub fn acls(&self) -> Option<&ArchivedVec> { function created (line 365) | pub fn created(&self) -> i64 { function modified (line 379) | pub fn modified(&self) -> i64 { function dead_properties (line 393) | pub fn dead_properties(&self) -> Option<&ArchivedDeadProperty> { function content_length (line 405) | pub fn content_length(&self) -> Option { function content_type (line 421) | pub fn content_type(&self) -> Option<&str> { function display_name (line 438) | pub fn display_name(&self, access_token: &AccessToken) -> Option<&str> { function supported_report_set (line 454) | pub fn supported_report_set(&self) -> Option> { function resource_type (line 491) | pub fn resource_type(&self) -> Option> { FILE: crates/dav/src/common/propfind.rs type PropFindRequestHandler (line 75) | pub(crate) trait PropFindRequestHandler: Sync + Send { method handle_propfind_request (line 76) | fn handle_propfind_request( method handle_dav_query (line 83) | fn handle_dav_query( method dav_quota (line 89) | fn dav_quota( method handle_propfind_request (line 125) | async fn handle_propfind_request( method handle_dav_query (line 290) | async fn handle_dav_query( method dav_quota (line 1133) | async fn dav_quota( type PropFindData (line 96) | pub(crate) struct PropFindData { method new (line 1582) | pub fn new() -> Self { method quota (line 1588) | pub async fn quota( method owner (line 1603) | pub async fn owner( method resources (line 1622) | pub async fn resources( method locks (line 1642) | pub async fn locks( type PropFindAccountData (line 101) | pub(crate) struct PropFindAccountData { type PropFindAccountQuota (line 110) | pub(crate) struct PropFindAccountQuota { type PropFindItem (line 116) | pub(crate) struct PropFindItem { method new (line 1570) | pub fn new(name: String, account_id: u32, resource: DavResourcePath<'_... function get (line 1161) | async fn get( function multiget (line 1480) | async fn multiget( type SyncTokenUrn (line 1680) | pub(crate) trait SyncTokenUrn { method sync_token (line 1681) | fn sync_token(&self) -> String; method sync_token (line 1685) | fn sync_token(&self) -> String { function add_base_collection_response (line 1694) | async fn add_base_collection_response( FILE: crates/dav/src/common/uri.rs type UriResource (line 18) | pub(crate) struct UriResource { type Urn (line 24) | pub(crate) enum Urn { method try_extract_sync_id (line 184) | pub fn try_extract_sync_id(token: &str) -> Option<&str> { method parse (line 190) | pub fn parse(input: &str) -> Option { method try_unwrap_lock (line 210) | pub fn try_unwrap_lock(&self) -> Option { method try_unwrap_sync (line 217) | pub fn try_unwrap_sync(&self) -> Option<(u64, u32)> { type UnresolvedUri (line 29) | pub(crate) type UnresolvedUri<'x> = UriResource, Option<&'x ... type OwnedUri (line 30) | pub(crate) type OwnedUri<'x> = UriResource>; type DocumentUri (line 31) | pub(crate) type DocumentUri = UriResource; type DavUriResource (line 33) | pub(crate) trait DavUriResource: Sync + Send { method validate_uri_with_status (line 34) | fn validate_uri_with_status<'x>( method validate_uri (line 41) | fn validate_uri<'x>( method map_uri_resource (line 47) | fn map_uri_resource( method validate_uri (line 55) | async fn validate_uri<'x>( method validate_uri_with_status (line 64) | async fn validate_uri_with_status<'x>( method map_uri_resource (line 121) | async fn map_uri_resource( function into_owned_uri (line 152) | pub fn into_owned_uri(self) -> crate::Result> { function new_owned (line 164) | pub fn new_owned( method fmt (line 226) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/dav/src/file/copy_move.rs type FileCopyMoveRequestHandler (line 39) | pub(crate) trait FileCopyMoveRequestHandler: Sync + Send { method handle_file_copy_move_request (line 40) | fn handle_file_copy_move_request( method handle_file_copy_move_request (line 49) | async fn handle_file_copy_move_request( type Destination (line 330) | pub(crate) struct Destination { method default (line 338) | fn default() -> Self { function move_container (line 349) | async fn move_container( function copy_container (line 419) | async fn copy_container( function overwrite_and_delete_item (line 553) | async fn overwrite_and_delete_item( function overwrite_item (line 634) | async fn overwrite_item( function move_item (line 700) | async fn move_item( function copy_item (line 776) | async fn copy_item( function rename_item (line 822) | async fn rename_item( method from_dav_resource (line 870) | fn from_dav_resource(item: DavResourcePath<'_>) -> Self { FILE: crates/dav/src/file/delete.rs type FileDeleteRequestHandler (line 22) | pub(crate) trait FileDeleteRequestHandler: Sync + Send { method handle_file_delete_request (line 23) | fn handle_file_delete_request( method handle_file_delete_request (line 31) | async fn handle_file_delete_request( FILE: crates/dav/src/file/get.rs type FileGetRequestHandler (line 31) | pub(crate) trait FileGetRequestHandler: Sync + Send { method handle_file_get_request (line 32) | fn handle_file_get_request( method handle_file_get_request (line 41) | async fn handle_file_get_request( FILE: crates/dav/src/file/mkcol.rs type FileMkColRequestHandler (line 33) | pub(crate) trait FileMkColRequestHandler: Sync + Send { method handle_file_mkcol_request (line 34) | fn handle_file_mkcol_request( method handle_file_mkcol_request (line 43) | async fn handle_file_mkcol_request( FILE: crates/dav/src/file/mod.rs type FromDavResource (line 66) | pub(crate) trait FromDavResource { method from_dav_resource (line 67) | fn from_dav_resource(item: DavResourcePath<'_>) -> Self; method from_dav_resource (line 140) | fn from_dav_resource(item: DavResourcePath) -> Self { method from_dav_resource (line 146) | fn from_dav_resource(item: DavResourcePath) -> Self { type FileItemId (line 70) | pub(crate) struct FileItemId { type DavFileResource (line 76) | pub(crate) trait DavFileResource { method map_resource (line 77) | fn map_resource( method map_parent (line 82) | fn map_parent<'x>(&self, resource: &'x str) -> Option<(Option( method map_resource (line 92) | fn map_resource( method map_parent (line 107) | fn map_parent<'x>(&self, resource: &'x str) -> Option<(Option( FILE: crates/dav/src/file/proppatch.rs type FilePropPatchRequestHandler (line 39) | pub(crate) trait FilePropPatchRequestHandler: Sync + Send { method handle_file_proppatch_request (line 40) | fn handle_file_proppatch_request( method apply_file_properties (line 47) | fn apply_file_properties( method handle_file_proppatch_request (line 57) | async fn handle_file_proppatch_request( method apply_file_properties (line 173) | fn apply_file_properties( function remove_file_properties (line 271) | fn remove_file_properties( FILE: crates/dav/src/file/update.rs type FileUpdateRequestHandler (line 39) | pub(crate) trait FileUpdateRequestHandler: Sync + Send { method handle_file_update_request (line 40) | fn handle_file_update_request( method handle_file_update_request (line 50) | async fn handle_file_update_request( FILE: crates/dav/src/lib.rs type Result (line 23) | pub(crate) type Result = std::result::Result; type DavMethod (line 26) | pub enum DavMethod { method parse (line 115) | pub fn parse(method: &Method) -> Option { method has_body (line 142) | pub fn has_body(self) -> bool { function from (line 47) | fn from(value: DavMethod) -> Self { type DavError (line 70) | pub(crate) enum DavError { method from (line 84) | fn from(value: DavErrorCondition) -> Self { type DavErrorCondition (line 77) | struct DavErrorCondition { method from (line 90) | fn from(value: Condition) -> Self { method new (line 100) | pub fn new(code: StatusCode, condition: impl Into) -> Self { method with_details (line 108) | pub fn with_details(mut self, details: impl Into) -> Self { type PropStatBuilder (line 159) | pub struct PropStatBuilder { method insert_ok (line 164) | pub fn insert_ok(&mut self, prop: impl Into) -> &mut... method insert_with_status (line 172) | pub fn insert_with_status( method insert_error_with_description (line 184) | pub fn insert_error_with_description( method insert_precondition_failed (line 197) | pub fn insert_precondition_failed( method insert_precondition_failed_with_description (line 210) | pub fn insert_precondition_failed_with_description( method build (line 224) | pub fn build(self) -> Vec { function fix_percent_encoding (line 238) | pub(crate) fn fix_percent_encoding(path: &'_ str) -> Cow<'_, str> { FILE: crates/dav/src/principal/matching.rs type PrincipalMatching (line 30) | pub(crate) trait PrincipalMatching: Sync + Send { method handle_principal_match (line 31) | fn handle_principal_match( method handle_principal_match (line 40) | async fn handle_principal_match( FILE: crates/dav/src/principal/mod.rs type CurrentUserPrincipal (line 17) | pub trait CurrentUserPrincipal { method current_user_principal (line 18) | fn current_user_principal(&self) -> Href; method current_user_principal (line 22) | fn current_user_principal(&self) -> Href { FILE: crates/dav/src/principal/propfind.rs type PrincipalPropFind (line 30) | pub(crate) trait PrincipalPropFind: Sync + Send { method prepare_principal_propfind_response (line 31) | fn prepare_principal_propfind_response( method expand_principal (line 40) | fn expand_principal( method owner_href (line 47) | fn owner_href( method prepare_principal_propfind_response (line 55) | async fn prepare_principal_propfind_response( method expand_principal (line 394) | async fn expand_principal( method owner_href (line 413) | async fn owner_href(&self, access_token: &AccessToken, account_id: u32... function build_home_set (line 432) | pub(crate) async fn build_home_set( function all_props (line 474) | fn all_props(collection: Collection, all_props: Option<&[DavProperty]>) ... FILE: crates/dav/src/principal/propsearch.rs type PrincipalPropSearch (line 21) | pub(crate) trait PrincipalPropSearch: Sync + Send { method handle_principal_property_search (line 22) | fn handle_principal_property_search( method handle_principal_property_search (line 30) | async fn handle_principal_property_search( FILE: crates/dav/src/request.rs type DavRequestHandler (line 57) | pub trait DavRequestHandler: Sync + Send { method handle_dav_request (line 58) | fn handle_dav_request( method handle_dav_request (line 564) | async fn handle_dav_request( type DavRequestDispatcher (line 68) | pub(crate) trait DavRequestDispatcher: Sync + Send { method dispatch_dav_request (line 69) | fn dispatch_dav_request( method dispatch_dav_request (line 80) | async fn dispatch_dav_request( method from (line 737) | fn from(err: dav_proto::parser::Error) -> Self { method from (line 743) | fn from(err: trc::Error) -> Self { FILE: crates/directory/src/backend/imap/client.rs function authenticate (line 18) | pub async fn authenticate( function authentication_mechanisms (line 72) | pub async fn authentication_mechanisms(&mut self) -> Result Result<(), ImapError> { function logout (line 123) | pub async fn logout(&mut self) -> Result<(), ImapError> { function expect_greeting (line 132) | pub async fn expect_greeting(&mut self) -> Result<(), ImapError> { function read_line (line 145) | pub async fn read_line(&mut self) -> Result, ImapError> { function write (line 173) | pub async fn write(&mut self, bytes: &[u8]) -> Result<(), std::io::Error> { function imap_auth (line 189) | async fn imap_auth() { FILE: crates/directory/src/backend/imap/config.rs method from_config (line 17) | pub fn from_config(config: &mut Config, prefix: impl AsKey) -> Option) -> trc::Result trc::Result trc::Result { method vrfy (line 71) | pub async fn vrfy(&self, _address: &str) -> trc::Result> { method expn (line 75) | pub async fn expn(&self, _address: &str) -> trc::Result> { method is_local_domain (line 79) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { FILE: crates/directory/src/backend/imap/mod.rs type ImapDirectory (line 20) | pub struct ImapDirectory { type ImapConnectionManager (line 25) | pub struct ImapConnectionManager { type ImapClient (line 34) | pub struct ImapClient { type ImapError (line 42) | pub enum ImapError { method from (line 53) | fn from(error: std::io::Error) -> Self { method fmt (line 59) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/directory/src/backend/imap/pool.rs type Type (line 18) | type Type = ImapClient>; type Error (line 19) | type Error = ImapError; method create (line 21) | async fn create(&self) -> Result>, ImapE... method recycle (line 41) | async fn recycle( FILE: crates/directory/src/backend/imap/tls.rs function start_tls (line 17) | async fn start_tls( function into_tls (line 37) | async fn into_tls( function connect (line 62) | pub async fn connect( FILE: crates/directory/src/backend/internal/lookup.rs type DirectoryStore (line 18) | pub trait DirectoryStore: Sync + Send { method query (line 19) | async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result>; method is_local_domain (line 21) | async fn is_local_domain(&self, domain: &str) -> trc::Result; method rcpt (line 22) | async fn rcpt(&self, address: &str) -> trc::Result; method vrfy (line 23) | async fn vrfy(&self, address: &str) -> trc::Result>; method expn (line 24) | async fn expn(&self, address: &str) -> trc::Result>; method expn_by_id (line 25) | async fn expn_by_id(&self, id: u32) -> trc::Result>; method query (line 29) | async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result> { method is_local_domain (line 87) | async fn is_local_domain(&self, domain: &str) -> trc::Result { method rcpt (line 95) | async fn rcpt(&self, address: &str) -> trc::Result { method vrfy (line 112) | async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 144) | async fn expn(&self, address: &str) -> trc::Result> { method expn_by_id (line 158) | async fn expn_by_id(&self, list_id: u32) -> trc::Result> { FILE: crates/directory/src/backend/internal/manage.rs type PrincipalList (line 36) | pub struct PrincipalList { type UpdatePrincipal (line 41) | pub struct UpdatePrincipal<'x> { type ChangedPrincipals (line 51) | pub struct ChangedPrincipals(AHashMap); method new (line 2680) | pub fn new() -> Self { method from_change (line 2684) | pub fn from_change(principal_id: u32, principal_type: Type, field: Pri... method add_change (line 2690) | pub fn add_change(&mut self, principal_id: u32, principal_type: Type, ... method add_member_change (line 2731) | pub fn add_member_change( method add_deletion (line 2770) | pub fn add_deletion(&mut self, principal_id: u32, principal_type: Type) { method contains (line 2786) | pub fn contains(&self, principal_id: u32) -> bool { method iter (line 2790) | pub fn iter(&'_ self) -> std::collections::hash_map::Iter<'_, u32, Cha... method is_empty (line 2794) | pub fn is_empty(&self) -> bool { type ChangedPrincipal (line 54) | pub struct ChangedPrincipal { method new (line 2800) | pub fn new(typ: Type) -> Self { method update_member_change (line 2808) | pub fn update_member_change(&mut self, member_change: bool) -> &mut Se... method update_name_change (line 2813) | pub fn update_name_change(&mut self, name_change: bool) -> &mut Self { type CreatedPrincipal (line 61) | pub struct CreatedPrincipal { type ManageDirectory (line 67) | pub trait ManageDirectory: Sized { method get_principal_id (line 68) | async fn get_principal_id(&self, name: &str) -> trc::Result>; method get_principal_info (line 69) | async fn get_principal_info(&self, name: &str) -> trc::Result t... method get_principal (line 71) | async fn get_principal(&self, principal_id: u32) -> trc::Result trc::Result trc::Result trc::Result>; method create_principal (line 75) | async fn create_principal( method update_principal (line 81) | async fn update_principal(&self, params: UpdatePrincipal<'_>) method delete_principal (line 83) | async fn delete_principal(&self, by: QueryBy<'_>) -> trc::Result trc::Result trc::Result trc::Result trc::Result t... method create_principal (line 266) | async fn create_principal( method delete_principal (line 674) | async fn delete_principal(&self, by: QueryBy<'_>) -> trc::Result trc::Result trc::Result> { method map_principal (line 2295) | async fn map_principal( type ValidateDirectory (line 112) | trait ValidateDirectory: Sized { method validate_email (line 113) | async fn validate_email( method validate_email (line 2551) | async fn validate_email( method map_internal_role_name (line 2586) | pub fn map_internal_role_name(&self, name: &str) -> Option { method map_internal_roles (line 2595) | pub fn map_internal_roles(&self, name: &str) -> Option { function by_id (line 2602) | pub fn by_id(id: u32) -> Self { function by_name (line 2612) | pub fn by_name(name: &'x str) -> Self { function with_tenant (line 2622) | pub fn with_tenant(mut self, tenant_id: Option) -> Self { function with_updates (line 2627) | pub fn with_updates(mut self, changes: Vec) -> Self { function with_allowed_permissions (line 2632) | pub fn with_allowed_permissions(mut self, permissions: &'x Permissions) ... function create_domains (line 2637) | pub fn create_domains(mut self) -> Self { function validate_member_of (line 2643) | fn validate_member_of( function err_missing (line 2819) | pub fn err_missing(field: impl Into) -> trc::Error { function err_exists (line 2823) | pub fn err_exists(field: impl Into, value: impl Into) -> trc::Error { function unsupported (line 2833) | pub fn unsupported(details: impl Into) -> trc::Error { function enterprise (line 2837) | pub fn enterprise() -> trc::Error { function error (line 2841) | pub fn error(details: impl Into, reason: Option Self { FILE: crates/directory/src/backend/internal/mod.rs type PrincipalInfo (line 17) | pub struct PrincipalInfo { method has_tenant_access (line 28) | pub fn has_tenant_access(&self, tenant_id: Option) -> bool { method has_tenant_access (line 37) | pub fn has_tenant_access(&self, _tenant_id: Option) -> bool { method new (line 79) | pub fn new(principal_id: u32, typ: Type, tenant: Option) -> Self { method serialize (line 43) | fn serialize(&self) -> Vec { method deserialize (line 60) | fn deserialize(bytes_: &[u8]) -> trc::Result { type PrincipalField (line 92) | pub enum PrincipalField { method id (line 179) | pub fn id(&self) -> u8 { method from_id (line 202) | pub fn from_id(id: u8) -> Option { method as_str (line 226) | pub fn as_str(&self) -> &'static str { method try_parse (line 249) | pub fn try_parse(s: &str) -> Option { type PrincipalSet (line 114) | pub struct PrincipalSet { type PrincipalUpdate (line 121) | pub struct PrincipalUpdate { method set (line 147) | pub fn set(field: PrincipalField, value: PrincipalValue) -> PrincipalU... method add_item (line 155) | pub fn add_item(field: PrincipalField, value: PrincipalValue) -> Princ... method remove_item (line 163) | pub fn remove_item(field: PrincipalField, value: PrincipalValue) -> Pr... type PrincipalAction (line 128) | pub enum PrincipalAction { type PrincipalValue (line 139) | pub enum PrincipalValue { method fmt (line 173) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type SpecialSecrets (line 274) | pub trait SpecialSecrets { method is_otp_secret (line 275) | fn is_otp_secret(&self) -> bool; method is_app_secret (line 276) | fn is_app_secret(&self) -> bool; method is_otp_secret (line 283) | fn is_otp_secret(&self) -> bool { method is_app_secret (line 287) | fn is_app_secret(&self) -> bool { FILE: crates/directory/src/backend/ldap/config.rs method from_config (line 20) | pub fn from_config(config: &mut Config, prefix: impl AsKey, data_store: ... method from_config (line 147) | fn from_config(config: &mut Config, key: impl AsKey) -> Self { FILE: crates/directory/src/backend/ldap/lookup.rs method query (line 25) | pub async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result trc::Result { method vrfy (line 376) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 380) | pub async fn expn(&self, address: &str) -> trc::Result> { method is_local_domain (line 384) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { method find_principal (line 390) | async fn find_principal( type LdapResult (line 420) | struct LdapResult { method entry_to_principal (line 427) | fn entry_to_principal(&self, entry: SearchEntry) -> LdapResult { function result_to_trace (line 549) | fn result_to_trace(rs: &ResultEntry) -> trc::Value { FILE: crates/directory/src/backend/ldap/mod.rs type LdapDirectory (line 15) | pub struct LdapDirectory { type LdapMappings (line 23) | pub struct LdapMappings { type LdapFilter (line 40) | pub(crate) struct LdapFilter { method build (line 53) | pub fn build(&self, value: &str) -> String { type LdapFilterItem (line 45) | enum LdapFilterItem { type LdapConnectionManager (line 80) | pub(crate) struct LdapConnectionManager { method new (line 92) | pub fn new(address: String, settings: LdapConnSettings, bind_dn: Optio... type Bind (line 86) | pub(crate) struct Bind { method new (line 102) | pub fn new(dn: String, password: String) -> Self { type AuthBind (line 107) | pub(crate) enum AuthBind { FILE: crates/directory/src/backend/ldap/pool.rs type Type (line 15) | type Type = Ldap; type Error (line 16) | type Error = LdapError; method create (line 18) | async fn create(&self) -> Result { method recycle (line 33) | async fn recycle( FILE: crates/directory/src/backend/memory/config.rs method from_config (line 18) | pub async fn from_config( FILE: crates/directory/src/backend/memory/lookup.rs method query (line 13) | pub async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result trc::Result { method vrfy (line 65) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 75) | pub async fn expn(&self, address: &str) -> trc::Result> { method is_local_domain (line 96) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { FILE: crates/directory/src/backend/memory/mod.rs type MemoryDirectory (line 16) | pub struct MemoryDirectory { type EmailType (line 24) | enum EmailType { FILE: crates/directory/src/backend/mod.rs type RcptType (line 16) | pub enum RcptType { method from (line 24) | fn from(value: bool) -> Self { FILE: crates/directory/src/backend/oidc/config.rs method from_config (line 16) | pub fn from_config(config: &mut Config, prefix: impl AsKey, data_store: ... FILE: crates/directory/src/backend/oidc/lookup.rs type OpenIdResponse (line 27) | type OpenIdResponse = HashMap; method query (line 30) | pub async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result trc::Result { method vrfy (line 144) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 148) | pub async fn expn(&self, address: &str) -> trc::Result> { method is_local_domain (line 152) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { type BuildPrincipal (line 157) | trait BuildPrincipal { method build_principal (line 158) | fn build_principal(&mut self, config: &OpenIdConfig) -> trc::Result trc::Result; method take_field (line 160) | fn take_field(&mut self, field: &str) -> Option; method build_principal (line 164) | fn build_principal(&mut self, config: &OpenIdConfig) -> trc::Result trc::Result { method take_field (line 214) | fn take_field(&mut self, field: &str) -> Option { FILE: crates/directory/src/backend/oidc/mod.rs type OpenIdDirectory (line 14) | pub struct OpenIdDirectory { type OpenIdConfig (line 19) | struct OpenIdConfig { type EndpointType (line 29) | pub enum EndpointType { type Authentication (line 35) | pub enum Authentication { FILE: crates/directory/src/backend/smtp/config.rs method from_config (line 17) | pub fn from_config(config: &mut Config, prefix: impl AsKey, is_lmtp: boo... FILE: crates/directory/src/backend/smtp/lookup.rs method query (line 15) | pub async fn query(&self, query: QueryBy<'_>) -> trc::Result trc::Result trc::Result { method vrfy (line 69) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 78) | pub async fn expn(&self, address: &str) -> trc::Result> { method is_local_domain (line 87) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { method authenticate (line 93) | async fn authenticate( method expand (line 113) | async fn expand(&mut self, command: &str) -> trc::Result> { FILE: crates/directory/src/backend/smtp/mod.rs type SmtpDirectory (line 18) | pub struct SmtpDirectory { type SmtpConnectionManager (line 23) | pub struct SmtpConnectionManager { type SmtpClient (line 29) | pub struct SmtpClient { FILE: crates/directory/src/backend/smtp/pool.rs type Type (line 15) | type Type = SmtpClient; type Error (line 16) | type Error = Error; method create (line 18) | async fn create(&self) -> Result { method recycle (line 35) | async fn recycle( FILE: crates/directory/src/backend/sql/config.rs method from_config (line 13) | pub fn from_config( FILE: crates/directory/src/backend/sql/lookup.rs method query (line 24) | pub async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result trc::Result { method vrfy (line 277) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 281) | pub async fn expn(&self, address: &str) -> trc::Result> { method is_local_domain (line 285) | pub async fn is_local_domain(&self, domain: &str) -> trc::Result { method row_to_principal (line 291) | pub fn row_to_principal(&self, rows: NamedRows) -> trc::Result Opt... method get_rcpt (line 42) | pub fn get_rcpt(&self, address: &str) -> Option { method set_rcpt (line 46) | pub fn set_rcpt(&self, address: &str, exists: &RcptType) { method get_domain (line 56) | pub fn get_domain(&self, domain: &str) -> Option { method set_domain (line 60) | pub fn set_domain(&self, domain: &str, exists: bool) { FILE: crates/directory/src/core/config.rs method parse (line 28) | pub async fn parse( function build_pool (line 120) | pub(crate) fn build_pool( FILE: crates/directory/src/core/dispatch.rs method query (line 15) | pub async fn query(&self, by: QueryParams<'_>) -> trc::Result trc::Result trc::Result { method rcpt (line 68) | pub async fn rcpt(&self, email: &str) -> trc::Result { method vrfy (line 95) | pub async fn vrfy(&self, address: &str) -> trc::Result> { method expn (line 108) | pub async fn expn(&self, address: &str) -> trc::Result> { method has_bearer_token_support (line 121) | pub fn has_bearer_token_support(&self) -> bool { method is_enterprise_directory (line 135) | pub fn is_enterprise_directory(&self) -> bool { FILE: crates/directory/src/core/mod.rs method description (line 16) | pub fn description(&self) -> &'static str { function print_permissions (line 333) | fn print_permissions() { FILE: crates/directory/src/core/principal.rs method new (line 28) | pub fn new(id: u32, typ: Type) -> Self { method id (line 37) | pub fn id(&self) -> u32 { method typ (line 41) | pub fn typ(&self) -> Type { method name (line 45) | pub fn name(&self) -> &str { method quota (line 49) | pub fn quota(&self) -> Option { method directory_quota (line 59) | pub fn directory_quota(&self, typ: &Type) -> Option { method tenant (line 76) | pub fn tenant(&self) -> Option { method tenant (line 88) | pub fn tenant(&self) -> Option { method description (line 92) | pub fn description(&self) -> Option<&str> { method secret (line 106) | pub fn secret(&self) -> Option<&str> { method primary_email (line 116) | pub fn primary_email(&self) -> Option<&str> { method email_addresses (line 126) | pub fn email_addresses(&self) -> impl Iterator { method into_primary_email (line 151) | pub fn into_primary_email(self) -> Option { method into_email_addresses (line 161) | pub fn into_email_addresses(self) -> impl Iterator { method member_of (line 171) | pub fn member_of(&self) -> impl Iterator { method roles (line 181) | pub fn roles(&self) -> impl Iterator { method permissions (line 191) | pub fn permissions(&self) -> impl Iterator { method urls (line 208) | pub fn urls(&self) -> impl Iterator { method lists (line 218) | pub fn lists(&self) -> impl Iterator { method picture (line 228) | pub fn picture(&self) -> Option<&String> { method picture_mut (line 238) | pub fn picture_mut(&mut self) -> Option<&mut String> { method add_permission (line 248) | pub fn add_permission(&mut self, permission: Permission, grant: bool) { method add_permissions (line 274) | pub fn add_permissions(&mut self, iter: impl Iterator Vec usize { method fallback_admin (line 478) | pub fn fallback_admin(fallback_pass: impl Into) -> Self { method sort (line 490) | pub fn sort(&mut self) { method rank (line 496) | fn rank(&self) -> u8 { method rank_string (line 507) | fn rank_string(&self) -> Option<&str> { method partial_cmp (line 520) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 526) | fn cmp(&self, other: &Self) -> Ordering { method object_size (line 538) | pub fn object_size(&self) -> usize { method new (line 562) | pub fn new(id: u32, typ: Type) -> Self { method id (line 570) | pub fn id(&self) -> u32 { method typ (line 574) | pub fn typ(&self) -> Type { method name (line 578) | pub fn name(&self) -> &str { method has_name (line 582) | pub fn has_name(&self) -> bool { method quota (line 586) | pub fn quota(&self) -> u64 { method tenant (line 594) | pub fn tenant(&self) -> Option { method tenant (line 600) | pub fn tenant(&self) -> Option { method description (line 604) | pub fn description(&self) -> Option<&str> { method get_str (line 608) | pub fn get_str(&self, key: PrincipalField) -> Option<&str> { method get_int (line 612) | pub fn get_int(&self, key: PrincipalField) -> Option { method get_str_array (line 616) | pub fn get_str_array(&self, key: PrincipalField) -> Option<&[String]> { method get_int_array (line 624) | pub fn get_int_array(&self, key: PrincipalField) -> Option<&[u64]> { method take (line 632) | pub fn take(&mut self, key: PrincipalField) -> Option { method take_str (line 636) | pub fn take_str(&mut self, key: PrincipalField) -> Option { method take_int (line 645) | pub fn take_int(&mut self, key: PrincipalField) -> Option { method take_str_array (line 654) | pub fn take_str_array(&mut self, key: PrincipalField) -> Option Option> { method iter_str (line 662) | pub fn iter_str( method iter_mut_str (line 672) | pub fn iter_mut_str( method iter_int (line 682) | pub fn iter_int( method iter_mut_int (line 692) | pub fn iter_mut_int( method append_int (line 702) | pub fn append_int(&mut self, key: PrincipalField, value: impl Into)... method append_str (line 741) | pub fn append_str(&mut self, key: PrincipalField, value: impl Into bool { method has_str_value (line 839) | pub fn has_str_value(&self, key: PrincipalField, value: &str) -> bool { method has_int_value (line 847) | pub fn has_int_value(&self, key: PrincipalField, value: u64) -> bool { method find_str (line 855) | pub fn find_str(&self, value: &str) -> bool { method field_len (line 859) | pub fn field_len(&self, key: PrincipalField) -> usize { method remove (line 868) | pub fn remove(&mut self, key: PrincipalField) -> Option { method retain_str (line 872) | pub fn retain_str(&mut self, key: PrincipalField, mut f: F) method retain_int (line 894) | pub fn retain_int(&mut self, key: PrincipalField, mut f: F) method as_str (line 918) | pub fn as_str(&self) -> Option<&str> { method as_int (line 926) | pub fn as_int(&self) -> Option { method iter_str (line 934) | pub fn iter_str(&self) -> Box + Sync + Send... method iter_mut_str (line 942) | pub fn iter_mut_str(&mut self) -> Box +... method iter_int (line 950) | pub fn iter_int(&self) -> Box + Sync + Send + '... method iter_mut_int (line 958) | pub fn iter_mut_int(&mut self) -> Box + Sy... method into_array (line 966) | pub fn into_array(self) -> Self { method into_str_array (line 974) | pub fn into_str_array(self) -> Vec { method into_int_array (line 983) | pub fn into_int_array(self) -> Vec { method serialized_size (line 995) | pub fn serialized_size(&self) -> usize { method find_str (line 1004) | pub fn find_str(&self, value: &str) -> bool { method from (line 1014) | fn from(v: u64) -> Self { method from (line 1020) | fn from(v: String) -> Self { method from (line 1026) | fn from(v: &str) -> Self { method from (line 1032) | fn from(v: Vec) -> Self { method from (line 1038) | fn from(v: Vec) -> Self { method from (line 1044) | fn from(v: u32) -> Self { method from (line 1050) | fn from(v: Vec) -> Self { function build_search_index (line 1055) | pub(crate) fn build_search_index( method as_str (line 1113) | pub fn as_str(&self) -> &'static str { method description (line 1129) | pub fn description(&self) -> &'static str { method parse (line 1145) | pub fn parse(value: &str) -> Option { constant MAX_ID (line 1162) | pub const MAX_ID: usize = 11; method from_u8 (line 1164) | pub fn from_u8(value: u8) -> Self { type Err (line 1184) | type Err = (); method from_str (line 1186) | fn from_str(s: &str) -> Result { method serialize (line 1192) | fn serialize(&self, serializer: S) -> Result constant MAX_STRING_LEN (line 1214) | const MAX_STRING_LEN: usize = 512; method deserialize (line 1217) | fn deserialize(deserializer: D) -> Result method deserialize (line 1307) | fn deserialize(deserializer: D) -> Result type StringOrU64 (line 1428) | enum StringOrU64 { method deserialize (line 1434) | fn deserialize(deserializer: D) -> Result method all (line 1482) | pub fn all() -> impl Iterator { method is_user_permission (line 1486) | pub const fn is_user_permission(&self) -> bool { method is_tenant_admin_permission (line 1672) | pub const fn is_tenant_admin_permission(&self) -> bool { method is_tenant_admin_permission (line 1681) | pub const fn is_tenant_admin_permission(&self) -> bool { FILE: crates/directory/src/core/secret.rs method verify_secret (line 25) | pub async fn verify_secret( function verify_hash_prefix (line 102) | async fn verify_hash_prefix(hashed_secret: &str, secret: &str) -> trc::R... function verify_secret_hash (line 154) | pub async fn verify_secret_hash(hashed_secret: &str, secret: &str) -> tr... FILE: crates/directory/src/lib.rs type Directory (line 30) | pub struct Directory { constant FALLBACK_ADMIN_ID (line 35) | pub const FALLBACK_ADMIN_ID: u32 = u32::MAX; type Principal (line 38) | pub struct Principal { type PrincipalData (line 46) | pub enum PrincipalData { type PermissionGrant (line 76) | pub struct PermissionGrant { type MemberOf (line 82) | pub struct MemberOf { type Type (line 102) | pub enum Type { method from (line 544) | fn from(archived: &ArchivedType) -> Self { type Permission (line 121) | pub enum Permission { constant PERMISSIONS_BITSET_SIZE (line 430) | pub const PERMISSIONS_BITSET_SIZE: usize = Permission::COUNT.div_ceil(st... type Permissions (line 431) | pub type Permissions = Bitset; constant ROLE_ADMIN (line 433) | pub const ROLE_ADMIN: u32 = u32::MAX; constant ROLE_TENANT_ADMIN (line 434) | pub const ROLE_TENANT_ADMIN: u32 = u32::MAX - 1; constant ROLE_USER (line 435) | pub const ROLE_USER: u32 = u32::MAX - 2; type DirectoryInner (line 437) | pub enum DirectoryInner { type QueryBy (line 447) | pub enum QueryBy<'x> { type QueryParams (line 453) | pub struct QueryParams<'x> { method default (line 460) | fn default() -> Self { method fmt (line 469) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Directories (line 475) | pub struct Directories { type IntoError (line 479) | trait IntoError { method into_error (line 480) | fn into_error(self) -> trc::Error; method into_error (line 484) | fn into_error(self) -> trc::Error { method into_error (line 496) | fn into_error(self) -> trc::Error { method into_error (line 508) | fn into_error(self) -> trc::Error { method into_error (line 520) | fn into_error(self) -> trc::Error { method into_error (line 526) | fn into_error(self) -> trc::Error { method into_error (line 532) | fn into_error(self) -> trc::Error { function name (line 562) | pub fn name(name: &'x str) -> Self { function credentials (line 570) | pub fn credentials(credentials: &'x Credentials) -> Self { function id (line 578) | pub fn id(id: u32) -> Self { function by (line 586) | pub fn by(by: QueryBy<'x>) -> Self { function with_return_member_of (line 594) | pub fn with_return_member_of(mut self, return_member_of: bool) -> Self { function with_only_app_pass (line 599) | pub fn with_only_app_pass(mut self, only_app_pass: bool) -> Self { FILE: crates/email/src/cache/email.rs type MessagesCacheBuilder (line 22) | struct MessagesCacheBuilder { method build (line 147) | pub fn build(mut self) -> MessagesCache { function update_email_cache (line 30) | pub(crate) async fn update_email_cache( function full_email_cache_build (line 73) | pub(crate) async fn full_email_cache_build( function insert_item (line 106) | fn insert_item( type MessageCacheAccess (line 159) | pub trait MessageCacheAccess { method email_by_id (line 160) | fn email_by_id(&self, id: &u32) -> Option<&MessageCache>; method has_email_id (line 162) | fn has_email_id(&self, id: &u32) -> bool; method in_mailbox (line 164) | fn in_mailbox(&self, mailbox_id: u32) -> impl Iterator impl Iterator impl Iterator impl Iterator impl Iterator RoaringBitmap; method shared_messages (line 188) | fn shared_messages( method expand_keywords (line 194) | fn expand_keywords(&self, message: &MessageCache) -> impl Iterator bool; method in_mailbox (line 200) | fn in_mailbox(&self, mailbox_id: u32) -> impl Iterator impl Iterator impl Iterator impl Iterator impl Iterator RoaringBitmap { method email_by_id (line 289) | fn email_by_id(&self, id: &u32) -> Option<&MessageCache> { method has_email_id (line 296) | fn has_email_id(&self, id: &u32) -> bool { method expand_keywords (line 300) | fn expand_keywords(&self, message: &MessageCache) -> impl Iterator bo... function email_insert (line 312) | fn email_insert(cache: &mut MessagesCacheBuilder, item: MessageCache) { function keyword_to_id (line 329) | fn keyword_to_id(cache: &MessageStoreCache, keyword: &Keyword) -> Option... type KeywordsIter (line 342) | struct KeywordsIter(u128); type Item (line 345) | type Item = usize; method next (line 347) | fn next(&mut self) -> Option { FILE: crates/email/src/cache/mailbox.rs type MailboxesCacheBuilder (line 25) | struct MailboxesCacheBuilder { method build (line 206) | fn build(mut self) -> MailboxesCache { function update_mailbox_cache (line 32) | pub(crate) async fn update_mailbox_cache( function full_mailbox_cache_build (line 76) | pub(crate) async fn full_mailbox_cache_build( function insert_item (line 125) | fn insert_item(cache: &mut MailboxesCacheBuilder, document_id: u32, mail... function build_tree (line 157) | fn build_tree(cache: &mut MailboxesCacheBuilder) { type MailboxCacheAccess (line 217) | pub trait MailboxCacheAccess { method mailbox_by_id (line 218) | fn mailbox_by_id(&self, id: &u32) -> Option<&MailboxCache>; method mailbox_by_name (line 219) | fn mailbox_by_name(&self, name: &str) -> Option<&MailboxCache>; method mailbox_by_path (line 220) | fn mailbox_by_path(&self, name: &str) -> Option<&MailboxCache>; method mailbox_by_role (line 221) | fn mailbox_by_role(&self, role: &SpecialUse) -> Option<&MailboxCache>; method shared_mailboxes (line 222) | fn shared_mailboxes( method has_mailbox_id (line 227) | fn has_mailbox_id(&self, id: &u32) -> bool; method mailbox_by_name (line 231) | fn mailbox_by_name(&self, name: &str) -> Option<&MailboxCache> { method mailbox_by_path (line 238) | fn mailbox_by_path(&self, path: &str) -> Option<&MailboxCache> { method mailbox_by_role (line 245) | fn mailbox_by_role(&self, role: &SpecialUse) -> Option<&MailboxCache> { method shared_mailboxes (line 249) | fn shared_mailboxes( method mailbox_by_id (line 270) | fn mailbox_by_id(&self, id: &u32) -> Option<&MailboxCache> { method has_mailbox_id (line 277) | fn has_mailbox_id(&self, id: &u32) -> bool { function by_id (line 283) | fn by_id<'x>(cache: &'x MailboxesCacheBuilder, id: &u32) -> Option<&'x M... function by_id_mut (line 291) | fn by_id_mut<'x>(cache: &'x mut MailboxesCacheBuilder, id: &u32) -> Opti... function mailbox_insert (line 298) | fn mailbox_insert(cache: &mut MailboxesCacheBuilder, item: MailboxCache) { function item_size (line 310) | fn item_size(item: &MailboxCache) -> u64 { FILE: crates/email/src/cache/mod.rs type MessageCacheFetch (line 22) | pub trait MessageCacheFetch: Sync + Send { method get_cached_messages (line 23) | fn get_cached_messages( method get_cached_messages (line 30) | async fn get_cached_messages(&self, account_id: u32) -> trc::Result impl Iterator> { method index_values (line 22) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 32) | fn is_versioned() -> bool { FILE: crates/email/src/identity/mod.rs type Identity (line 12) | pub struct Identity { type EmailAddress (line 22) | pub struct EmailAddress { FILE: crates/email/src/mailbox/destroy.rs type MailboxDestroy (line 31) | pub trait MailboxDestroy: Sync + Send { method mailbox_destroy (line 32) | fn mailbox_destroy( method mailbox_destroy (line 51) | async fn mailbox_destroy( type MailboxDestroyError (line 41) | pub enum MailboxDestroyError { FILE: crates/email/src/mailbox/index.rs method index_values (line 12) | fn index_values(&self) -> impl Iterator> { method index_values (line 26) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 45) | fn is_versioned() -> bool { FILE: crates/email/src/mailbox/manage.rs type MailboxFnc (line 15) | pub trait MailboxFnc: Sync + Send { method create_system_folders (line 16) | fn create_system_folders( method mailbox_create_path (line 21) | fn mailbox_create_path( method create_system_folders (line 29) | async fn create_system_folders(&self, account_id: u32) -> trc::Result<... method mailbox_create_path (line 85) | async fn mailbox_create_path(&self, account_id: u32, path: &str) -> tr... FILE: crates/email/src/mailbox/mod.rs constant INBOX_ID (line 13) | pub const INBOX_ID: u32 = 0; constant TRASH_ID (line 14) | pub const TRASH_ID: u32 = 1; constant JUNK_ID (line 15) | pub const JUNK_ID: u32 = 2; constant DRAFTS_ID (line 16) | pub const DRAFTS_ID: u32 = 3; constant SENT_ID (line 17) | pub const SENT_ID: u32 = 4; constant ARCHIVE_ID (line 18) | pub const ARCHIVE_ID: u32 = 5; type Mailbox (line 22) | pub struct Mailbox { method new (line 40) | pub fn new(name: impl Into) -> Self { method with_role (line 52) | pub fn with_role(mut self, role: SpecialUse) -> Self { method with_parent_id (line 57) | pub fn with_parent_id(mut self, parent_id: u32) -> Self { method with_sort_order (line 62) | pub fn with_sort_order(mut self, sort_order: u32) -> Self { method with_subscriber (line 67) | pub fn with_subscriber(mut self, subscriber: u32) -> Self { method add_subscriber (line 72) | pub fn add_subscriber(&mut self, subscriber: u32) -> bool { method remove_subscriber (line 81) | pub fn remove_subscriber(&mut self, subscriber: u32) { method is_subscribed (line 85) | pub fn is_subscribed(&self, subscriber: u32) -> bool { type UidMailbox (line 34) | pub struct UidMailbox { method new (line 105) | pub fn new(mailbox_id: u32, uid: u32) -> Self { method new_unassigned (line 109) | pub fn new_unassigned(mailbox_id: u32) -> Self { method is_subscribed (line 91) | pub fn is_subscribed(&self, subscriber: u32) -> bool { method eq (line 97) | fn eq(&self, other: &Self) -> bool { FILE: crates/email/src/message/copy.rs type CopyMessageError (line 39) | pub enum CopyMessageError { type EmailCopy (line 44) | pub trait EmailCopy: Sync + Send { method copy_message (line 46) | fn copy_message( method copy_message (line 60) | async fn copy_message( FILE: crates/email/src/message/crypto.rs constant P (line 31) | const P: openpgp::policy::StandardPolicy<'static> = openpgp::policy::Sta... type EncryptMessageError (line 34) | pub enum EncryptMessageError { type Algorithm (line 50) | pub enum Algorithm { method encrypt (line 506) | fn encrypt(&self, key: &[u8], iv: &[u8], contents: &[u8]) -> Vec { method flags (line 711) | pub fn flags(&self) -> u64 { type EncryptionMethod (line 67) | pub enum EncryptionMethod { method flags (line 702) | pub fn flags(&self) -> u64 { type EncryptionParams (line 81) | pub struct EncryptionParams { constant ENCRYPT_TRAIN_SPAM_FILTER (line 86) | pub const ENCRYPT_TRAIN_SPAM_FILTER: u64 = 1; constant ENCRYPT_METHOD_SMIME (line 87) | pub const ENCRYPT_METHOD_SMIME: u64 = 1 << 1; constant ENCRYPT_METHOD_PGP (line 88) | pub const ENCRYPT_METHOD_PGP: u64 = 1 << 2; constant ENCRYPT_ALGO_AES256 (line 89) | pub const ENCRYPT_ALGO_AES256: u64 = 1 << 3; constant ENCRYPT_ALGO_AES128 (line 90) | pub const ENCRYPT_ALGO_AES128: u64 = 1 << 4; type EncryptionType (line 103) | pub enum EncryptionType { type EncryptMessage (line 119) | pub trait EncryptMessage { method encrypt (line 120) | async fn encrypt( method is_encrypted (line 124) | fn is_encrypted(&self) -> bool; method encrypt (line 128) | async fn encrypt( method is_encrypted (line 414) | fn is_encrypted(&self) -> bool { method method (line 468) | pub fn method(&self) -> EncryptionMethod { method algo (line 476) | pub fn algo(&self) -> Algorithm { method key_size (line 484) | fn key_size(&self) -> usize { method to_algorithm_identifier (line 492) | fn to_algorithm_identifier(&self) -> ObjectIdentifier { method can_train_spam_filter (line 500) | pub fn can_train_spam_filter(&self) -> bool { function try_parse_certs (line 517) | pub fn try_parse_certs( function has_pgp_keys (line 549) | fn has_pgp_keys(cert: openpgp::Cert) -> bool { function try_parse_pem (line 561) | fn try_parse_pem(bytes_: &[u8]) -> Result, Cow<... method fmt (line 720) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 729) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/email/src/message/delete.rs type EmailDeletion (line 24) | pub trait EmailDeletion: Sync + Send { method emails_delete (line 25) | fn emails_delete( method purge_accounts (line 33) | fn purge_accounts(&self, use_roles: bool) -> impl Future ... method purge_account (line 35) | fn purge_account(&self, account_id: u32) -> impl Future +... method purge_email_submissions (line 37) | fn purge_email_submissions( method emails_auto_expunge (line 43) | fn emails_auto_expunge( method emails_delete (line 51) | async fn emails_delete( method purge_accounts (line 112) | async fn purge_accounts(&self, use_roles: bool) { method purge_account (line 136) | async fn purge_account(&self, account_id: u32) { method emails_auto_expunge (line 214) | async fn emails_auto_expunge(&self, account_id: u32, hold_period: u64)... method purge_email_submissions (line 274) | async fn purge_email_submissions(&self, account_id: u32, hold_period: ... FILE: crates/email/src/message/delivery.rs type IngestMessage (line 20) | pub struct IngestMessage { type IngestRecipient (line 30) | pub struct IngestRecipient { type LocalDeliveryStatus (line 36) | pub enum LocalDeliveryStatus { type LocalDeliveryResult (line 47) | pub struct LocalDeliveryResult { type AutogeneratedMessage (line 52) | pub struct AutogeneratedMessage { type MailDelivery (line 58) | pub trait MailDelivery: Sync + Send { method deliver_message (line 59) | fn deliver_message( method deliver_message (line 66) | async fn deliver_message(&self, message: IngestMessage) -> LocalDelive... FILE: crates/email/src/message/index/extractors.rs method is_html_part (line 17) | pub fn is_html_part(&self, part_id: u16) -> bool { method is_text_part (line 21) | pub fn is_text_part(&self, part_id: u16) -> bool { method language (line 27) | pub fn language(&self) -> Option { type AddressElement (line 38) | pub enum AddressElement { type VisitText (line 44) | pub trait VisitText { method visit_addresses (line 45) | fn visit_addresses(&self, visitor: impl FnMut(AddressElement, &str)); method visit_text (line 46) | fn visit_text<'x>(&'x self, visitor: impl FnMut(&'x str)); method into_visit_text (line 47) | fn into_visit_text(self, visitor: impl FnMut(String)); method visit_addresses (line 51) | fn visit_addresses(&self, mut visitor: impl FnMut(AddressElement, &str... method visit_text (line 83) | fn visit_text<'x>(&'x self, mut visitor: impl FnMut(&'x str)) { method into_visit_text (line 97) | fn into_visit_text(self, mut visitor: impl FnMut(String)) { type VisitTextArchived (line 112) | pub trait VisitTextArchived { method visit_addresses (line 113) | fn visit_addresses(&self, visitor: impl FnMut(AddressElement, &str)); method visit_text (line 114) | fn visit_text(&self, visitor: impl FnMut(&str)); method visit_addresses (line 118) | fn visit_addresses(&self, mut visitor: impl FnMut(AddressElement, &str... method visit_text (line 150) | fn visit_text(&self, mut visitor: impl FnMut(&str)) { method visit_addresses (line 166) | fn visit_addresses(&self, mut visitor: impl FnMut(AddressElement, &str... method visit_text (line 198) | fn visit_text(&self, mut visitor: impl FnMut(&str)) { type TrimTextValue (line 213) | pub trait TrimTextValue { method trim_text (line 214) | fn trim_text(self, length: usize) -> Self; method trim_text (line 218) | fn trim_text(self, length: usize) -> Self { method trim_text (line 234) | fn trim_text(self, length: usize) -> Self { method trim_text (line 243) | fn trim_text(self, length: usize) -> Self { method trim_text (line 252) | fn trim_text(self, length: usize) -> Self { method trim_text (line 271) | fn trim_text(self, length: usize) -> Self { method trim_text (line 288) | fn trim_text(self, length: usize) -> Self { FILE: crates/email/src/message/index/metadata.rs method root_part (line 31) | pub fn root_part(&self) -> &MessageMetadataPart { method index (line 35) | pub fn index(self, batch: &mut BatchBuilder, set: bool) -> trc::Result<(... method root_part (line 61) | pub fn root_part(&self) -> &ArchivedMessageMetadataPart { method unindex (line 65) | pub fn unindex(&self, batch: &mut BatchBuilder) { method index_message (line 101) | fn index_message<'x>( FILE: crates/email/src/message/index/mod.rs constant MAX_MESSAGE_PARTS (line 19) | pub(super) const MAX_MESSAGE_PARTS: usize = 1000; constant PREVIEW_LENGTH (line 20) | pub const PREVIEW_LENGTH: usize = 256; method index_values (line 23) | fn index_values(&self) -> impl Iterator> { method index_values (line 60) | fn index_values(&self) -> impl Iterator> { type IndexMessage (line 99) | pub(super) trait IndexMessage { method index_message (line 101) | fn index_message<'x>( FILE: crates/email/src/message/index/search.rs method index_document (line 31) | pub fn index_document( FILE: crates/email/src/message/ingest.rs type IngestedEmail (line 50) | pub struct IngestedEmail { type IngestEmail (line 59) | pub struct IngestEmail<'x> { type IngestSource (line 72) | pub enum IngestSource<'x> { type EmailIngest (line 87) | pub trait EmailIngest: Sync + Send { method email_ingest (line 88) | fn email_ingest( method find_thread_id (line 92) | fn find_thread_id( method assign_email_ids (line 98) | fn assign_email_ids( method add_account_spam_sample (line 104) | fn add_account_spam_sample( method add_spam_sample (line 112) | fn add_spam_sample( method email_ingest (line 131) | async fn email_ingest(&self, mut params: IngestEmail<'_>) -> trc::Resu... method find_thread_id (line 716) | async fn find_thread_id( method assign_email_ids (line 810) | async fn assign_email_ids( method add_account_spam_sample (line 854) | async fn add_account_spam_sample( method add_spam_sample (line 889) | fn add_spam_sample( type ThreadResult (line 122) | pub struct ThreadResult { function has_message_id (line 928) | fn has_message_id(a: &[CheekyHash], b: &[u8]) -> bool { function is_smtp (line 951) | pub fn is_smtp(&self) -> bool { type MergeThreadIds (line 957) | pub struct MergeThreadIds { function new (line 963) | pub(crate) fn new(thread_result: ThreadResult) -> Self { function serialize (line 970) | pub(crate) fn serialize(&self) -> Option> { function deserialize (line 986) | pub fn deserialize(bytes: &[u8]) -> Option { function hash (line 1009) | fn hash(&self, state: &mut H) { type ThreadInfo (line 1015) | pub struct ThreadInfo; method serialize (line 1018) | pub fn serialize(thread_id: u32, ref_ids: &[CheekyHash]) -> Vec { type ThreadMerge (line 1028) | pub struct ThreadMerge { method new (line 1039) | pub fn new() -> Self { method add (line 1045) | pub fn add(&mut self, thread_id: u32, document_id: u32) { method num_thread_ids (line 1049) | pub fn num_thread_ids(&self) -> usize { method thread_ids (line 1053) | pub fn thread_ids(&self) -> impl Iterator { method thread_groups (line 1057) | pub fn thread_groups(&self) -> impl Iterator)> { method merge_thread_id (line 1061) | pub fn merge_thread_id(&self) -> u32 { method merge (line 1083) | pub fn merge(self) -> ThreadMergeResult { type ThreadMergeResult (line 1032) | pub struct ThreadMergeResult { FILE: crates/email/src/message/metadata.rs type MessageData (line 26) | pub struct MessageData { method has_mailbox_id (line 1004) | pub fn has_mailbox_id(&self, mailbox_id: u32) -> bool { type MessageMetadata (line 34) | pub struct MessageMetadata { constant MESSAGE_HAS_ATTACHMENT (line 43) | pub const MESSAGE_HAS_ATTACHMENT: u64 = 1 << 63; constant MESSAGE_RECEIVED_MASK (line 44) | pub const MESSAGE_RECEIVED_MASK: u64 = !MESSAGE_HAS_ATTACHMENT; method is_versioned (line 47) | fn is_versioned() -> bool { type MessageMetadataContents (line 53) | pub struct MessageMetadataContents { method root_part (line 244) | pub fn root_part(&self) -> &MessageMetadataPart { type MessageMetadataPart (line 61) | pub struct MessageMetadataPart { constant PART_ENCODING_BASE64 (line 70) | pub const PART_ENCODING_BASE64: u32 = 1 << 31; constant PART_ENCODING_QP (line 71) | pub const PART_ENCODING_QP: u32 = 1 << 30; constant PART_ENCODING_PROBLEM (line 72) | pub const PART_ENCODING_PROBLEM: u32 = 1 << 29; constant PART_SIZE_MASK (line 73) | pub const PART_SIZE_MASK: u32 = !(PART_ENCODING_BASE64 | PART_ENCODING_Q... type MetadataHeader (line 77) | pub struct MetadataHeader { type MetadataHeaderName (line 87) | pub enum MetadataHeaderName { method from (line 697) | fn from(value: HeaderName<'_>) -> Self { type MetadataHeaderValue (line 181) | pub enum MetadataHeaderValue { method from (line 799) | fn from(value: HeaderValue<'_>) -> Self { type MetadataDateTime (line 193) | pub struct MetadataDateTime { type MetadataAddress (line 206) | pub struct MetadataAddress { type MetadataAddressGroup (line 213) | pub struct MetadataAddressGroup { type MetadataContentType (line 220) | pub struct MetadataContentType { type MetadataAttribute (line 228) | pub struct MetadataAttribute { type MetadataPartType (line 234) | pub enum MetadataPartType { type DecodedParts (line 250) | pub struct DecodedParts<'x> { type DecodedRawMessage (line 256) | pub enum DecodedRawMessage<'x> { type DecodedPart (line 262) | pub struct DecodedPart<'x> { type DecodedPartContent (line 269) | pub enum DecodedPartContent<'x> { function raw_message (line 276) | pub fn raw_message(&self, message_id: usize) -> Option<&DecodedRawMessag... function raw_message_section (line 281) | pub fn raw_message_section( function part (line 290) | pub fn part(&self, message_id: usize, part_offset: usize) -> Option<&Dec... function text_part (line 298) | pub fn text_part(&self, message_id: usize, part_offset: usize) -> Option... function binary_part (line 306) | pub fn binary_part(&self, message_id: usize, part_offset: usize) -> Opti... function as_bytes (line 315) | pub fn as_bytes(&self) -> &[u8] { function len (line 323) | pub fn len(&self) -> usize { function as_str (line 330) | pub fn as_str(&self) -> &str { function get (line 339) | pub fn get(&'_ self, index: Range) -> Option> { method message_id (line 349) | pub fn message_id(&self, message_id: u16_le) -> &ArchivedMessageMetadata... method decode_contents (line 353) | pub fn decode_contents<'x>(&self, raw: ChainedBytes<'x>) -> DecodedParts... method contents (line 430) | pub fn contents<'x>(&self, raw_message: &ChainedBytes<'x>) -> Cow<'x, [u... method body_to_end (line 445) | pub fn body_to_end(&self) -> Range { method header_to_end (line 450) | pub fn header_to_end(&self) -> Range { method header_to_body (line 455) | pub fn header_to_body(&self) -> Range { method decode_contents (line 459) | pub fn decode_contents<'x>(&self, raw_message: &ChainedBytes<'x>) -> Dec... function build_metadata_contents (line 494) | pub fn build_metadata_contents( method is_message (line 594) | pub fn is_message(&self) -> bool { method sub_parts (line 598) | pub fn sub_parts(&self) -> Option<&ArchivedBox<[u16_le]>> { method raw_len (line 606) | pub fn raw_len(&self) -> usize { method header_values (line 610) | pub fn header_values( method header_value (line 623) | pub fn header_value(&self, name: &MetadataHeaderName) -> Option<&Archive... method subject (line 633) | pub fn subject(&self) -> Option<&str> { method date (line 638) | pub fn date(&self) -> Option { method message_id (line 644) | pub fn message_id(&self) -> Option<&str> { method in_reply_to (line 649) | pub fn in_reply_to(&self) -> &ArchivedMetadataHeaderValue { method content_description (line 654) | pub fn content_description(&self) -> Option<&str> { method content_disposition (line 659) | pub fn content_disposition(&self) -> Option<&ArchivedMetadataContentType> { method content_id (line 664) | pub fn content_id(&self) -> Option<&str> { method content_transfer_encoding (line 669) | pub fn content_transfer_encoding(&self) -> Option<&str> { method content_type (line 674) | pub fn content_type(&self) -> Option<&ArchivedMetadataContentType> { method content_language (line 679) | pub fn content_language(&self) -> &ArchivedMetadataHeaderValue { method content_location (line 684) | pub fn content_location(&self) -> Option<&str> { method attachment_name (line 689) | pub fn attachment_name(&self) -> Option<&str> { method from (line 866) | fn from(dt: &ArchivedMetadataDateTime) -> Self { method root_part (line 882) | pub fn root_part(&self) -> &ArchivedMessageMetadataPart { type MessageDataBuilder (line 888) | pub struct MessageDataBuilder { method set_keywords (line 896) | pub fn set_keywords(&mut self, keywords: Vec) { method add_keyword (line 900) | pub fn add_keyword(&mut self, keyword: Keyword) -> bool { method remove_keyword (line 909) | pub fn remove_keyword(&mut self, keyword: &Keyword) -> bool { method set_mailboxes (line 915) | pub fn set_mailboxes(&mut self, mailboxes: Vec) { method add_mailbox (line 919) | pub fn add_mailbox(&mut self, mailbox: UidMailbox) { method remove_mailbox (line 925) | pub fn remove_mailbox(&mut self, mailbox: u32) { method has_keyword (line 929) | pub fn has_keyword(&self, keyword: &Keyword) -> bool { method has_keyword_changes (line 933) | pub fn has_keyword_changes(&self, prev_data: &ArchivedMessageData) -> ... method added_keywords (line 941) | pub fn added_keywords( method removed_keywords (line 950) | pub fn removed_keywords<'x>( method added_mailboxes (line 960) | pub fn added_mailboxes( method removed_mailboxes (line 972) | pub fn removed_mailboxes<'x>( method has_mailbox_changes (line 983) | pub fn has_mailbox_changes(&self, prev_data: &ArchivedMessageData) -> ... method seal (line 993) | pub fn seal(self) -> MessageData { method has_mailbox_id (line 1010) | pub fn has_mailbox_id(&self, mailbox_id: u32) -> bool { method message_uid (line 1014) | pub fn message_uid(&self, mailbox_id: u32) -> Option { method to_builder (line 1021) | pub fn to_builder(&self) -> MessageDataBuilder { method ctype (line 1032) | pub fn ctype(&self) -> &str { method subtype (line 1036) | pub fn subtype(&self) -> Option<&str> { method attribute (line 1040) | pub fn attribute(&self, name: &str) -> Option<&str> { method has_attribute (line 1048) | pub fn has_attribute(&self, name: &str) -> bool { method is_attachment (line 1052) | pub fn is_attachment(&self) -> bool { method is_inline (line 1056) | pub fn is_inline(&self) -> bool { method is_empty (line 1062) | pub fn is_empty(&self) -> bool { method as_text (line 1066) | pub fn as_text(&self) -> Option<&str> { method as_text_list (line 1074) | pub fn as_text_list(&self) -> Option<&[ArchivedBox]> { method as_content_type (line 1082) | pub fn as_content_type(&self) -> Option<&ArchivedMetadataContentType> { method as_datetime (line 1089) | pub fn as_datetime(&self) -> Option<&ArchivedMetadataDateTime> { method as_single_address (line 1096) | pub fn as_single_address(&self) -> Option<&ArchivedMetadataAddress> { method to_native (line 1108) | pub fn to_native(&self) -> UidMailbox { method value_range (line 1118) | pub fn value_range(&self) -> Range { method name_value_range (line 1124) | pub fn name_value_range(&self) -> Range { method is_mime_header (line 1131) | pub fn is_mime_header(&self) -> bool { method as_str (line 1144) | pub fn as_str(&self) -> &str { function from (line 1222) | fn from(value: &ArchivedMetadataHeaderValue) -> Self { function from (line 1246) | fn from(value: &ArchivedMetadataAddress) -> Self { function from (line 1255) | fn from(value: &ArchivedMetadataAddressGroup) -> Self { function from (line 1264) | fn from(value: &ArchivedMetadataContentType) -> Self { FILE: crates/email/src/push/mod.rs type PushSubscription (line 13) | pub struct PushSubscription { type Keys (line 26) | pub struct Keys { type PushSubscriptions (line 34) | pub struct PushSubscriptions { type EmailPush (line 41) | pub struct EmailPush { type EmailPushFilter (line 49) | pub enum EmailPushFilter { type EmailPushValue (line 58) | pub enum EmailPushValue { FILE: crates/email/src/sieve/delete.rs type SieveScriptDelete (line 17) | pub trait SieveScriptDelete: Sync + Send { method sieve_script_delete (line 18) | fn sieve_script_delete( method sieve_script_delete (line 28) | async fn sieve_script_delete( FILE: crates/email/src/sieve/index.rs method index_values (line 12) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 32) | fn is_versioned() -> bool { method index_values (line 38) | fn index_values(&self) -> impl Iterator> { FILE: crates/email/src/sieve/ingest.rs type SieveMessage (line 41) | struct SieveMessage<'x> { type SieveScriptIngest (line 48) | pub trait SieveScriptIngest: Sync + Send { method sieve_script_ingest (line 50) | fn sieve_script_ingest( method sieve_script_get_active_id (line 63) | fn sieve_script_get_active_id( method sieve_script_get_active (line 68) | fn sieve_script_get_active( method sieve_script_get_by_name (line 73) | fn sieve_script_get_by_name( method sieve_script_compile (line 79) | fn sieve_script_compile( method sieve_script_ingest (line 88) | async fn sieve_script_ingest( method sieve_script_get_active_id (line 571) | async fn sieve_script_get_active_id(&self, account_id: u32) -> trc::Re... method sieve_script_get_active (line 583) | async fn sieve_script_get_active(&self, account_id: u32) -> trc::Resul... method sieve_script_get_by_name (line 611) | async fn sieve_script_get_by_name( method sieve_script_compile (line 637) | async fn sieve_script_compile( type CompiledScript (line 761) | pub struct CompiledScript { FILE: crates/email/src/sieve/mod.rs type ActiveScript (line 18) | pub struct ActiveScript { type SieveScript (line 29) | pub struct SieveScript { method new (line 49) | pub fn new(name: impl Into, blob_hash: BlobHash) -> Self { method with_name (line 58) | pub fn with_name(mut self, name: impl Into) -> Self { method with_blob_hash (line 63) | pub fn with_blob_hash(mut self, blob_hash: BlobHash) -> Self { method with_size (line 68) | pub fn with_size(mut self, size: u32) -> Self { method with_vacation_response (line 73) | pub fn with_vacation_response(mut self, vacation_response: VacationRes... type VacationResponse (line 40) | pub struct VacationResponse { type SeenIdHash (line 81) | pub struct SeenIdHash(pub [u8; 32]); method new (line 84) | pub fn new(account_id: u32, hash: u32, id: &str) -> Self { method key (line 92) | pub fn key(&self) -> Vec { method as_ref (line 101) | fn as_ref(&self) -> &[u8] { FILE: crates/email/src/submission/index.rs method index_values (line 16) | fn index_values(&self) -> impl Iterator> { method index_values (line 41) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 66) | fn is_versioned() -> bool { FILE: crates/email/src/submission/mod.rs type EmailSubmission (line 14) | pub struct EmailSubmission { type Envelope (line 28) | pub struct Envelope { type Address (line 36) | pub struct Address { type DeliveryStatus (line 44) | pub struct DeliveryStatus { method from (line 117) | fn from(value: &ArchivedDeliveryStatus) -> Self { type Delivered (line 53) | pub enum Delivered { method as_str (line 132) | pub fn as_str(&self) -> &'static str { type UndoStatus (line 64) | pub enum UndoStatus { method parse (line 72) | pub fn parse(s: &str) -> Option { method as_str (line 81) | pub fn as_str(&self) -> &'static str { method as_index (line 89) | pub fn as_index(&self) -> u8 { method as_str (line 99) | pub fn as_str(&self) -> &'static str { method as_index (line 107) | pub fn as_index(&self) -> u8 { method as_str (line 143) | pub fn as_str(&self) -> &'static str { FILE: crates/groupware/src/cache/calcard.rs function build_calcard_resources (line 32) | pub(super) async fn build_calcard_resources( function build_scheduling_resources (line 171) | pub(super) async fn build_scheduling_resources( function build_simple_hierarchy (line 229) | pub(super) fn build_simple_hierarchy(cache: &mut DavResources) { function resource_from_calendar (line 278) | pub(super) fn resource_from_calendar(calendar: &ArchivedCalendar, docume... function resource_from_event (line 304) | pub(super) fn resource_from_event(event: &ArchivedCalendarEvent, documen... function resource_from_scheduling (line 323) | pub(super) fn resource_from_scheduling(document_id: u32, is_container: b... function path_from_scheduling (line 341) | pub(super) fn path_from_scheduling( function resource_from_addressbook (line 367) | pub(super) fn resource_from_addressbook( function resource_from_card (line 387) | pub(super) fn resource_from_card(card: &ArchivedContactCard, document_id... FILE: crates/groupware/src/cache/file.rs function build_file_resources (line 23) | pub(super) async fn build_file_resources( function build_nested_hierarchy (line 81) | pub(super) fn build_nested_hierarchy(resources: &mut DavResources) { function resource_from_file (line 135) | pub(super) fn resource_from_file(node: &ArchivedFileNode, document_id: u... FILE: crates/groupware/src/cache/mod.rs type GroupwareCache (line 37) | pub trait GroupwareCache: Sync + Send { method fetch_dav_resources (line 38) | fn fetch_dav_resources( method create_default_addressbook (line 45) | fn create_default_addressbook( method create_default_calendar (line 52) | fn create_default_calendar( method get_or_create_default_calendar (line 59) | fn get_or_create_default_calendar( method cached_dav_resources (line 65) | fn cached_dav_resources( method fetch_dav_resources (line 73) | async fn fetch_dav_resources( method create_default_addressbook (line 319) | async fn create_default_addressbook( method create_default_calendar (line 356) | async fn create_default_calendar( method get_or_create_default_calendar (line 400) | async fn get_or_create_default_calendar( method cached_dav_resources (line 424) | fn cached_dav_resources( function process_changes (line 440) | async fn process_changes( function full_cache_build (line 512) | async fn full_cache_build( function resource_from_archive (line 553) | fn resource_from_archive( FILE: crates/groupware/src/calendar/alarm.rs type CalendarAlarm (line 21) | pub struct CalendarAlarm { type CalendarAlarmType (line 29) | pub enum CalendarAlarmType { method next_alarm (line 42) | pub fn next_alarm(&self, start_time: i64, default_tz: Tz) -> Option Option; method expand_alarm (line 182) | fn expand_alarm(&self, id: u16, parent_id: u16) -> Option { method to_timestamp (line 263) | pub fn to_timestamp(&self, start: i64, end: i64, default_tz: Tz) -> Opti... method to_timestamp (line 277) | pub fn to_timestamp(&self, start: i64, end: i64, default_tz: Tz) -> Opti... FILE: crates/groupware/src/calendar/dates.rs method new (line 23) | pub fn new( method event_range (line 192) | pub fn event_range(&self) -> Option<(i64, u32)> { type TimeRanges (line 202) | struct TimeRanges { method update_base_offset (line 209) | pub fn update_base_offset(&mut self, t1: i64, t2: i64) { method update_utc_min_max (line 216) | pub fn update_utc_min_max(&mut self, min: i64, max: i64) { method event_range (line 230) | pub fn event_range(&self) -> Option<(i64, u32)> { method event_range_start (line 241) | pub fn event_range_start(&self) -> i64 { method event_range_end (line 245) | pub fn event_range_end(&self) -> i64 { method event_range_start (line 253) | pub fn event_range_start(&self) -> i64 { method event_range_end (line 257) | pub fn event_range_end(&self) -> i64 { method tz (line 263) | pub fn tz(&self) -> Option { method tz (line 276) | pub fn tz(&self) -> Option { FILE: crates/groupware/src/calendar/expand.rs type CalendarEventExpansion (line 17) | pub struct CalendarEventExpansion { method is_valid (line 296) | pub fn is_valid(&self) -> bool { method expand (line 25) | pub fn expand(&self, default_tz: Tz, limit: TimeRange) -> Option Option Self { FILE: crates/groupware/src/calendar/index.rs method index_values (line 38) | fn index_values(&self) -> impl Iterator> { method index_values (line 55) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 77) | fn is_versioned() -> bool { method index_values (line 83) | fn index_values(&self) -> impl Iterator> { method index_values (line 109) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 135) | fn is_versioned() -> bool { method index_values (line 141) | fn index_values(&self) -> impl Iterator> { method index_values (line 163) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 190) | fn is_versioned() -> bool { method size (line 196) | pub fn size(&self) -> usize { method size (line 205) | pub fn size(&self) -> usize { method size (line 214) | pub fn size(&self) -> usize { method size (line 225) | pub fn size(&self) -> usize { method size (line 236) | pub fn size(&self) -> usize { method size (line 246) | pub fn size(&self) -> usize { method size (line 256) | pub fn size(&self) -> usize { method size (line 267) | pub fn size(&self) -> usize { method size (line 278) | pub fn size(&self) -> usize { method size (line 286) | pub fn size(&self) -> usize { method size (line 294) | pub fn size(&self) -> usize { method size (line 304) | pub fn size(&self) -> usize { method size (line 314) | pub fn size(&self) -> usize { method size (line 320) | pub fn size(&self) -> usize { method hashes (line 326) | pub fn hashes(&self) -> impl Iterator { method hashes (line 366) | pub fn hashes(&self) -> impl Iterator { method index_document (line 406) | pub fn index_document( FILE: crates/groupware/src/calendar/itip.rs type ItipIngestError (line 47) | pub enum ItipIngestError { method from (line 680) | fn from(err: ItipError) -> Self { method from (line 686) | fn from(err: trc::Error) -> Self { type ItipRsvpUrl (line 53) | pub struct ItipRsvpUrl(String); method url (line 674) | pub fn url(&self, partstat: &ICalendarParticipationStatus) -> String { type ItipIngest (line 55) | pub trait ItipIngest: Sync + Send { method itip_ingest (line 56) | fn itip_ingest( method http_rsvp_url (line 65) | fn http_rsvp_url( method http_rsvp_handle (line 72) | fn http_rsvp_handle( method itip_ingest (line 80) | async fn itip_ingest( method http_rsvp_url (line 378) | async fn http_rsvp_url( method http_rsvp_handle (line 408) | async fn http_rsvp_handle(&self, query: &str, language: &str) -> trc::... type RsvpResponse (line 521) | struct RsvpResponse { function decode_rsvp_response (line 528) | async fn decode_rsvp_response(server: &Server, query: &str) -> Option &CalendarPref... method preferences_mut (line 228) | pub fn preferences_mut(&mut self, access_token: &AccessToken) -> &mut ... type SupportedComponent (line 35) | pub enum SupportedComponent { method from (line 348) | fn from(value: u64) -> Self { method from (line 404) | fn from(value: ICalendarComponentType) -> Self { constant CALENDAR_SUBSCRIBED (line 54) | pub const CALENDAR_SUBSCRIBED: u16 = 1; constant CALENDAR_INVISIBLE (line 55) | pub const CALENDAR_INVISIBLE: u16 = 1 << 1; constant CALENDAR_AVAILABILITY_NONE (line 56) | pub const CALENDAR_AVAILABILITY_NONE: u16 = 1 << 2; constant CALENDAR_AVAILABILITY_ATTENDING (line 57) | pub const CALENDAR_AVAILABILITY_ATTENDING: u16 = 1 << 3; constant CALENDAR_AVAILABILITY_ALL (line 58) | pub const CALENDAR_AVAILABILITY_ALL: u16 = 1 << 4; type CalendarPreferences (line 63) | pub struct CalendarPreferences { type DefaultAlert (line 77) | pub struct DefaultAlert { type ParticipantIdentities (line 86) | pub struct ParticipantIdentities { type ParticipantIdentity (line 95) | pub struct ParticipantIdentity { constant ALERT_WITH_TIME (line 101) | pub const ALERT_WITH_TIME: u16 = 1; constant ALERT_EMAIL (line 102) | pub const ALERT_EMAIL: u16 = 1 << 1; constant ALERT_RELATIVE_TO_END (line 103) | pub const ALERT_RELATIVE_TO_END: u16 = 1 << 2; constant SCHEDULE_INBOX_ID (line 105) | pub const SCHEDULE_INBOX_ID: u32 = u32::MAX - 1; constant SCHEDULE_OUTBOX_ID (line 106) | pub const SCHEDULE_OUTBOX_ID: u32 = u32::MAX - 2; constant EVENT_INVITE_SELF (line 108) | pub const EVENT_INVITE_SELF: u16 = 1; constant EVENT_INVITE_OTHERS (line 109) | pub const EVENT_INVITE_OTHERS: u16 = 1 << 1; constant EVENT_HIDE_ATTENDEES (line 110) | pub const EVENT_HIDE_ATTENDEES: u16 = 1 << 2; constant EVENT_DRAFT (line 111) | pub const EVENT_DRAFT: u16 = 1 << 3; constant EVENT_NOTIFICATION_IS_DRAFT (line 113) | pub const EVENT_NOTIFICATION_IS_DRAFT: u16 = 1; constant EVENT_NOTIFICATION_IS_CHANGE (line 114) | pub const EVENT_NOTIFICATION_IS_CHANGE: u16 = 1 << 1; constant PREF_USE_DEFAULT_ALERTS (line 116) | pub const PREF_USE_DEFAULT_ALERTS: u16 = 1; type CalendarEvent (line 121) | pub struct CalendarEvent { method preferences (line 274) | pub fn preferences(&self, access_token: &AccessToken) -> Option<&Event... method preferences_mut (line 280) | pub fn preferences_mut(&mut self, access_token: &AccessToken) -> &mut ... method added_calendar_ids (line 301) | pub fn added_calendar_ids( method removed_calendar_ids (line 311) | pub fn removed_calendar_ids( method unchanged_calendar_ids (line 322) | pub fn unchanged_calendar_ids( type CalendarEventNotification (line 137) | pub struct CalendarEventNotification { type ChangedBy (line 148) | pub enum ChangedBy { type CalendarEventData (line 156) | pub struct CalendarEventData { type Alarm (line 167) | pub struct Alarm { type AlarmDelta (line 176) | pub enum AlarmDelta { type ComponentTimeRange (line 186) | pub struct ComponentTimeRange { type EventPreferences (line 197) | pub struct EventPreferences { type Timezone (line 207) | pub enum Timezone { method default_alerts (line 248) | pub fn default_alerts( method preferences (line 259) | pub fn preferences(&self, access_token: &AccessToken) -> &ArchivedCalend... method preferences (line 334) | pub fn preferences(&self, access_token: &AccessToken) -> Option<&Archive... method default (line 342) | fn default() -> Self { function from (line 371) | fn from(value: SupportedComponent) -> Self { method max (line 394) | fn max() -> u64 { method is_valid (line 398) | fn is_valid(&self) -> bool { method from (line 427) | fn from(value: SupportedComponent) -> Self { FILE: crates/groupware/src/calendar/storage.rs type ItipAutoExpunge (line 36) | pub trait ItipAutoExpunge: Sync + Send { method itip_ids (line 37) | fn itip_ids(&self, account_id: u32) -> impl Future trc::Result { method itip_auto_expunge (line 84) | async fn itip_auto_expunge(&self, account_id: u32, hold_period: u64) -... method update (line 165) | pub fn update<'x>( method insert (line 192) | pub fn insert<'x>( method insert (line 227) | pub fn insert<'x>( method update (line 261) | pub fn update<'x>( method insert (line 289) | pub fn insert<'x>( function delete_with_events (line 318) | pub async fn delete_with_events( function delete (line 361) | pub fn delete( function delete (line 392) | pub fn delete( function delete_all (line 442) | pub fn delete_all( function delete (line 495) | pub fn delete( method write_task (line 520) | pub fn write_task(&self, batch: &mut BatchBuilder) { method delete_task (line 559) | pub fn delete_task(&self, batch: &mut BatchBuilder) { method webcal_uri (line 570) | pub async fn webcal_uri( FILE: crates/groupware/src/contact/index.rs method index_values (line 27) | fn index_values(&self) -> impl Iterator> { method index_values (line 44) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 66) | fn is_versioned() -> bool { method index_values (line 72) | fn index_values(&self) -> impl Iterator> { method index_values (line 106) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 140) | fn is_versioned() -> bool { method size (line 146) | pub fn size(&self) -> usize { method size (line 159) | pub fn size(&self) -> usize { method size (line 172) | pub fn size(&self) -> usize { method hashes (line 180) | pub fn hashes(&self) -> impl Iterator { method emails (line 207) | pub fn emails(&self) -> impl Iterator { method size (line 217) | pub fn size(&self) -> usize { method hashes (line 225) | pub fn hashes(&self) -> impl Iterator { method emails (line 252) | pub fn emails(&self) -> impl Iterator { method index_document (line 260) | pub fn index_document( FILE: crates/groupware/src/contact/mod.rs type AddressBook (line 18) | pub struct AddressBook { method preferences (line 53) | pub fn preferences(&self, access_token: &AccessToken) -> &AddressBookP... method preferences_mut (line 66) | pub fn preferences_mut(&mut self, access_token: &AccessToken) -> &mut ... type AddressBookPreferences (line 32) | pub struct AddressBookPreferences { type ContactCard (line 42) | pub struct ContactCard { method added_addressbook_ids (line 101) | pub fn added_addressbook_ids( method removed_addressbook_ids (line 111) | pub fn removed_addressbook_ids( method unchanged_addressbook_ids (line 122) | pub fn unchanged_addressbook_ids( method preferences (line 86) | pub fn preferences(&self, access_token: &AccessToken) -> &ArchivedAddres... FILE: crates/groupware/src/contact/storage.rs method update (line 18) | pub fn update<'x>( method insert (line 45) | pub fn insert<'x>( method insert (line 73) | pub fn insert<'x>( method update (line 99) | pub fn update<'x>( function delete_with_cards (line 128) | pub async fn delete_with_cards( function delete (line 169) | pub fn delete( function delete (line 201) | pub fn delete( function delete_all (line 258) | pub fn delete_all( FILE: crates/groupware/src/file/index.rs method index_values (line 12) | fn index_values(&self) -> impl Iterator> { method index_values (line 39) | fn index_values(&self) -> impl Iterator> { method is_versioned (line 71) | fn is_versioned() -> bool { method size (line 77) | pub fn size(&self) -> usize { method size (line 87) | pub fn size(&self) -> usize { FILE: crates/groupware/src/file/mod.rs type FileNode (line 16) | pub struct FileNode { type FileProperties (line 31) | pub struct FileProperties { FILE: crates/groupware/src/file/storage.rs method insert (line 18) | pub fn insert<'x>( method update (line 43) | pub fn update<'x>( function delete (line 69) | pub fn delete( function delete (line 94) | pub async fn delete( function delete_batch (line 116) | pub async fn delete_batch( FILE: crates/groupware/src/lib.rs type DavResourceName (line 19) | pub enum DavResourceName { method parse (line 61) | pub fn parse(service: &str) -> Option { method base_path (line 71) | pub fn base_path(&self) -> &'static str { method collection_path (line 81) | pub fn collection_path(&self) -> &'static str { method name (line 91) | pub fn name(&self) -> &'static str { method from (line 115) | fn from(value: Collection) -> Self { method from (line 128) | fn from(value: SyncCollection) -> Self { constant RFC_3986 (line 27) | pub const RFC_3986: &AsciiSet = &CONTROLS type DestroyArchive (line 58) | pub struct DestroyArchive(pub T); method from (line 103) | fn from(value: DavResourceName) -> Self { type DavCalendarResource (line 139) | pub trait DavCalendarResource { method calendar_default_tz (line 140) | fn calendar_default_tz(&self, calendar_id: u32, account_id: u32) -> Op... method calendar_default_tz (line 144) | fn calendar_default_tz(&self, calendar_id: u32, account_id: u32) -> Op... FILE: crates/groupware/src/scheduling/attendee.rs function attendee_handle_update (line 25) | pub(crate) fn attendee_handle_update( function attendee_decline (line 268) | pub(crate) fn attendee_decline<'x>( FILE: crates/groupware/src/scheduling/event_cancel.rs function itip_cancel (line 22) | pub fn itip_cancel( function build_cancel_component (line 130) | pub(crate) fn build_cancel_component( FILE: crates/groupware/src/scheduling/event_create.rs function itip_create (line 13) | pub fn itip_create( FILE: crates/groupware/src/scheduling/event_update.rs function itip_update (line 13) | pub fn itip_update( FILE: crates/groupware/src/scheduling/inbound.rs type MergeAction (line 18) | pub enum MergeAction { type MergeResult (line 45) | pub enum MergeResult { function itip_process_message (line 51) | pub fn itip_process_message( function itip_import_message (line 327) | pub fn itip_import_message(ical: &mut ICalendar) -> Result<(), ItipError> { function handle_reply (line 349) | fn handle_reply( function itip_merge_changes (line 542) | pub fn itip_merge_changes(ical: &mut ICalendar, changes: Vec Result<&ICalendarMethod, ItipErr... FILE: crates/groupware/src/scheduling/itip.rs function itip_build_envelope (line 23) | pub(crate) fn itip_build_envelope(method: ICalendarMethod) -> ICalendarC... type ItipExportAs (line 47) | pub(crate) enum ItipExportAs<'x> { function itip_export_component (line 52) | pub(crate) fn itip_export_component( function itip_finalize (line 188) | pub(crate) fn itip_finalize(ical: &mut ICalendar, scheduling_object_ids:... function itip_add_tz (line 226) | pub(crate) fn itip_add_tz(message: &mut ICalendar, ical: &ICalendar) { function can_attendee_modify_property (line 245) | pub(crate) fn can_attendee_modify_property( method new (line 274) | pub fn new(messages: Vec>) -> Self { method queue (line 280) | pub fn queue(self, batch: &mut BatchBuilder) -> trc::Result<()> { function from (line 304) | fn from(message: ItipMessage) -> Self { method method (line 316) | pub fn method(&self) -> &str { FILE: crates/groupware/src/scheduling/mod.rs type ItipSnapshots (line 29) | pub struct ItipSnapshots<'x> { type ItipSnapshot (line 36) | pub struct ItipSnapshot<'x> { type ItipEntry (line 47) | pub struct ItipEntry<'x> { type ItipEntryValue (line 53) | pub enum ItipEntryValue<'x> { type ItipDateTime (line 64) | pub struct ItipDateTime<'x> { type InstanceId (line 72) | pub enum InstanceId { type RecurrenceId (line 78) | pub struct RecurrenceId { type Attendee (line 85) | pub struct Attendee<'x> { type Organizer (line 101) | pub struct Organizer<'x> { type Email (line 110) | pub struct Email { method new (line 238) | pub fn new(email: &str, local_addresses: &[String]) -> Option { method from_uri (line 246) | pub fn from_uri(uri: &Uri, local_addresses: &[String]) -> Option { type ItipError (line 116) | pub enum ItipError { method is_jmap_error (line 343) | pub fn is_jmap_error(&self) -> bool { type ItipMessage (line 148) | pub struct ItipMessage { type ItipSummary (line 157) | pub enum ItipSummary { type ItipField (line 172) | pub struct ItipField { type ItipValue (line 178) | pub enum ItipValue { type ItipTime (line 186) | pub struct ItipTime { type ItipParticipant (line 192) | pub struct ItipParticipant { type ItipMessages (line 199) | pub struct ItipMessages { function send_invite_messages (line 204) | pub fn send_invite_messages(&self) -> bool { function send_update_messages (line 214) | pub fn send_update_messages(&self) -> bool { function is_delegated_from (line 224) | pub fn is_delegated_from(&self, attendee: &Attendee<'_>) -> bool { function is_delegated_to (line 230) | pub fn is_delegated_to(&self, attendee: &Attendee<'_>) -> bool { method eq (line 256) | fn eq(&self, other: &Self) -> bool { method hash (line 270) | fn hash(&self, state: &mut H) { method fmt (line 282) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method hash (line 288) | fn hash(&self, state: &mut H) { method eq (line 294) | fn eq(&self, other: &Self) -> bool { method eq (line 302) | fn eq(&self, other: &Self) -> bool { method hash (line 310) | fn hash(&self, state: &mut H) { method eq (line 317) | fn eq(&self, other: &Self) -> bool { method hash (line 324) | fn hash(&self, state: &mut H) { function to_entry (line 330) | pub fn to_entry(&self, name: ICalendarProperty) -> ICalendarEntry { method fmt (line 367) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/groupware/src/scheduling/organizer.rs function organizer_handle_update (line 22) | pub(crate) fn organizer_handle_update( function organizer_request_full (line 309) | pub(crate) fn organizer_request_full( FILE: crates/groupware/src/scheduling/snapshot.rs function itip_snapshot (line 17) | pub fn itip_snapshot<'x, 'y>( function sender_is_organizer_or_attendee (line 364) | pub fn sender_is_organizer_or_attendee(&self, email: &str) -> bool { function main_instance (line 374) | pub fn main_instance(&self) -> Option<&ItipSnapshot<'_>> { function main_instance_or_default (line 378) | pub fn main_instance_or_default(&self) -> &ItipSnapshot<'_> { function has_local_attendee (line 385) | pub fn has_local_attendee(&self) -> bool { function local_attendee (line 391) | pub fn local_attendee(&self) -> Option<&Attendee<'_>> { function external_attendees (line 397) | pub fn external_attendees(&self) -> impl Iterator> ... function attendee_by_email (line 401) | pub fn attendee_by_email(&self, email: &str) -> Option<&Attendee<'_>> { function build_summary (line 407) | pub fn build_summary( FILE: crates/http-proto/src/context.rs function new (line 17) | pub fn new(session: &'x HttpSessionData, req: &'x HttpRequest) -> Self { function resolve_response_url (line 21) | pub async fn resolve_response_url(&self, server: &Server) -> String { function has_endpoint_access (line 39) | pub async fn has_endpoint_access(&self, server: &Server) -> StatusCode { method resolve_variable (line 52) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 80) | fn resolve_global(&self, _: &str) -> Variable<'_> { FILE: crates/http-proto/src/lib.rs type HttpRequest (line 18) | pub type HttpRequest = hyper::Request; type JsonResponse (line 20) | pub struct JsonResponse { type HtmlResponse (line 26) | pub struct HtmlResponse { method new (line 92) | pub fn new(body: String) -> Self { method with_status (line 99) | pub fn with_status(status: StatusCode, body: String) -> Self { type HttpResponseBody (line 31) | pub enum HttpResponseBody { type HttpResponse (line 39) | pub struct HttpResponse { type HttpContext (line 45) | pub struct HttpContext<'x> { type HttpSessionData (line 50) | pub struct HttpSessionData { type DownloadResponse (line 60) | pub struct DownloadResponse { type JsonProblemResponse (line 66) | pub struct JsonProblemResponse(pub StatusCode); function new (line 69) | pub fn new(inner: T) -> Self { function with_status (line 77) | pub fn with_status(status: StatusCode, inner: T) -> Self { function no_cache (line 85) | pub fn no_cache(mut self) -> Self { type ToHttpResponse (line 104) | pub trait ToHttpResponse { method into_http_response (line 105) | fn into_http_response(self) -> HttpResponse; FILE: crates/http-proto/src/request.rs function decode_path_element (line 15) | pub fn decode_path_element(item: &str) -> Cow<'_, str> { function fetch_body (line 21) | pub async fn fetch_body( FILE: crates/http-proto/src/response.rs method new (line 22) | pub fn new(status: StatusCode) -> Self { method with_content_type (line 30) | pub fn with_content_type(mut self, content_type: V) -> Self method with_status_code (line 39) | pub fn with_status_code(mut self, status: StatusCode) -> Self { method with_content_length (line 45) | pub fn with_content_length(mut self, content_length: usize) -> Self { method with_etag (line 50) | pub fn with_etag(mut self, etag: String) -> Self { method with_etag_opt (line 55) | pub fn with_etag_opt(self, etag: Option) -> Self { method with_schedule_tag_opt (line 63) | pub fn with_schedule_tag_opt(mut self, tag: Option) -> Self { method with_last_modified (line 72) | pub fn with_last_modified(mut self, last_modified: String) -> Self { method with_lock_token (line 77) | pub fn with_lock_token(mut self, token_uri: &str) -> Self { method with_header (line 82) | pub fn with_header(mut self, name: K, value: V) -> Self method with_xml_body (line 93) | pub fn with_xml_body(self, body: impl Into) -> Self { method with_text_body (line 98) | pub fn with_text_body(mut self, body: impl Into) -> Self { method with_binary_body (line 105) | pub fn with_binary_body(mut self, body: impl Into>) -> Self { method with_stream_body (line 112) | pub fn with_stream_body( method with_websocket_upgrade (line 120) | pub fn with_websocket_upgrade(mut self, derived_key: String) -> Self { method with_content_disposition (line 125) | pub fn with_content_disposition(mut self, content_disposition: V) -> ... method with_cache_control (line 136) | pub fn with_cache_control(mut self, cache_control: V) -> Self method with_no_store (line 145) | pub fn with_no_store(mut self) -> Self { method with_no_cache (line 152) | pub fn with_no_cache(mut self) -> Self { method with_location (line 157) | pub fn with_location(mut self, location: V) -> Self method size (line 166) | pub fn size(&self) -> usize { method build (line 174) | pub fn build( method body (line 210) | pub fn body(&self) -> &HttpResponseBody { method status (line 214) | pub fn status(&self) -> StatusCode { method headers (line 218) | pub fn headers(&self) -> Option<&hyper::HeaderMap> { method into_http_response (line 224) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 238) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 251) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 259) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 267) | fn into_http_response(self) -> HttpResponse { FILE: crates/http/src/auth/authenticate.rs type Authenticator (line 17) | pub trait Authenticator: Sync + Send { method authenticate_headers (line 18) | fn authenticate_headers( method authenticate_headers (line 27) | async fn authenticate_headers( type HttpHeaders (line 125) | pub trait HttpHeaders { method authorization (line 126) | fn authorization(&self) -> Option<(&str, &str)>; method authorization_basic (line 127) | fn authorization_basic(&self) -> Option<&str>; method authorization (line 131) | fn authorization(&self) -> Option<(&str, &str)> { method authorization_basic (line 138) | fn authorization_basic(&self) -> Option<&str> { function decode_plain_auth (line 149) | fn decode_plain_auth(token: &str) -> Option> { function decode_bearer_token (line 162) | fn decode_bearer_token(token: &str, allow_api_access: bool) -> Option Self { method is_error (line 175) | pub fn is_error(&self) -> bool { type OAuthResponse (line 119) | pub struct OAuthResponse { type ErrorType (line 132) | pub enum ErrorType { type OAuthCodeRequest (line 158) | pub enum OAuthCodeRequest { type FormData (line 181) | pub struct FormData { method from_request (line 186) | pub async fn from_request( method get (line 221) | pub fn get(&self, key: &str) -> Option<&str> { method remove (line 225) | pub fn remove(&mut self, key: &str) -> Option { method has_field (line 229) | pub fn has_field(&self, key: &str) -> bool { method fields (line 233) | pub fn fields(&self) -> impl Iterator { FILE: crates/http/src/auth/oauth/openid.rs type OpenIdMetadata (line 18) | pub struct OpenIdMetadata { type OpenIdHandler (line 34) | pub trait OpenIdHandler: Sync + Send { method handle_userinfo_request (line 35) | fn handle_userinfo_request( method handle_oidc_metadata (line 40) | fn handle_oidc_metadata( method handle_userinfo_request (line 48) | async fn handle_userinfo_request( method handle_oidc_metadata (line 64) | async fn handle_oidc_metadata( FILE: crates/http/src/auth/oauth/registration.rs type ClientRegistrationHandler (line 28) | pub trait ClientRegistrationHandler: Sync + Send { method handle_oauth_registration_request (line 29) | fn handle_oauth_registration_request( method validate_client_registration (line 35) | fn validate_client_registration( method handle_oauth_registration_request (line 43) | async fn handle_oauth_registration_request( method validate_client_registration (line 103) | async fn validate_client_registration( FILE: crates/http/src/auth/oauth/token.rs type TokenHandler (line 27) | pub trait TokenHandler: Sync + Send { method handle_token_request (line 28) | fn handle_token_request( method handle_token_introspect (line 34) | fn handle_token_introspect( method issue_token (line 41) | fn issue_token( method handle_token_request (line 54) | async fn handle_token_request( method handle_token_introspect (line 264) | async fn handle_token_introspect( method issue_token (line 285) | async fn issue_token( FILE: crates/http/src/autoconfig/mod.rs type Autoconfig (line 17) | pub trait Autoconfig: Sync + Send { method handle_autoconfig_request (line 18) | fn handle_autoconfig_request( method handle_autodiscover_request (line 22) | fn handle_autodiscover_request( method autoconfig_parameters (line 26) | fn autoconfig_parameters<'x>( method handle_autoconfig_request (line 34) | async fn handle_autoconfig_request(&self, req: &HttpRequest) -> trc::R... method handle_autodiscover_request (line 110) | async fn handle_autodiscover_request( method autoconfig_parameters (line 196) | async fn autoconfig_parameters<'x>( function parse_autodiscover_request (line 242) | fn parse_autodiscover_request(bytes: &[u8]) -> Result { function parse_autodiscover (line 330) | fn parse_autodiscover() { FILE: crates/http/src/form/mod.rs type FormHandler (line 31) | pub trait FormHandler: Sync + Send { method handle_contact_form (line 32) | fn handle_contact_form( method handle_contact_form (line 41) | async fn handle_contact_form( method get_or_default (line 240) | pub fn get_or_default<'x>(&'x self, field: &'x FieldOrDefault) -> &'x str { FILE: crates/http/src/lib.rs type HttpSessionManager (line 18) | pub struct HttpSessionManager { method new (line 23) | pub fn new(inner: Arc) -> Self { FILE: crates/http/src/management/crypto.rs type CryptoHandler (line 25) | pub trait CryptoHandler: Sync + Send { method handle_crypto_get (line 26) | fn handle_crypto_get( method handle_crypto_post (line 31) | fn handle_crypto_post( method handle_crypto_get (line 39) | async fn handle_crypto_get(&self, access_token: Arc) -> t... method handle_crypto_post (line 84) | async fn handle_crypto_post( FILE: crates/http/src/management/dkim.rs type Algorithm (line 28) | pub enum Algorithm { type DkimSignature (line 34) | struct DkimSignature { type DkimManagement (line 41) | pub trait DkimManagement: Sync + Send { method handle_manage_dkim (line 42) | fn handle_manage_dkim( method handle_get_public_key (line 50) | fn handle_get_public_key( method handle_create_signature (line 55) | fn handle_create_signature( method create_dkim_key (line 60) | fn create_dkim_key( method handle_manage_dkim (line 70) | async fn handle_manage_dkim( method handle_get_public_key (line 94) | async fn handle_get_public_key(&self, path: Vec<&str>) -> trc::Result<... method handle_create_signature (line 126) | async fn handle_create_signature(&self, body: Option>) -> trc:... method create_dkim_key (line 182) | async fn create_dkim_key( function obtain_dkim_public_key (line 253) | pub fn obtain_dkim_public_key(algo: Algorithm, pk: &str) -> trc::Result<... type Err (line 286) | type Err = (); method from_str (line 288) | fn from_str(s: &str) -> Result { FILE: crates/http/src/management/dns.rs type DnsRecord (line 25) | pub struct DnsRecord { type DnsManagement (line 32) | pub trait DnsManagement: Sync + Send { method handle_manage_dns (line 33) | fn handle_manage_dns( method build_dns_records (line 40) | fn build_dns_records( method handle_manage_dns (line 47) | async fn handle_manage_dns( method build_dns_records (line 73) | async fn build_dns_records(&self, domain_name: &str) -> trc::Result { type UndeleteResponse (line 43) | pub enum UndeleteResponse { type DeletedBlobResponse (line 50) | pub struct DeletedBlobResponse { type DeletedItemResponse (line 63) | pub enum DeletedItemResponse { type UndeleteApi (line 84) | pub trait UndeleteApi: Sync + Send { method handle_undelete_api_request (line 85) | fn handle_undelete_api_request( method handle_undelete_api_request (line 95) | async fn handle_undelete_api_request( FILE: crates/http/src/management/log.rs type LogEntry (line 26) | struct LogEntry { method from_line (line 140) | fn from_line(line: &str) -> Option { type LogManagement (line 34) | pub trait LogManagement: Sync + Send { method handle_view_logs (line 35) | fn handle_view_logs( method handle_view_logs (line 43) | async fn handle_view_logs( function read_log_files (line 94) | fn read_log_files( FILE: crates/http/src/management/mod.rs type ManagementApiError (line 58) | pub enum ManagementApiError<'x> { type ManagementApi (line 79) | pub trait ManagementApi: Sync + Send { method handle_api_manage_request (line 80) | fn handle_api_manage_request( method handle_api_manage_request (line 90) | async fn handle_api_manage_request( type FutureTimestamp (line 201) | pub(super) struct FutureTimestamp(u64); method into_inner (line 232) | pub fn into_inner(self) -> u64 { type Timestamp (line 202) | pub(super) struct Timestamp(u64); method into_inner (line 238) | pub fn into_inner(self) -> u64 { type Err (line 205) | type Err = (); method from_str (line 207) | fn from_str(s: &str) -> Result { type Err (line 217) | type Err = (); method from_str (line 219) | fn from_str(s: &str) -> Result { type ToManageHttpResponse (line 243) | pub trait ToManageHttpResponse { method into_http_response (line 244) | fn into_http_response(self) -> HttpResponse; method into_http_response (line 248) | fn into_http_response(self) -> HttpResponse { type UnauthorizedResponse (line 287) | pub trait UnauthorizedResponse { method unauthorized (line 288) | fn unauthorized(include_realms: bool) -> Self; method unauthorized (line 292) | fn unauthorized(include_realms: bool) -> Self { function into_http_response (line 306) | fn into_http_response(self) -> HttpResponse { FILE: crates/http/src/management/principal.rs type AccountAuthRequest (line 30) | pub enum AccountAuthRequest { type AccountAuthResponse (line 39) | pub struct AccountAuthResponse { type PrincipalManager (line 46) | pub trait PrincipalManager: Sync + Send { method handle_manage_principal (line 47) | fn handle_manage_principal( method handle_account_auth_get (line 55) | fn handle_account_auth_get( method handle_account_auth_post (line 60) | fn handle_account_auth_post( method assert_supported_directory (line 67) | fn assert_supported_directory(&self, override_: bool) -> trc::Result<()>; method handle_manage_principal (line 71) | async fn handle_manage_principal( method handle_account_auth_get (line 684) | async fn handle_account_auth_get( method handle_account_auth_post (line 723) | async fn handle_account_auth_post( method assert_supported_directory (line 864) | fn assert_supported_directory(&self, override_: bool) -> trc::Result<(... FILE: crates/http/src/management/queue.rs type Message (line 43) | pub struct Message { method from_archive (line 578) | fn from_archive(id: u64, message: &ArchivedMessage) -> Self { type Recipient (line 67) | pub struct Recipient { type Report (line 95) | pub enum Report { method dmarc (line 831) | fn dmarc(event: ReportEvent, report: report::Report, rua: Vec) ->... method tls (line 842) | fn tls(event: ReportEvent, report: TlsReport, rua: Vec) -> ... type QueueManagement (line 122) | pub trait QueueManagement: Sync + Send { method handle_manage_queue (line 123) | fn handle_manage_queue( method handle_manage_queue (line 132) | async fn handle_manage_queue( type QueuedMessages (line 627) | struct QueuedMessages { function fetch_queued_messages (line 633) | async fn fetch_queued_messages( type QueuedReports (line 744) | struct QueuedReports { function fetch_queued_reports (line 749) | async fn fetch_queued_reports( type GenerateQueueId (line 854) | trait GenerateQueueId { method queue_id (line 855) | fn queue_id(&self) -> String; method queue_id (line 859) | fn queue_id(&self) -> String { function parse_queued_report_id (line 872) | fn parse_queued_report_id(id: &str) -> Option { function serialize_maybe_datetime (line 888) | fn serialize_maybe_datetime(value: &Option, serializer: S) ... function deserialize_maybe_datetime (line 898) | fn deserialize_maybe_datetime<'de, D>(deserializer: D) -> Result(value: &DateTime, serializer: S) -> Result(deserializer: D) -> Result bool { type IsTenantDomain (line 941) | trait IsTenantDomain { method is_tenant_domain (line 942) | fn is_tenant_domain(&self, tenant_domains: &Option>) -> bool; method is_tenant_domain (line 945) | fn is_tenant_domain(&self, tenant_domains: &Option>) -> bo... FILE: crates/http/src/management/reload.rs type ManageReload (line 20) | pub trait ManageReload: Sync + Send { method handle_manage_reload (line 21) | fn handle_manage_reload( method handle_manage_update (line 28) | fn handle_manage_update( method handle_manage_reload (line 37) | async fn handle_manage_reload( method handle_manage_update (line 123) | async fn handle_manage_update( FILE: crates/http/src/management/report.rs type ReportType (line 27) | enum ReportType { method from (line 451) | fn from(s: &str) -> Self { type ManageReports (line 33) | pub trait ManageReports: Sync + Send { method handle_manage_reports (line 34) | fn handle_manage_reports( method handle_manage_reports (line 43) | async fn handle_manage_reports( function fetch_report (line 275) | async fn fetch_report(server: &Server, key: impl Key) -> trc::Result<... type IncomingReports (line 299) | struct IncomingReports { function fetch_incoming_reports (line 304) | async fn fetch_incoming_reports( function parse_incoming_report_id (line 438) | fn parse_incoming_report_id(class: &str, id: &str) -> Option { type Contains (line 461) | trait Contains { method contains (line 462) | fn contains(&self, text: &str) -> bool; method contains (line 466) | fn contains(&self, text: &str) -> bool { method contains (line 478) | fn contains(&self, filter: &str) -> bool { method contains (line 501) | fn contains(&self, text: &str) -> bool { method contains (line 515) | fn contains(&self, filter: &str) -> bool { method contains (line 532) | fn contains(&self, filter: &str) -> bool { method contains (line 558) | fn contains(&self, text: &str) -> bool { method contains (line 590) | fn contains(&self, text: &str) -> bool { FILE: crates/http/src/management/settings.rs type UpdateSettings (line 20) | pub enum UpdateSettings { type ManageSettings (line 36) | pub trait ManageSettings: Sync + Send { method handle_manage_settings (line 37) | fn handle_manage_settings( method handle_manage_settings (line 47) | async fn handle_manage_settings( FILE: crates/http/src/management/spam.rs type ManageSpamHandler (line 36) | pub trait ManageSpamHandler: Sync + Send { method handle_manage_spam (line 37) | fn handle_manage_spam( method handle_manage_spam (line 87) | async fn handle_manage_spam( type SpamClassifyRequest (line 49) | pub struct SpamClassifyRequest { type SpamClassifyResponse (line 71) | pub struct SpamClassifyResponse { type SpamFilterDisposition (line 80) | pub enum SpamFilterDisposition { FILE: crates/http/src/management/stores.rs type ManageStore (line 60) | pub trait ManageStore: Sync + Send { method handle_manage_store (line 61) | fn handle_manage_store( method housekeeper_request (line 70) | fn housekeeper_request( method handle_manage_store (line 77) | async fn handle_manage_store( method housekeeper_request (line 311) | async fn housekeeper_request(&self, event: HousekeeperEvent) -> trc::R... function recalculate_quota (line 330) | pub async fn recalculate_quota(server: &Server, account_id: u32) -> trc:... function destroy_account_blobs (line 386) | pub async fn destroy_account_blobs(server: &Server, account_id: u32) -> ... function destroy_account_data (line 462) | pub async fn destroy_account_data( function reset_imap_uids (line 501) | pub async fn reset_imap_uids(server: &Server, account_id: u32) -> trc::R... FILE: crates/http/src/management/troubleshoot.rs type TroubleshootApi (line 48) | pub trait TroubleshootApi: Sync + Send { method handle_troubleshoot_api_request (line 49) | fn handle_troubleshoot_api_request( method handle_troubleshoot_api_request (line 59) | async fn handle_troubleshoot_api_request( type DeliveryStage (line 132) | enum DeliveryStage { method to_frame (line 273) | fn to_frame(&self) -> Frame { type MX (line 259) | struct MX { type ReportUri (line 267) | pub enum ReportUri { type ElapsedMs (line 282) | trait ElapsedMs { method elapsed_ms (line 283) | fn elapsed_ms(&self) -> u64; method elapsed_ms (line 287) | fn elapsed_ms(&self) -> u64 { function spawn_delivery_troubleshoot (line 291) | fn spawn_delivery_troubleshoot( function delivery_troubleshoot (line 305) | async fn delivery_troubleshoot( type DmarcTroubleshootRequest (line 824) | struct DmarcTroubleshootRequest { type DmarcTroubleshootResponse (line 835) | struct DmarcTroubleshootResponse { type AuthResult (line 866) | pub enum AuthResult { method from (line 1025) | fn from(value: &SpfOutput) -> Self { method from (line 1071) | fn from(value: &IprevOutput) -> Self { method from (line 1108) | fn from(value: &DkimResult) -> Self { method from (line 1150) | fn from(value: &DmarcResult) -> Self { type DmarcPolicy (line 878) | pub enum DmarcPolicy { method from (line 1187) | fn from(value: &dmarc::Policy) -> Self { function dmarc_troubleshoot (line 885) | async fn dmarc_troubleshoot( method from (line 1049) | fn from(value: AuthResult) -> Self { method from (line 1089) | fn from(value: AuthResult) -> Self { method from (line 1129) | fn from(value: AuthResult) -> Self { method from (line 1168) | fn from(value: AuthResult) -> Self { function from (line 1198) | fn from(value: DmarcPolicy) -> Self { FILE: crates/http/src/request.rs type ParseHttp (line 59) | pub trait ParseHttp: Sync + Send { method parse_http_request (line 60) | fn parse_http_request( method parse_http_request (line 68) | async fn parse_http_request( function handle_session (line 666) | async fn handle_session(inner: Arc, session: Se... method handle (line 849) | fn handle(self, session: SessionData) -> impl Futur... method shutdown (line 854) | fn shutdown(&self) -> impl std::future::Future + Send { FILE: crates/imap-proto/src/lib.rs type Command (line 16) | pub enum Command { method is_uid (line 80) | pub fn is_uid(&self) -> bool { type ResponseCode (line 96) | pub enum ResponseCode { method highest_modseq (line 175) | pub fn highest_modseq(modseq: u64) -> Self { type StatusResponse (line 158) | pub struct StatusResponse { method bad (line 183) | pub fn bad(message: impl Into>) -> Self { method parse_error (line 192) | pub fn parse_error(message: impl Into>) -> Self { method database_failure (line 201) | pub fn database_failure() -> Self { method completed (line 205) | pub fn completed(command: Command) -> Self { method with_code (line 209) | pub fn with_code(mut self, code: ResponseCode) -> Self { method with_tag (line 214) | pub fn with_tag(mut self, tag: impl Into) -> Self { method no (line 219) | pub fn no(message: impl Into>) -> Self { method ok (line 228) | pub fn ok(message: impl Into>) -> Self { method bye (line 237) | pub fn bye(message: impl Into>) -> Self { type ResponseType (line 166) | pub enum ResponseType { FILE: crates/imap-proto/src/parser/acl.rs function parse_acl (line 34) | pub fn parse_acl(self, is_utf8: bool) -> trc::Result { method parse (line 83) | pub fn parse(value: &[u8]) -> super::Result { function parse_acl (line 135) | fn parse_acl() { FILE: crates/imap-proto/src/parser/append.rs type State (line 21) | enum State { function parse_append (line 29) | pub fn parse_append(self, is_utf8: bool) -> trc::Result trc::Result { method parse (line 34) | pub fn parse(value: &[u8]) -> super::Result { function parse_authenticate (line 67) | fn parse_authenticate() { FILE: crates/imap-proto/src/parser/copy_move.rs function parse_copy_move (line 19) | pub fn parse_copy_move(self, is_utf8: bool) -> trc::Result trc::Result trc::Result trc::Result { method parse (line 37) | pub fn parse(value: &[u8]) -> super::Result { function parse_enable (line 64) | fn parse_enable() { FILE: crates/imap-proto/src/parser/fetch.rs function parse_fetch (line 23) | pub fn parse_fetch(self) -> trc::Result { function parse_partial (line 435) | pub fn parse_partial(tokens: &mut Peekable>) -> super::R... function parse_fetch (line 523) | fn parse_fetch() { FILE: crates/imap-proto/src/parser/list.rs function parse_list (line 21) | pub fn parse_list(self, is_utf8: bool) -> trc::Result { method parse (line 181) | pub fn parse(value: &[u8]) -> super::Result { method parse (line 199) | pub fn parse(value: &[u8]) -> super::Result { function parse_list (line 221) | fn parse_list() { FILE: crates/imap-proto/src/parser/login.rs function parse_login (line 16) | pub fn parse_login(self) -> trc::Result { function parse_login (line 45) | fn parse_login() { FILE: crates/imap-proto/src/parser/lsub.rs function parse_lsub (line 17) | pub fn parse_lsub(self, is_utf8: bool) -> trc::Result { function parse_lsub (line 53) | fn parse_lsub() { FILE: crates/imap-proto/src/parser/mod.rs type Result (line 38) | pub type Result = std::result::Result>; method parse (line 41) | fn parse(value: &[u8], uid: bool) -> Option { method tokenize_brackets (line 87) | fn tokenize_brackets(&self) -> bool { method parse_imap (line 93) | pub fn parse_imap(value: Vec) -> Result { method parse_jmap (line 140) | pub fn parse_jmap(value: String) -> Self { function parse_datetime (line 188) | pub fn parse_datetime(value: &[u8]) -> Result { function parse_date (line 198) | pub fn parse_date(value: &[u8]) -> Result { function parse_number (line 213) | pub fn parse_number(value: &[u8]) -> Result { function parse_sequence_set (line 223) | pub fn parse_sequence_set(value: &[u8]) -> Result { type PushUnique (line 402) | pub trait PushUnique { method push_unique (line 403) | fn push_unique(&mut self, value: T); function push_unique (line 407) | fn push_unique(&mut self, value: T) { function parse_sequence_set (line 419) | fn parse_sequence_set() { FILE: crates/imap-proto/src/parser/quota.rs function parse_get_quota_root (line 17) | pub fn parse_get_quota_root(self, is_utf8: bool) -> trc::Result trc::Result { function parse_quota (line 59) | fn parse_quota() { FILE: crates/imap-proto/src/parser/rename.rs function parse_rename (line 17) | pub fn parse_rename(self, is_utf8: bool) -> trc::Result trc::Result super::Result { function parse_search (line 551) | fn parse_search() { FILE: crates/imap-proto/src/parser/select.rs function parse_select (line 19) | pub fn parse_select(self, is_utf8: bool) -> trc::Result trc::Result { method parse (line 105) | pub fn parse(value: &[u8]) -> super::Result { function parse_sort (line 133) | fn parse_sort() { FILE: crates/imap-proto/src/parser/status.rs function parse_status (line 16) | pub fn parse_status(self, is_utf8: bool) -> trc::Result super::Result { function parse_status (line 106) | fn parse_status() { FILE: crates/imap-proto/src/parser/store.rs function parse_store (line 21) | pub fn parse_store(self) -> trc::Result { function parse_store (line 159) | fn parse_store() { FILE: crates/imap-proto/src/parser/subscribe.rs function parse_subscribe (line 17) | pub fn parse_subscribe(self, is_utf8: bool) -> trc::Result trc::Result { method parse (line 58) | pub fn parse(value: &[u8]) -> super::Result { function parse_thread (line 85) | fn parse_thread() { FILE: crates/imap-proto/src/protocol/acl.rs type Rights (line 43) | pub enum Rights { method to_char (line 163) | pub fn to_char(&self) -> u8 { type ModRights (line 58) | pub struct ModRights { type ModRightsOp (line 64) | pub enum ModRightsOp { type Arguments (line 71) | pub struct Arguments { type GetAclResponse (line 79) | pub struct GetAclResponse { method into_bytes (line 98) | pub fn into_bytes(self, is_utf8: bool) -> Vec { type ListRightsResponse (line 85) | pub struct ListRightsResponse { method into_bytes (line 121) | pub fn into_bytes(self, is_utf8: bool) -> Vec { type MyRightsResponse (line 92) | pub struct MyRightsResponse { method into_bytes (line 145) | pub fn into_bytes(self, is_utf8: bool) -> Vec { method fmt (line 181) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 199) | fn from(value: Rights) -> Self { function serialize_acl (line 222) | fn serialize_acl() { FILE: crates/imap-proto/src/protocol/append.rs type Arguments (line 10) | pub struct Arguments { type Message (line 17) | pub struct Message { FILE: crates/imap-proto/src/protocol/authenticate.rs type Arguments (line 8) | pub struct Arguments { type Mechanism (line 15) | pub enum Mechanism { method serialize (line 31) | pub fn serialize(&self, buf: &mut Vec) { method into_bytes (line 48) | pub fn into_bytes(self) -> Vec { FILE: crates/imap-proto/src/protocol/capability.rs type Response (line 10) | pub struct Response { type Capability (line 15) | pub enum Capability { method serialize (line 76) | pub fn serialize(&self, buf: &mut Vec) { method all_capabilities (line 134) | pub fn all_capabilities(is_authenticated: bool, offer_tls: bool) -> Ve... type QuotaResourceName (line 68) | pub enum QuotaResourceName { method serialize (line 193) | fn serialize(self) -> Vec { function serialize_capability (line 213) | fn serialize_capability() { FILE: crates/imap-proto/src/protocol/copy_move.rs type Arguments (line 10) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/create.rs type Arguments (line 10) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/delete.rs type Arguments (line 8) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/enable.rs type Arguments (line 10) | pub struct Arguments { type Response (line 15) | pub struct Response { method serialize (line 20) | fn serialize(self) -> Vec { FILE: crates/imap-proto/src/protocol/expunge.rs type Response (line 10) | pub struct Response { method serialize_to (line 24) | pub fn serialize_to(self, buf: &mut Vec) { method serialize (line 16) | fn serialize(self) -> Vec { type Vanished (line 46) | pub struct Vanished { method serialize (line 52) | pub fn serialize(&self, buf: &mut Vec) { function serialize_expunge (line 68) | fn serialize_expunge() { FILE: crates/imap-proto/src/protocol/fetch.rs type Arguments (line 20) | pub struct Arguments { type Response (line 28) | pub struct Response<'x> { type FetchItem (line 34) | pub struct FetchItem<'x> { type Attribute (line 40) | pub enum Attribute { type Section (line 73) | pub enum Section { method serialize (line 604) | pub fn serialize(&self, buf: &mut Vec) { type DataItem (line 82) | pub enum DataItem<'x> { type Address (line 142) | pub enum Address<'x> { type AddressGroup (line 148) | pub struct AddressGroup<'x> { type EmailAddress (line 154) | pub struct EmailAddress<'x> { type BodyContents (line 160) | pub enum BodyContents<'x> { type Envelope (line 166) | pub struct Envelope<'x> { type BodyPart (line 181) | pub enum BodyPart<'x> { type BodyPartFields (line 215) | pub struct BodyPartFields<'x> { type BodyPartExtension (line 226) | pub struct BodyPartExtension<'x> { function serialize (line 233) | pub fn serialize(&self, buf: &mut Vec) { function into_owned (line 240) | pub fn into_owned<'y>(self) -> Address<'y> { function serialize (line 249) | pub fn serialize(&self, buf: &mut Vec) { function into_owned (line 278) | pub fn into_owned<'y>(self) -> EmailAddress<'y> { function serialize (line 287) | pub fn serialize(&self, buf: &mut Vec) { function into_owned (line 301) | pub fn into_owned<'y>(self) -> AddressGroup<'y> { function serialize (line 314) | pub fn serialize(&self, buf: &mut Vec, is_extended: bool) { function add_part (line 415) | pub fn add_part(&mut self, part: BodyPart<'x>) { function set_envelope (line 423) | pub fn set_envelope(&mut self, envelope_: Envelope<'x>) { function into_owned (line 430) | pub fn into_owned<'y>(self) -> BodyPart<'y> { function serialize (line 489) | pub fn serialize(&self, buf: &mut Vec) { function into_owned (line 513) | pub fn into_owned<'y>(self) -> BodyPartFields<'y> { function serialize (line 530) | pub fn serialize(&self, buf: &mut Vec) { function into_owned (line 576) | pub fn into_owned<'y>(self) -> BodyPartExtension<'y> { function into_owned (line 595) | pub fn into_owned<'y>(self) -> BodyContents<'y> { function serialize (line 643) | pub fn serialize(&self, buf: &mut Vec) { function serialize_addresses (line 686) | fn serialize_addresses(&self, buf: &mut Vec, addresses: &[Address]) { function into_owned (line 699) | pub fn into_owned<'y>(self) -> Envelope<'y> { function serialize (line 716) | pub fn serialize(&self, buf: &mut Vec) { function serialize (line 855) | pub fn serialize(&self, buf: &mut Vec) { method serialize (line 870) | fn serialize(self) -> Vec { function serialize_fetch_data_item (line 933) | fn serialize_fetch_data_item() { function serialize_fetch (line 1375) | fn serialize_fetch() { FILE: crates/imap-proto/src/protocol/list.rs type Arguments (line 15) | pub enum Arguments { method is_separator_query (line 98) | pub fn is_separator_query(&self) -> bool { method unwrap_tag (line 113) | pub fn unwrap_tag(self) -> String { type Response (line 31) | pub struct Response { type SelectionOption (line 40) | pub enum SelectionOption { type ReturnOption (line 48) | pub enum ReturnOption { type Attribute (line 56) | pub enum Attribute { method is_rev1 (line 122) | pub fn is_rev1(&self) -> bool { method serialize (line 129) | pub fn serialize(&self, buf: &mut Vec) { type Error (line 156) | type Error = (); method try_from (line 158) | fn try_from(value: &str) -> Result { type ChildInfo (line 80) | pub enum ChildInfo { method serialize (line 175) | pub fn serialize(&self, buf: &mut Vec) { type Tag (line 85) | pub enum Tag { method serialize (line 185) | pub fn serialize(&self, buf: &mut Vec) { type ListItem (line 91) | pub struct ListItem { method new (line 207) | pub fn new(name: impl Into) -> Self { method serialize (line 215) | pub fn serialize(&self, buf: &mut Vec, is_rev2: bool, is_utf8: boo... method serialize (line 260) | fn serialize(self) -> Vec { function serialize_list_item (line 299) | fn serialize_list_item() { function serialize_list (line 362) | fn serialize_list() { FILE: crates/imap-proto/src/protocol/login.rs type Arguments (line 8) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/mod.rs type ProtocolVersion (line 38) | pub enum ProtocolVersion { method is_rev2 (line 642) | pub fn is_rev2(&self) -> bool { method is_rev1 (line 647) | pub fn is_rev1(&self) -> bool { type Sequence (line 44) | pub enum Sequence { method number (line 59) | pub fn number(value: u32) -> Sequence { method range (line 63) | pub fn range(start: Option, end: Option) -> Sequence { method contains (line 67) | pub fn contains(&self, value: u32, max_value: u32) -> bool { method is_saved_search (line 91) | pub fn is_saved_search(&self) -> bool { method expand (line 99) | pub fn expand(&self, max_value: u32) -> AHashSet { type ImapResponse (line 151) | pub trait ImapResponse { method serialize (line 152) | fn serialize(self) -> Vec; function quoted_string (line 155) | pub fn quoted_string(buf: &mut Vec, text: &str) { function quoted_or_literal_string (line 166) | pub fn quoted_or_literal_string(buf: &mut Vec, text: &str) { function quoted_or_literal_string_or_nil (line 179) | pub fn quoted_or_literal_string_or_nil(buf: &mut Vec, text: Option<&... function quoted_string_or_nil (line 187) | pub fn quoted_string_or_nil(buf: &mut Vec, text: Option<&str>) { function literal_string (line 195) | pub fn literal_string(buf: &mut Vec, text: &[u8]) { function literal_string_slice (line 202) | pub fn literal_string_slice(buf: &mut Vec, text: &SliceRange<'_>) { function quoted_timestamp (line 209) | pub fn quoted_timestamp(buf: &mut Vec, timestamp: i64) { function quoted_rfc2822 (line 221) | pub fn quoted_rfc2822(buf: &mut Vec, timestamp: &mail_parser::DateTi... function quoted_rfc2822_or_nil (line 227) | pub fn quoted_rfc2822_or_nil(buf: &mut Vec, timestamp: &Option) { method from (line 307) | fn from(value: Keyword) -> Self { method from (line 344) | fn from(value: &ArchivedKeyword) -> Self { method from (line 381) | fn from(value: Flag) -> Self { method serialize (line 418) | pub fn serialize(&self, buf: &mut Vec) { method as_str (line 498) | pub fn as_str(&self) -> &'static str { method serialize (line 543) | pub fn serialize(&self, buf: &mut Vec) { method as_str (line 547) | pub fn as_str(&self) -> &'static str { function from (line 559) | fn from(value: ResponseCode) -> Self { function from (line 565) | fn from(value: ResponseType) -> Self { method serialize (line 571) | pub fn serialize(self, mut buf: Vec) -> Vec { method into_bytes (line 590) | pub fn into_bytes(self) -> Vec { type SerializeResponse (line 595) | pub trait SerializeResponse { method serialize (line 596) | fn serialize(&self) -> Vec; method serialize (line 600) | fn serialize(&self) -> Vec { function serialize_sequence (line 652) | pub fn serialize_sequence(buf: &mut Vec, list: &[u32]) { method fmt (line 679) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { function sequence_set_contains (line 738) | fn sequence_set_contains() { FILE: crates/imap-proto/src/protocol/namespace.rs type Response (line 9) | pub struct Response { method serialize (line 14) | fn serialize(self) -> Vec { FILE: crates/imap-proto/src/protocol/quota.rs type Arguments (line 10) | pub struct Arguments { type QuotaItem (line 15) | pub struct QuotaItem { type QuotaResource (line 20) | pub struct QuotaResource { type Response (line 26) | pub struct Response { method serialize (line 32) | fn serialize(self) -> Vec { function serialize_quota (line 87) | fn serialize_quota() { FILE: crates/imap-proto/src/protocol/rename.rs type Arguments (line 8) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/search.rs type Arguments (line 10) | pub struct Arguments { type Sort (line 19) | pub enum Sort { type Comparator (line 32) | pub struct Comparator { type Response (line 38) | pub struct Response { method serialize (line 134) | pub fn serialize(self, tag: &str) -> Vec { type ResultOption (line 50) | pub enum ResultOption { type Filter (line 60) | pub enum Filter { method seq_saved_search (line 124) | pub fn seq_saved_search() -> Filter { method seq_range (line 128) | pub fn seq_range(start: Option, end: Option) -> Filter { type ModSeqEntry (line 116) | pub enum ModSeqEntry { function serialize_search (line 190) | fn serialize_search() { FILE: crates/imap-proto/src/protocol/select.rs type Arguments (line 12) | pub struct Arguments { type QResync (line 20) | pub struct QResync { type HighestModSeq (line 28) | pub struct HighestModSeq(u64); method new (line 101) | pub fn new(modseq: u64) -> Self { method serialize (line 105) | pub fn serialize(&self, buf: &mut Vec) { method into_bytes (line 111) | pub fn into_bytes(self) -> Vec { type Response (line 31) | pub struct Response { type Exists (line 46) | pub struct Exists { method serialize (line 119) | pub fn serialize(&self, buf: &mut Vec) { method into_bytes (line 125) | pub fn into_bytes(self) -> Vec { method serialize (line 51) | fn serialize(self) -> Vec { function serialize_select (line 139) | fn serialize_select() { FILE: crates/imap-proto/src/protocol/status.rs type Arguments (line 12) | pub struct Arguments { type Status (line 19) | pub enum Status { type StatusItem (line 33) | pub struct StatusItem { method serialize (line 45) | pub fn serialize(&self, buf: &mut Vec, is_utf8: bool) { type StatusItemType (line 39) | pub enum StatusItemType { function serialize_status (line 91) | fn serialize_status() { FILE: crates/imap-proto/src/protocol/store.rs type Arguments (line 10) | pub struct Arguments { type Operation (line 20) | pub enum Operation { type Response (line 27) | pub struct Response<'x> { method serialize (line 32) | fn serialize(self) -> Vec { FILE: crates/imap-proto/src/protocol/subscribe.rs type Arguments (line 8) | pub struct Arguments { FILE: crates/imap-proto/src/protocol/thread.rs type Arguments (line 10) | pub struct Arguments { type Algorithm (line 17) | pub enum Algorithm { type Response (line 23) | pub struct Response { method serialize (line 29) | fn serialize(self) -> Vec { function serialize_thread (line 52) | fn serialize_thread() { FILE: crates/imap-proto/src/receiver.rs type Error (line 12) | pub enum Error { method err (line 544) | pub fn err(tag: Option>, message: impl Into { type CommandParser (line 25) | pub trait CommandParser: Sized + Default { method parse (line 26) | fn parse(bytes: &[u8], is_uid: bool) -> Option; method tokenize_brackets (line 27) | fn tokenize_brackets(&self) -> bool; type Token (line 31) | pub enum Token { method unwrap_string (line 450) | pub fn unwrap_string(self) -> crate::parser::Result { method unwrap_bytes (line 459) | pub fn unwrap_bytes(self) -> Vec { method eq_ignore_ascii_case (line 466) | pub fn eq_ignore_ascii_case(&self, bytes: &[u8]) -> bool { method is_parenthesis_open (line 480) | pub fn is_parenthesis_open(&self) -> bool { method is_parenthesis_close (line 484) | pub fn is_parenthesis_close(&self) -> bool { method is_bracket_open (line 488) | pub fn is_bracket_open(&self) -> bool { method is_bracket_close (line 492) | pub fn is_bracket_close(&self) -> bool { method is_dot (line 496) | pub fn is_dot(&self) -> bool { method is_lt (line 500) | pub fn is_lt(&self) -> bool { method is_gt (line 504) | pub fn is_gt(&self) -> bool { method as_bytes (line 528) | pub fn as_bytes(&self) -> &[u8] { method default (line 44) | fn default() -> Self { type State (line 54) | pub enum State { type Receiver (line 65) | pub struct Receiver { constant ARG_MAX_LEN (line 74) | const ARG_MAX_LEN: usize = 4096; type ArgumentBuffer (line 76) | struct ArgumentBuffer { method new (line 395) | pub fn new() -> Self { method resize_buffer (line 401) | pub fn resize_buffer(&mut self, size: usize) { method push_checked (line 408) | pub fn push_checked(&mut self, byte: u8, limit: usize) -> Result<(), (... method push_unchecked (line 418) | pub fn push_unchecked(&mut self, byte: u8) { method take (line 422) | pub fn take(&mut self) -> Vec { method len (line 429) | pub fn len(&self) -> usize { method is_empty (line 434) | pub fn is_empty(&self) -> bool { method clear (line 439) | pub fn clear(&mut self) { method as_str (line 444) | pub fn as_str(&self) -> &str { method as_ref (line 510) | fn as_ref(&self) -> &[u8] { function new (line 81) | pub fn new() -> Self { function with_start_state (line 88) | pub fn with_start_state(mut self, state: State) -> Self { function with_max_request_size (line 94) | pub fn with_max_request_size(max_request_size: usize) -> Self { function error_reset (line 101) | pub fn error_reset(&mut self, message: impl Into) -> Error { function push_argument (line 117) | fn push_argument(&mut self, in_quote: bool) -> Result<(), Error> { function push_token (line 133) | fn push_token(&mut self, token: Token) -> Result<(), Error> { function parse (line 145) | pub fn parse(&mut self, bytes: &mut std::slice::Iter<'_, u8>) -> Result<... method default (line 516) | fn default() -> Self { method fmt (line 522) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { method default (line 556) | fn default() -> Self { function into_error (line 569) | pub fn into_error(self, message: impl Into) -> trc::Error { function into_parse_error (line 575) | pub fn into_parse_error(self, message: impl Into) -> trc::Er... function bad (line 584) | pub(crate) fn bad(tag: impl Into, message: impl Into Option { function utf7_encode (line 72) | pub fn utf7_encode(text: &str) -> String { function utf7_maybe_decode (line 121) | pub fn utf7_maybe_decode(text: String, is_utf8: bool) -> String { function utf7_decode (line 133) | fn utf7_decode() { function utf7_encode (line 171) | fn utf7_encode() { FILE: crates/imap/src/core/client.rs function ingest (line 22) | pub async fn ingest(&mut self, bytes: &[u8]) -> SessionResult { function group_requests (line 276) | pub fn group_requests( function is_allowed (line 293) | async fn is_allowed(&self, request: Request) -> trc::Result u32 { function session_data (line 440) | pub fn session_data(&self) -> Arc> { function mailbox_state (line 448) | pub fn mailbox_state(&self) -> (Arc>, Arc (Arc>, Option (Arc>, Arc) { function spawn_task (line 470) | pub fn spawn_task(&self, params: P, fnc: F) -> trc::Result<()> function is_authenticated (line 487) | pub fn is_authenticated(&self) -> bool { function close_mailbox (line 491) | pub fn close_mailbox(&self) -> bool { FILE: crates/imap/src/core/mailbox.rs function new (line 34) | pub async fn new( function fetch_account_mailboxes (line 87) | async fn fetch_account_mailboxes( function synchronize_mailboxes (line 208) | pub async fn synchronize_mailboxes( function get_mailbox_by_name (line 372) | pub fn get_mailbox_by_name(&self, mailbox_name: &str) -> Option t... function write_mailbox_changes (line 121) | pub async fn write_mailbox_changes( function get_uid_next (line 163) | pub async fn get_uid_next(&self, mailbox: &MailboxId) -> trc::Result { function mailbox_state (line 178) | pub fn mailbox_state(&self, mailbox: &MailboxId) -> Option { method sequence_to_ids (line 189) | pub async fn sequence_to_ids( method sequence_expand_missing (line 239) | pub async fn sequence_expand_missing(&self, sequence: &Sequence, is_uid:... method append_messages (line 268) | pub fn append_messages(&self, ids: Vec, modseq: Option) { FILE: crates/imap/src/core/mod.rs type ImapSessionManager (line 37) | pub struct ImapSessionManager { method new (line 42) | pub fn new(inner: Arc) -> Self { type Session (line 47) | pub struct Session { type SessionData (line 64) | pub struct SessionData { type SelectedMailbox (line 75) | pub struct SelectedMailbox { type AccountId (line 84) | pub struct AccountId { type MailboxId (line 90) | pub struct MailboxId { type Account (line 96) | pub struct Account { type Mailbox (line 105) | pub struct Mailbox { type MailboxState (line 119) | pub struct MailboxState { method map_result_id (line 226) | pub fn map_result_id(&self, document_id: u32, is_uid: bool) -> Option<... type NextMailboxState (line 129) | pub struct NextMailboxState { type ImapId (line 135) | pub struct ImapId { type MailboxSync (line 141) | pub struct MailboxSync { type SavedSearch (line 147) | pub enum SavedSearch { type ImapUidToId (line 158) | pub struct ImapUidToId { type State (line 163) | pub enum State { function try_replace_stream_tx (line 177) | pub fn try_replace_stream_tx( function get_access_token (line 201) | pub async fn get_access_token(&self) -> trc::Result> { function replace_stream_tx (line 208) | pub fn replace_stream_tx( FILE: crates/imap/src/core/session.rs method handle (line 26) | fn handle( method shutdown (line 42) | fn shutdown(&self) -> impl std::future::Future + Send { function handle_conn (line 48) | pub async fn handle_conn(&mut self) -> bool { function new (line 118) | pub async fn new( function into_tls (line 163) | pub async fn into_tls(self) -> Result>, ()> { function write_bytes (line 220) | pub async fn write_bytes(&self, bytes: impl AsRef<[u8]>) -> trc::Result<... function write_error (line 242) | pub async fn write_error(&self, err: trc::Error) -> bool { function write_bytes (line 263) | pub async fn write_bytes(&self, bytes: impl AsRef<[u8]>) -> trc::Result<... function write_error (line 285) | pub async fn write_error(&self, err: trc::Error) -> trc::Result<()> { FILE: crates/imap/src/lib.rs type ImapError (line 32) | pub struct ImapError; FILE: crates/imap/src/op/acl.rs function handle_get_acl (line 44) | pub async fn handle_get_acl(&mut self, request: Request) -> trc... function handle_my_rights (line 165) | pub async fn handle_my_rights(&mut self, request: Request) -> t... function handle_set_acl (line 254) | pub async fn handle_set_acl(&mut self, request: Request) -> trc... function handle_list_rights (line 408) | pub async fn handle_list_rights(&mut self, request: Request) ->... function assert_has_permission (line 447) | pub fn assert_has_permission(&self, permission: Permission) -> trc::Resu... function get_acl_mailbox (line 458) | async fn get_acl_mailbox( FILE: crates/imap/src/op/append.rs function handle_append (line 29) | pub async fn handle_append(&mut self, request: Request) -> trc:... function append_messages (line 66) | async fn append_messages( FILE: crates/imap/src/op/authenticate.rs function handle_authenticate (line 28) | pub async fn handle_authenticate(&mut self, request: Request) -... function authenticate (line 74) | pub async fn authenticate( function handle_unauthenticate (line 141) | pub async fn handle_unauthenticate(&mut self, request: Request)... FILE: crates/imap/src/op/capability.rs function handle_capability (line 22) | pub async fn handle_capability(&mut self, request: Request) -> ... function handle_id (line 51) | pub async fn handle_id(&mut self, request: Request) -> trc::Res... FILE: crates/imap/src/op/close.rs function handle_close (line 15) | pub async fn handle_close(&mut self, request: Request) -> trc::... FILE: crates/imap/src/op/copy_move.rs function handle_copy_move (line 41) | pub async fn handle_copy_move( function copy_move (line 104) | pub async fn copy_move( function get_message_data (line 546) | pub async fn get_message_data( FILE: crates/imap/src/op/create.rs function handle_create (line 26) | pub async fn handle_create(&mut self, requests: Vec>) -... function create_folder (line 54) | pub async fn create_folder(&self, arguments: Arguments) -> trc::Result( type CreateParams (line 320) | pub struct CreateParams<'x> { function attr_to_role (line 330) | fn attr_to_role(attr: Attribute) -> SpecialUse { FILE: crates/imap/src/op/delete.rs function handle_delete (line 21) | pub async fn handle_delete(&mut self, requests: Vec>) -... function delete_folder (line 49) | pub async fn delete_folder(&self, arguments: Arguments) -> trc::Result) -> trc:... FILE: crates/imap/src/op/expunge.rs function handle_expunge (line 35) | pub async fn handle_expunge( function expunge (line 114) | pub async fn expunge( function email_untag_or_delete (line 163) | pub async fn email_untag_or_delete( FILE: crates/imap/src/op/fetch.rs function handle_fetch (line 56) | pub async fn handle_fetch(&mut self, requests: Vec>) ->... function fetch (line 115) | pub async fn fetch( type AsImapDataItem (line 631) | pub trait AsImapDataItem { method body_structure (line 632) | fn body_structure(&'_ self, decoded: &DecodedParts<'_>, is_extended: b... method body_section (line 633) | fn body_section<'x>( method binary (line 639) | fn binary<'x>( method binary_size (line 645) | fn binary_size(&self, decoded: &DecodedParts<'_>, sections: &[u32]) ->... method body_structure (line 850) | fn body_structure(&'_ self, decoded: &DecodedParts<'_>, is_extended: b... method body_section (line 917) | fn body_section<'x>( method binary (line 1039) | fn binary<'x>( method binary_size (line 1127) | fn binary_size(&self, decoded: &DecodedParts<'_>, sections: &[u32]) ->... type AsImapDataItemPart (line 649) | pub trait AsImapDataItemPart { method as_body_part (line 650) | fn as_body_part( method envelope (line 658) | fn envelope(&'_ self) -> Envelope<'_>; method as_body_part (line 662) | fn as_body_part( method envelope (line 803) | fn envelope(&'_ self) -> Envelope<'_> { function get_partial_bytes (line 1172) | fn get_partial_bytes(bytes: &[u8], partial: Option<(u32, u32)>) -> &[u8] { function get_cow_partial_bytes (line 1183) | fn get_cow_partial_bytes(bytes: Cow<'_, [u8]>, partial: Option<(u32, u32... type AsImapAddress (line 1195) | trait AsImapAddress { method as_imap_address (line 1196) | fn as_imap_address(&'_ self) -> Vec>; method as_imap_address (line 1200) | fn as_imap_address(&'_ self) -> Vec> { FILE: crates/imap/src/op/idle.rs function handle_idle (line 31) | pub async fn handle_idle(&mut self, request: Request) -> trc::R... function write_changes (line 135) | pub async fn write_changes( FILE: crates/imap/src/op/list.rs function handle_list (line 31) | pub async fn handle_list(&mut self, request: Request) -> trc::R... function list (line 82) | pub async fn list( function matches_pattern (line 332) | pub fn matches_pattern(patterns: &[String], mailbox_name: &str) -> bool { FILE: crates/imap/src/op/login.rs function handle_login (line 14) | pub async fn handle_login(&mut self, request: Request) -> trc::... FILE: crates/imap/src/op/logout.rs function handle_logout (line 14) | pub async fn handle_logout(&mut self, request: Request) -> trc:... FILE: crates/imap/src/op/mod.rs type FromModSeq (line 36) | trait FromModSeq { method from_modseq (line 37) | fn from_modseq(modseq: u64) -> Self; method from_modseq (line 45) | fn from_modseq(modseq: u64) -> Self { type ToModSeq (line 40) | trait ToModSeq { method to_modseq (line 41) | fn to_modseq(&self) -> u64; method to_modseq (line 55) | fn to_modseq(&self) -> u64 { type ImapContext (line 80) | pub trait ImapContext { method imap_ctx (line 81) | fn imap_ctx(self, tag: &str, location: &'static str) -> trc::Result; function imap_ctx (line 85) | fn imap_ctx(self, tag: &str, location: &'static str) -> trc::Result { FILE: crates/imap/src/op/namespace.rs function handle_namespace (line 17) | pub async fn handle_namespace(&mut self, request: Request) -> t... FILE: crates/imap/src/op/noop.rs function handle_noop (line 14) | pub async fn handle_noop(&mut self, request: Request) -> trc::R... FILE: crates/imap/src/op/quota.rs function handle_get_quota (line 32) | pub async fn handle_get_quota(&mut self, request: Request) -> t... function handle_get_quota_root (line 55) | pub async fn handle_get_quota_root(&mut self, request: Request)... function get_quota (line 81) | pub async fn get_quota(&self, arguments: Arguments) -> trc::Result trc::Result<... FILE: crates/imap/src/op/rename.rs function handle_rename (line 27) | pub async fn handle_rename(&mut self, request: Request) -> trc:... function rename_folder (line 43) | pub async fn rename_folder( FILE: crates/imap/src/op/search.rs function handle_search (line 40) | pub async fn handle_search( function search (line 109) | pub async fn search( function query (line 210) | pub async fn query( method get_saved_search (line 639) | pub async fn get_saved_search(&self) -> Option>> { method map_search_results (line 655) | pub fn map_search_results( method unwrap (line 711) | pub async fn unwrap(&self) -> Option>> { FILE: crates/imap/src/op/select.rs function handle_select (line 24) | pub async fn handle_select(&mut self, request: Request) -> trc:... function handle_unselect (line 159) | pub async fn handle_unselect(&mut self, request: Request) -> tr... FILE: crates/imap/src/op/status.rs function handle_status (line 27) | pub async fn handle_status(&mut self, requests: Vec>) -... function status (line 86) | pub async fn status(&self, mailbox_name: String, items: &[Status]) -> tr... FILE: crates/imap/src/op/store.rs function handle_store (line 42) | pub async fn handle_store( function store (line 66) | pub async fn store( FILE: crates/imap/src/op/subscribe.rs function handle_subscribe (line 23) | pub async fn handle_subscribe( function subscribe_folder (line 51) | pub async fn subscribe_folder( FILE: crates/imap/src/op/thread.rs function handle_thread (line 27) | pub async fn handle_thread( function thread (line 59) | pub async fn thread( FILE: crates/jmap-proto/src/error/method.rs type MethodError (line 12) | pub enum MethodError { type MethodErrorWrapper (line 34) | pub struct MethodErrorWrapper(trc::Error); method from (line 37) | fn from(value: trc::Error) -> Self { method fmt (line 43) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { method serialize (line 72) | fn serialize(&self, serializer: S) -> Result FILE: crates/jmap-proto/src/error/request.rs type RequestLimitError (line 10) | pub enum RequestLimitError { type RequestErrorType (line 24) | pub enum RequestErrorType { type RequestError (line 38) | pub struct RequestError<'x> { function blank (line 50) | pub fn blank( function internal_server_error (line 64) | pub fn internal_server_error() -> Self { function unavailable (line 75) | pub fn unavailable() -> Self { function invalid_parameters (line 86) | pub fn invalid_parameters() -> Self { function forbidden (line 94) | pub fn forbidden() -> Self { function over_blob_quota (line 102) | pub fn over_blob_quota(max_files: usize, max_bytes: usize) -> Self { function over_quota (line 113) | pub fn over_quota() -> Self { function tenant_over_quota (line 121) | pub fn tenant_over_quota() -> Self { function too_many_requests (line 129) | pub fn too_many_requests() -> Self { function too_many_auth_attempts (line 137) | pub fn too_many_auth_attempts() -> Self { function limit (line 145) | pub fn limit(limit_type: RequestLimitError) -> Self { function not_found (line 177) | pub fn not_found() -> Self { function unauthorized (line 185) | pub fn unauthorized() -> Self { function unknown_capability (line 189) | pub fn unknown_capability(capability: &'_ str) -> RequestError<'_> { function not_json (line 207) | pub fn not_json(detail: &'_ str) -> RequestError<'_> { function not_request (line 217) | pub fn not_request(detail: impl Into>) -> RequestError<'x> { method fmt (line 229) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/error/set.rs type SetError (line 13) | pub struct SetError { type InvalidProperty (line 29) | pub enum InvalidProperty { type SetErrorType (line 35) | pub enum SetErrorType { method as_str (line 95) | pub fn as_str(&self) -> &'static str { function new (line 130) | pub fn new(type_: SetErrorType) -> Self { function with_description (line 139) | pub fn with_description(mut self, description: impl Into>) ... function with_properties (line 149) | pub fn with_properties( function with_existing_id (line 161) | pub fn with_existing_id(mut self, id: Id) -> Self { function invalid_properties (line 166) | pub fn invalid_properties() -> Self { function forbidden (line 170) | pub fn forbidden() -> Self { function not_found (line 174) | pub fn not_found() -> Self { function blob_not_found (line 178) | pub fn blob_not_found() -> Self { function over_quota (line 182) | pub fn over_quota() -> Self { function already_exists (line 186) | pub fn already_exists() -> Self { function too_large (line 190) | pub fn too_large() -> Self { function will_destroy (line 194) | pub fn will_destroy() -> Self { function address_book_has_contents (line 198) | pub fn address_book_has_contents() -> Self { function node_has_children (line 203) | pub fn node_has_children() -> Self { function calendar_has_event (line 207) | pub fn calendar_has_event() -> Self { function from (line 213) | fn from(property: T) -> Self { function from (line 219) | fn from((a, b): (T, T)) -> Self { function from (line 225) | fn from(property: Key<'static, T>) -> Self { function serialize (line 231) | fn serialize(&self, serializer: S) -> Result FILE: crates/jmap-proto/src/method/availability.rs type GetAvailabilityRequest (line 19) | pub struct GetAvailabilityRequest { method deserialize_argument (line 52) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 85) | fn deserialize(deserializer: D) -> Result type GetAvailabilityResponse (line 30) | pub struct GetAvailabilityResponse { type BusyPeriod (line 36) | pub struct BusyPeriod { type BusyStatus (line 45) | pub enum BusyStatus { FILE: crates/jmap-proto/src/method/changes.rs type ChangesRequest (line 17) | pub struct ChangesRequest { method deserialize_argument (line 49) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 73) | fn deserialize(deserializer: D) -> Result type ChangesResponse (line 24) | pub struct ChangesResponse { function has_changes (line 82) | pub fn has_changes(&self) -> bool { FILE: crates/jmap-proto/src/method/copy.rs type CopyRequest (line 23) | pub struct CopyRequest<'x, T: JmapObject> { type CopyResponse (line 34) | pub struct CopyResponse { type CopyBlobRequest (line 57) | pub struct CopyBlobRequest { method deserialize_argument (line 117) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 150) | fn deserialize(deserializer: D) -> Result type CopyBlobResponse (line 64) | pub struct CopyBlobResponse { function deserialize_argument (line 81) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 141) | fn deserialize(deserializer: D) -> Result method default (line 159) | fn default() -> Self { function created (line 173) | pub fn created(&mut self, id: Id, document_id: impl Into) { FILE: crates/jmap-proto/src/method/get.rs type GetRequest (line 21) | pub struct GetRequest { type GetResponse (line 29) | pub struct GetResponse { function deserialize_argument (line 44) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 74) | fn deserialize(deserializer: D) -> Result method default (line 83) | fn default() -> Self { function unwrap_properties (line 94) | pub fn unwrap_properties(&mut self, default: &[T::Property]) -> Vec trc::Result(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 127) | fn deserialize(deserializer: D) -> Result type ImportEmail (line 35) | pub struct ImportEmail { method deserialize_argument (line 88) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 118) | fn deserialize(deserializer: D) -> Result type ImportEmailResponse (line 43) | pub struct ImportEmailResponse { method update_created_ids (line 136) | pub fn update_created_ids(&self, response: &mut Response) { FILE: crates/jmap-proto/src/method/lookup.rs type BlobLookupRequest (line 16) | pub struct BlobLookupRequest { method deserialize_argument (line 42) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 66) | fn deserialize(deserializer: D) -> Result type BlobLookupResponse (line 23) | pub struct BlobLookupResponse { type BlobInfo (line 35) | pub struct BlobInfo { FILE: crates/jmap-proto/src/method/mod.rs function ahash_is_empty (line 30) | fn ahash_is_empty(map: &AHashMap) -> bool { type PropertyWrapper (line 36) | pub struct PropertyWrapper(pub T); function from (line 39) | fn from(value: T) -> Self { method serialize (line 45) | fn serialize(&self, serializer: S) -> Result type JmapDict (line 53) | pub(crate) struct JmapDict(pub Vec); type JmapDictVisitor (line 55) | struct JmapDictVisitor<'de, T: FromStr> { type Value (line 60) | type Value = JmapDict; function expecting (line 62) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { function visit_map (line 66) | fn visit_map(self, mut access: M) -> Result function deserialize (line 84) | fn deserialize(deserializer: D) -> Result FILE: crates/jmap-proto/src/method/parse.rs type ParseRequest (line 21) | pub struct ParseRequest { type ParseResponse (line 29) | pub struct ParseResponse { function deserialize_argument (line 47) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 71) | fn deserialize(deserializer: D) -> Result method default (line 80) | fn default() -> Self { FILE: crates/jmap-proto/src/method/query.rs type QueryRequest (line 23) | pub struct QueryRequest { type QueryResponse (line 36) | pub struct QueryResponse { type Filter (line 62) | pub enum Filter type Comparator (line 74) | pub struct Comparator function deserialize_argument (line 84) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 123) | fn deserialize(deserializer: D) -> Result method default (line 132) | fn default() -> Self { type FilterMapCollector (line 147) | struct FilterMapCollector<'x, T: 'x>(&'x mut Vec>) type FilterListCollector (line 151) | struct FilterListCollector<'x, T: 'x>(&'x mut Vec>) type FilterWrapper (line 155) | pub(super) struct FilterWrapper(pub Vec>) function deserialize (line 163) | fn deserialize(deserializer: D) -> Result type Value (line 178) | type Value = (); function deserialize (line 180) | fn deserialize(self, deserializer: D) -> Result type Value (line 272) | type Value = (); function deserialize (line 274) | fn deserialize(self, deserializer: D) -> Result function deserialize_argument (line 309) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 333) | fn deserialize(deserializer: D) -> Result function descending (line 345) | pub fn descending(property: T) -> Self { function ascending (line 353) | pub fn ascending(property: T) -> Self { method default (line 366) | fn default() -> Self { FILE: crates/jmap-proto/src/method/query_changes.rs type QueryChangesRequest (line 17) | pub struct QueryChangesRequest { type QueryChangesResponse (line 29) | pub struct QueryChangesResponse { type AddedItem (line 51) | pub struct AddedItem { method new (line 57) | pub fn new(id: Id, index: usize) -> Self { function deserialize_argument (line 63) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 99) | fn deserialize(deserializer: D) -> Result method default (line 108) | fn default() -> Self { function from (line 123) | fn from(request: QueryChangesRequest) -> Self { FILE: crates/jmap-proto/src/method/search_snippet.rs type GetSearchSnippetRequest (line 21) | pub struct GetSearchSnippetRequest { method deserialize_argument (line 53) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 80) | fn deserialize(deserializer: D) -> Result type GetSearchSnippetResponse (line 28) | pub struct GetSearchSnippetResponse { type SearchSnippet (line 41) | pub struct SearchSnippet { method default (line 89) | fn default() -> Self { FILE: crates/jmap-proto/src/method/set.rs type SetRequest (line 27) | pub struct SetRequest<'x, T: JmapObject> { type SetResponse (line 38) | pub struct SetResponse { function deserialize_argument (line 77) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... function deserialize (line 110) | fn deserialize(deserializer: D) -> Result method default (line 119) | fn default() -> Self { function validate (line 132) | pub fn validate(&self, max_objects_in_set: usize) -> trc::Result<()> { function has_updates (line 150) | pub fn has_updates(&self) -> bool { function has_creates (line 154) | pub fn has_creates(&self) -> bool { function unwrap_create (line 158) | pub fn unwrap_create(&mut self) -> VecMap Vec> { function from_request (line 177) | pub fn from_request(request: &SetRequest, max_objects: usize) -> trc:... function with_state (line 208) | pub fn with_state(mut self, state: State) -> Self { function created (line 214) | pub fn created(&mut self, id: String, document_id: impl Into) { function invalid_property_create (line 224) | pub fn invalid_property_create( function invalid_property_update (line 237) | pub fn invalid_property_update( function update_created_ids (line 250) | pub fn update_created_ids(&self, response: &mut Response) { function get_object_by_id (line 261) | pub fn get_object_by_id( function has_changes (line 285) | pub fn has_changes(&self) -> bool { FILE: crates/jmap-proto/src/method/upload.rs type BlobUploadRequest (line 26) | pub struct BlobUploadRequest { method deserialize_argument (line 73) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 206) | fn deserialize(deserializer: D) -> Result type UploadObject (line 32) | pub struct UploadObject { method deserialize_argument (line 94) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 197) | fn deserialize(deserializer: D) -> Result type DataSourceObject (line 38) | pub enum DataSourceObject { method deserialize_argument (line 115) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 188) | fn deserialize(deserializer: D) -> Result type BlobUploadResponse (line 50) | pub struct BlobUploadResponse { method update_created_ids (line 178) | pub fn update_created_ids(&self, response: &mut Response) { type BlobUploadResponseObject (line 64) | pub struct BlobUploadResponseObject { FILE: crates/jmap-proto/src/method/validate.rs type ValidateSieveScriptRequest (line 19) | pub struct ValidateSieveScriptRequest { method deserialize_argument (line 32) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method deserialize (line 53) | fn deserialize(deserializer: D) -> Result type ValidateSieveScriptResponse (line 25) | pub struct ValidateSieveScriptResponse { FILE: crates/jmap-proto/src/object/addressbook.rs type AddressBook (line 18) | pub struct AddressBook; type AddressBookProperty (line 21) | pub enum AddressBookProperty { method parse (line 124) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 148) | fn patch_or_prop(&self) -> &AddressBookProperty { method from (line 225) | fn from(id: Id) -> Self { method from (line 315) | fn from(right: AddressBookRight) -> Self { method fmt (line 351) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type AddressBookRight (line 38) | pub enum AddressBookRight { method as_str (line 86) | pub fn as_str(&self) -> &'static str { type Error (line 243) | type Error = (); method try_from (line 245) | fn try_from(value: AddressBookProperty) -> Result { type AddressBookValue (line 46) | pub enum AddressBookValue { method from (line 255) | fn from(id: Id) -> Self { method try_parse (line 53) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 67) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 97) | type Property = AddressBookProperty; method try_parse (line 99) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type AddressBookSetArguments (line 160) | pub struct AddressBookSetArguments { method deserialize_argument (line 166) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 187) | type Err = (); method from_str (line 189) | fn from_str(s: &str) -> Result { type Property (line 195) | type Property = AddressBookProperty; type Element (line 197) | type Element = AddressBookValue; type Id (line 199) | type Id = Id; type Filter (line 201) | type Filter = (); type Comparator (line 203) | type Comparator = (); type GetArguments (line 205) | type GetArguments = (); type SetArguments (line 207) | type SetArguments<'de> = AddressBookSetArguments; type QueryArguments (line 209) | type QueryArguments = (); type CopyArguments (line 211) | type CopyArguments = (); type ParseArguments (line 213) | type ParseArguments = (); constant ID_PROPERTY (line 215) | const ID_PROPERTY: Self::Property = AddressBookProperty::Id; type Right (line 219) | type Right = AddressBookRight; constant SHARE_WITH_PROPERTY (line 221) | const SHARE_WITH_PROPERTY: Self::Property = AddressBookProperty::ShareWith; type Error (line 231) | type Error = (); method try_from (line 233) | fn try_from(value: AddressBookProperty) -> Result { method as_id (line 261) | fn as_id(&self) -> Option { method as_any_id (line 269) | fn as_any_id(&self) -> Option { method as_id_ref (line 277) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 285) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method to_acl (line 295) | fn to_acl(&self) -> &'static [Acl] { method all_rights (line 304) | fn all_rights() -> &'static [Self] { method as_id (line 321) | fn as_id(&self) -> Option { method as_any_id (line 329) | fn as_any_id(&self) -> Option { method as_id_ref (line 337) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 341) | fn try_set_id(&mut self, new_id: AnyId) -> bool { FILE: crates/jmap-proto/src/object/blob.rs type Blob (line 16) | pub struct Blob; type BlobProperty (line 19) | pub enum BlobProperty { method parse (line 105) | fn parse(value: &str) -> Option { type DigestProperty (line 31) | pub enum DigestProperty { type DataProperty (line 38) | pub enum DataProperty { type BlobValue (line 45) | pub enum BlobValue { method from (line 183) | fn from(id: BlobId) -> Self { method try_parse (line 51) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 55) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 79) | type Property = BlobProperty; method try_parse (line 81) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 124) | type Err = (); method from_str (line 126) | fn from_str(s: &str) -> Result { type BlobGetArguments (line 132) | pub struct BlobGetArguments { method deserialize_argument (line 138) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Property (line 159) | type Property = BlobProperty; type Element (line 161) | type Element = BlobValue; type Id (line 163) | type Id = BlobId; type Filter (line 165) | type Filter = (); type Comparator (line 167) | type Comparator = (); type GetArguments (line 169) | type GetArguments = BlobGetArguments; type SetArguments (line 171) | type SetArguments<'de> = (); type QueryArguments (line 173) | type QueryArguments = (); type CopyArguments (line 175) | type CopyArguments = (); type ParseArguments (line 177) | type ParseArguments = (); constant ID_PROPERTY (line 179) | const ID_PROPERTY: Self::Property = BlobProperty::Id; method as_id (line 189) | fn as_id(&self) -> Option { method as_any_id (line 193) | fn as_any_id(&self) -> Option { method as_id_ref (line 200) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 208) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 218) | fn as_id(&self) -> Option { method as_any_id (line 222) | fn as_any_id(&self) -> Option { method as_id_ref (line 226) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 230) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/calendar.rs type Calendar (line 24) | pub struct Calendar; type CalendarProperty (line 27) | pub enum CalendarProperty { method parse (line 216) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 256) | fn patch_or_prop(&self) -> &CalendarProperty { method from (line 333) | fn from(id: Id) -> Self { method from (line 436) | fn from(right: CalendarRight) -> Self { type CalendarRight (line 58) | pub enum CalendarRight { method as_str (line 136) | pub fn as_str(&self) -> &'static str { type Error (line 351) | type Error = (); method try_from (line 353) | fn try_from(value: CalendarProperty) -> Result { type CalendarValue (line 70) | pub enum CalendarValue { method from (line 363) | fn from(id: Id) -> Self { type IncludeInAvailability (line 83) | pub enum IncludeInAvailability { method parse (line 151) | fn parse(value: &str) -> Option { method as_str (line 159) | pub fn as_str(&self) -> &'static str { method try_parse (line 91) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 105) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 169) | type Property = CalendarProperty; method try_parse (line 171) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type CalendarSetArguments (line 268) | pub struct CalendarSetArguments { method deserialize_argument (line 274) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 295) | type Err = (); method from_str (line 297) | fn from_str(s: &str) -> Result { type Property (line 303) | type Property = CalendarProperty; type Element (line 305) | type Element = CalendarValue; type Id (line 307) | type Id = Id; type Filter (line 309) | type Filter = (); type Comparator (line 311) | type Comparator = (); type GetArguments (line 313) | type GetArguments = (); type SetArguments (line 315) | type SetArguments<'de> = CalendarSetArguments; type QueryArguments (line 317) | type QueryArguments = (); type CopyArguments (line 319) | type CopyArguments = (); type ParseArguments (line 321) | type ParseArguments = (); constant ID_PROPERTY (line 323) | const ID_PROPERTY: Self::Property = CalendarProperty::Id; type Right (line 327) | type Right = CalendarRight; constant SHARE_WITH_PROPERTY (line 329) | const SHARE_WITH_PROPERTY: Self::Property = CalendarProperty::ShareWith; type Error (line 339) | type Error = (); method try_from (line 341) | fn try_from(value: CalendarProperty) -> Result { method as_id (line 369) | fn as_id(&self) -> Option { method as_any_id (line 377) | fn as_any_id(&self) -> Option { method as_id_ref (line 385) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 393) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method to_acl (line 403) | fn to_acl(&self) -> &'static [Acl] { method all_rights (line 421) | fn all_rights() -> &'static [Self] { method as_id (line 442) | fn as_id(&self) -> Option { method as_any_id (line 450) | fn as_any_id(&self) -> Option { method as_id_ref (line 458) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 462) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method fmt (line 472) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/calendar_event.rs type CalendarEvent (line 21) | pub struct CalendarEvent; type Property (line 24) | type Property = JSCalendarProperty; type Element (line 26) | type Element = JSCalendarValue; type Id (line 28) | type Id = Id; type Filter (line 30) | type Filter = CalendarEventFilter; type Comparator (line 32) | type Comparator = CalendarEventComparator; type GetArguments (line 34) | type GetArguments = CalendarEventGetArguments; type SetArguments (line 36) | type SetArguments<'de> = CalendarEventSetArguments; type QueryArguments (line 38) | type QueryArguments = CalendarEventQueryArguments; type CopyArguments (line 40) | type CopyArguments = (); type ParseArguments (line 42) | type ParseArguments = (); constant ID_PROPERTY (line 44) | const ID_PROPERTY: Self::Property = JSCalendarProperty::Id; method as_id (line 48) | fn as_id(&self) -> Option { method as_any_id (line 56) | fn as_any_id(&self) -> Option { method as_id_ref (line 64) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 71) | fn try_set_id(&mut self, new_id: AnyId) -> bool { type CalendarEventFilter (line 82) | pub enum CalendarEventFilter { method deserialize_argument (line 126) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 268) | pub fn into_string(self) -> Cow<'static, str> { type CalendarEventComparator (line 97) | pub enum CalendarEventComparator { method deserialize_argument (line 171) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 287) | pub fn into_string(self) -> Cow<'static, str> { type CalendarEventGetArguments (line 107) | pub struct CalendarEventGetArguments { method deserialize_argument (line 205) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type CalendarEventSetArguments (line 115) | pub struct CalendarEventSetArguments { method deserialize_argument (line 231) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type CalendarEventQueryArguments (line 120) | pub struct CalendarEventQueryArguments { method deserialize_argument (line 248) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 301) | fn default() -> Self { method default (line 307) | fn default() -> Self { type LocalTime (line 312) | struct LocalTime(JSCalendarDateTime); method deserialize (line 315) | fn deserialize(deserializer: D) -> Result method as_id (line 336) | fn as_id(&self) -> Option { method as_any_id (line 344) | fn as_any_id(&self) -> Option { method as_id_ref (line 352) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 371) | fn try_set_id(&mut self, new_id: AnyId) -> bool { FILE: crates/jmap-proto/src/object/calendar_event_notification.rs type CalendarEventNotification (line 19) | pub struct CalendarEventNotification; type CalendarEventNotificationObject (line 23) | pub struct CalendarEventNotificationObject { type PersonObject (line 54) | pub struct PersonObject { type CalendarEventNotificationGetResponse (line 65) | pub struct CalendarEventNotificationGetResponse { type CalendarEventNotificationProperty (line 80) | pub enum CalendarEventNotificationProperty { method parse (line 179) | fn parse(value: &str) -> Option { type CalendarEventNotificationValue (line 93) | pub enum CalendarEventNotificationValue { method from (line 344) | fn from(id: Id) -> Self { type CalendarEventNotificationType (line 100) | pub enum CalendarEventNotificationType { method parse (line 161) | fn parse(value: &str) -> Option { method as_str (line 169) | pub fn as_str(&self) -> &'static str { method deserialize (line 291) | fn deserialize(deserializer: D) -> Result method serialize (line 394) | fn serialize(&self, serializer: S) -> Result method try_parse (line 107) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 111) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 128) | type Property = CalendarEventNotificationProperty; method try_parse (line 130) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 195) | type Err = (); method from_str (line 197) | fn from_str(s: &str) -> Result { type Property (line 203) | type Property = CalendarEventNotificationProperty; type Element (line 205) | type Element = CalendarEventNotificationValue; type Id (line 207) | type Id = Id; type Filter (line 209) | type Filter = CalendarEventNotificationFilter; type Comparator (line 211) | type Comparator = CalendarEventNotificationComparator; type GetArguments (line 213) | type GetArguments = (); type SetArguments (line 215) | type SetArguments<'de> = (); type QueryArguments (line 217) | type QueryArguments = (); type CopyArguments (line 219) | type CopyArguments = (); type ParseArguments (line 221) | type ParseArguments = (); constant ID_PROPERTY (line 223) | const ID_PROPERTY: Self::Property = CalendarEventNotificationProperty::Id; type CalendarEventNotificationFilter (line 227) | pub enum CalendarEventNotificationFilter { method deserialize_argument (line 242) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 301) | pub fn into_string(self) -> Cow<'static, str> { type CalendarEventNotificationComparator (line 236) | pub enum CalendarEventNotificationComparator { method deserialize_argument (line 269) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 314) | pub fn into_string(self) -> Cow<'static, str> { method default (line 324) | fn default() -> Self { method default (line 330) | fn default() -> Self { type Error (line 336) | type Error = (); method try_from (line 338) | fn try_from(_: CalendarEventNotificationProperty) -> Result Option { method as_any_id (line 358) | fn as_any_id(&self) -> Option { method as_id_ref (line 366) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 370) | fn try_set_id(&mut self, _: AnyId) -> bool { method as_id (line 376) | fn as_id(&self) -> Option { method as_any_id (line 380) | fn as_any_id(&self) -> Option { method as_id_ref (line 384) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 388) | fn try_set_id(&mut self, _: AnyId) -> bool { method fmt (line 403) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/contact.rs type ContactCard (line 18) | pub struct ContactCard; type Property (line 21) | type Property = JSContactProperty; type Element (line 23) | type Element = JSContactValue; type Id (line 25) | type Id = Id; type Filter (line 27) | type Filter = ContactCardFilter; type Comparator (line 29) | type Comparator = ContactCardComparator; type GetArguments (line 31) | type GetArguments = (); type SetArguments (line 33) | type SetArguments<'de> = (); type QueryArguments (line 35) | type QueryArguments = (); type CopyArguments (line 37) | type CopyArguments = (); type ParseArguments (line 39) | type ParseArguments = (); constant ID_PROPERTY (line 41) | const ID_PROPERTY: Self::Property = JSContactProperty::Id; method as_id (line 45) | fn as_id(&self) -> Option { method as_any_id (line 53) | fn as_any_id(&self) -> Option { method as_id_ref (line 61) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 68) | fn try_set_id(&mut self, new_id: AnyId) -> bool { type ContactCardFilter (line 83) | pub enum ContactCardFilter { method deserialize_argument (line 118) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 227) | pub fn into_string(self) -> Cow<'static, str> { type ContactCardComparator (line 108) | pub enum ContactCardComparator { method deserialize_argument (line 193) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 256) | pub fn into_string(self) -> Cow<'static, str> { method default (line 270) | fn default() -> Self { method default (line 276) | fn default() -> Self { method as_id (line 282) | fn as_id(&self) -> Option { method as_any_id (line 290) | fn as_any_id(&self) -> Option { method as_id_ref (line 298) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 319) | fn try_set_id(&mut self, new_id: AnyId) -> bool { FILE: crates/jmap-proto/src/object/email.rs type Email (line 20) | pub struct Email; type EmailProperty (line 23) | pub enum EmailProperty { method parse (line 222) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 276) | fn patch_or_prop(&self) -> &EmailProperty { method as_rfc_header (line 286) | pub fn as_rfc_header(&self) -> HeaderName<'static> { method try_into_id (line 303) | pub fn try_into_id(self) -> Option { method try_into_keyword (line 310) | pub fn try_into_keyword(self) -> Option { type HeaderProperty (line 85) | pub struct HeaderProperty { method parse (line 319) | fn parse(value: &str) -> Option { type HeaderForm (line 92) | pub enum HeaderForm { type EmailValue (line 103) | pub enum EmailValue { method from (line 901) | fn from(id: Id) -> Self { method from (line 907) | fn from(id: BlobId) -> Self { method from (line 913) | fn from(date: UTCDate) -> Self { method try_parse (line 111) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 128) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 181) | type Property = EmailProperty; method try_parse (line 183) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { method fmt (line 362) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { method fmt (line 370) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { type Err (line 384) | type Err = (); method from_str (line 386) | fn from_str(s: &str) -> Result { type EmailGetArguments (line 392) | pub struct EmailGetArguments { method deserialize_argument (line 415) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type EmailQueryArguments (line 401) | pub struct EmailQueryArguments { method deserialize_argument (line 445) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type EmailParseArguments (line 406) | pub struct EmailParseArguments { method deserialize_argument (line 460) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Property (line 490) | type Property = EmailProperty; type Element (line 492) | type Element = EmailValue; type Id (line 494) | type Id = Id; type Filter (line 496) | type Filter = EmailFilter; type Comparator (line 498) | type Comparator = EmailComparator; type GetArguments (line 500) | type GetArguments = EmailGetArguments; type SetArguments (line 502) | type SetArguments<'de> = (); type QueryArguments (line 504) | type QueryArguments = EmailQueryArguments; type CopyArguments (line 506) | type CopyArguments = (); type ParseArguments (line 508) | type ParseArguments = EmailParseArguments; constant ID_PROPERTY (line 510) | const ID_PROPERTY: Self::Property = EmailProperty::Id; type EmailFilter (line 514) | pub enum EmailFilter { method deserialize_argument (line 559) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method is_immutable (line 818) | pub fn is_immutable(&self) -> bool { type EmailComparator (line 543) | pub enum EmailComparator { method deserialize_argument (line 647) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method take_keyword (line 726) | fn take_keyword(&mut self) -> Keyword { method as_str (line 781) | pub fn as_str(&self) -> &str { method is_immutable (line 848) | pub fn is_immutable(&self) -> bool { method default (line 714) | fn default() -> Self { method default (line 720) | fn default() -> Self { method fmt (line 743) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 775) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method serialize (line 800) | fn serialize(&self, serializer: S) -> Result function is_immutable (line 809) | pub fn is_immutable(&self) -> bool { function is_immutable (line 842) | pub fn is_immutable(&self) -> bool { method as_id (line 863) | fn as_id(&self) -> Option { method as_any_id (line 871) | fn as_any_id(&self) -> Option { method as_id_ref (line 879) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 887) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 919) | fn as_id(&self) -> Option { method as_any_id (line 927) | fn as_any_id(&self) -> Option { method as_id_ref (line 935) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 952) | fn try_set_id(&mut self, new_id: AnyId) -> bool { FILE: crates/jmap-proto/src/object/email_submission.rs type EmailSubmission (line 22) | pub struct EmailSubmission; type EmailSubmissionProperty (line 25) | pub enum EmailSubmissionProperty { method parse (line 165) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 194) | fn patch_or_prop(&self) -> &EmailSubmissionProperty { type EmailSubmissionValue (line 48) | pub enum EmailSubmissionValue { method from (line 425) | fn from(id: Id) -> Self { type UndoStatus (line 59) | pub enum UndoStatus { method parse (line 206) | fn parse(value: &str) -> Option { method as_str (line 214) | fn as_str(&self) -> &'static str { method deserialize (line 296) | fn deserialize(deserializer: D) -> Result type Delivered (line 66) | pub enum Delivered { method parse (line 224) | fn parse(value: &str) -> Option { method as_str (line 233) | fn as_str(&self) -> &'static str { type Displayed (line 74) | pub enum Displayed { method parse (line 244) | fn parse(value: &str) -> Option { method as_str (line 251) | fn as_str(&self) -> &'static str { method try_parse (line 80) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 84) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 112) | type Property = EmailSubmissionProperty; method try_parse (line 114) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type EmailSubmissionSetArguments (line 260) | pub struct EmailSubmissionSetArguments<'x> { function deserialize_argument (line 267) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... type Err (line 288) | type Err = (); method from_str (line 290) | fn from_str(s: &str) -> Result { type Property (line 306) | type Property = EmailSubmissionProperty; type Element (line 308) | type Element = EmailSubmissionValue; type Id (line 310) | type Id = Id; type Filter (line 312) | type Filter = EmailSubmissionFilter; type Comparator (line 314) | type Comparator = EmailSubmissionComparator; type GetArguments (line 316) | type GetArguments = (); type SetArguments (line 318) | type SetArguments<'de> = EmailSubmissionSetArguments<'de>; type QueryArguments (line 320) | type QueryArguments = (); type CopyArguments (line 322) | type CopyArguments = (); type ParseArguments (line 324) | type ParseArguments = (); constant ID_PROPERTY (line 326) | const ID_PROPERTY: Self::Property = EmailSubmissionProperty::Id; type EmailSubmissionFilter (line 330) | pub enum EmailSubmissionFilter { method deserialize_argument (line 349) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type EmailSubmissionComparator (line 341) | pub enum EmailSubmissionComparator { method deserialize_argument (line 383) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 413) | fn default() -> Self { method default (line 419) | fn default() -> Self { method as_id (line 431) | fn as_id(&self) -> Option { method as_any_id (line 438) | fn as_any_id(&self) -> Option { method as_id_ref (line 446) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 454) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 468) | fn as_id(&self) -> Option { method as_any_id (line 472) | fn as_any_id(&self) -> Option { method as_id_ref (line 476) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 480) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/file_node.rs type FileNode (line 20) | pub struct FileNode; type FileNodeProperty (line 23) | pub enum FileNodeProperty { method parse (line 146) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 174) | fn patch_or_prop(&self) -> &FileNodeProperty { method from (line 264) | fn from(id: Id) -> Self { method from (line 294) | fn from(right: FileNodeRight) -> Self { type FileNodeRight (line 45) | pub enum FileNodeRight { method as_str (line 98) | pub fn as_str(&self) -> &'static str { type Error (line 576) | type Error = (); method try_from (line 578) | fn try_from(value: FileNodeProperty) -> Result { type FileNodeValue (line 52) | pub enum FileNodeValue { method from (line 458) | fn from(id: Id) -> Self { method try_parse (line 60) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 74) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 108) | type Property = FileNodeProperty; method try_parse (line 110) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type FileNodeSetArguments (line 186) | pub struct FileNodeSetArguments { method deserialize_argument (line 191) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type FileNodeQueryArguments (line 206) | pub struct FileNodeQueryArguments { method deserialize_argument (line 211) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 226) | type Err = (); method from_str (line 228) | fn from_str(s: &str) -> Result { type Property (line 234) | type Property = FileNodeProperty; type Element (line 236) | type Element = FileNodeValue; type Id (line 238) | type Id = Id; type Filter (line 240) | type Filter = FileNodeFilter; type Comparator (line 242) | type Comparator = FileNodeComparator; type GetArguments (line 244) | type GetArguments = (); type SetArguments (line 246) | type SetArguments<'de> = FileNodeSetArguments; type QueryArguments (line 248) | type QueryArguments = FileNodeQueryArguments; type CopyArguments (line 250) | type CopyArguments = (); type ParseArguments (line 252) | type ParseArguments = (); constant ID_PROPERTY (line 254) | const ID_PROPERTY: Self::Property = FileNodeProperty::Id; type Right (line 258) | type Right = FileNodeRight; constant SHARE_WITH_PROPERTY (line 260) | const SHARE_WITH_PROPERTY: Self::Property = FileNodeProperty::ShareWith; method to_acl (line 270) | fn to_acl(&self) -> &'static [Acl] { method all_rights (line 284) | fn all_rights() -> &'static [Self] { type FileNodeFilter (line 300) | pub enum FileNodeFilter { method deserialize_argument (line 335) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 501) | pub fn into_string(self) -> Cow<'static, str> { type FileNodeComparator (line 325) | pub enum FileNodeComparator { method deserialize_argument (line 411) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method as_str (line 530) | pub fn as_str(&self) -> &str { method into_string (line 541) | pub fn into_string(self) -> Cow<'static, str> { method serialize (line 555) | fn serialize(&self, serializer: S) -> Result method default (line 446) | fn default() -> Self { method default (line 452) | fn default() -> Self { method as_id (line 464) | fn as_id(&self) -> Option { method as_any_id (line 471) | fn as_any_id(&self) -> Option { method as_id_ref (line 479) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 487) | fn try_set_id(&mut self, new_id: AnyId) -> bool { type Error (line 564) | type Error = (); method try_from (line 566) | fn try_from(value: FileNodeProperty) -> Result { method as_id (line 588) | fn as_id(&self) -> Option { method as_any_id (line 596) | fn as_any_id(&self) -> Option { method as_id_ref (line 604) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 608) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method fmt (line 619) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/identity.rs type Identity (line 13) | pub struct Identity; type IdentityProperty (line 16) | pub enum IdentityProperty { method parse (line 78) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 98) | fn patch_or_prop(&self) -> &IdentityProperty { type IdentityValue (line 31) | pub enum IdentityValue { method from (line 142) | fn from(id: Id) -> Self { method try_parse (line 36) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 40) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 57) | type Property = IdentityProperty; method try_parse (line 59) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 110) | type Err = (); method from_str (line 112) | fn from_str(s: &str) -> Result { type Property (line 118) | type Property = IdentityProperty; type Element (line 120) | type Element = IdentityValue; type Id (line 122) | type Id = Id; type Filter (line 124) | type Filter = (); type Comparator (line 126) | type Comparator = (); type GetArguments (line 128) | type GetArguments = (); type SetArguments (line 130) | type SetArguments<'de> = (); type QueryArguments (line 132) | type QueryArguments = (); type CopyArguments (line 134) | type CopyArguments = (); type ParseArguments (line 136) | type ParseArguments = (); constant ID_PROPERTY (line 138) | const ID_PROPERTY: Self::Property = IdentityProperty::Id; method as_id (line 148) | fn as_id(&self) -> Option { method as_any_id (line 154) | fn as_any_id(&self) -> Option { method as_id_ref (line 160) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 164) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 175) | fn as_id(&self) -> Option { method as_any_id (line 179) | fn as_any_id(&self) -> Option { method as_id_ref (line 183) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 187) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/mailbox.rs type Mailbox (line 18) | pub struct Mailbox; type MailboxProperty (line 21) | pub enum MailboxProperty { method parse (line 145) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 179) | fn patch_or_prop(&self) -> &MailboxProperty { method from (line 276) | fn from(id: Id) -> Self { method from (line 482) | fn from(right: MailboxRight) -> Self { type MailboxRight (line 42) | pub enum MailboxRight { method as_str (line 100) | pub fn as_str(&self) -> &'static str { type Error (line 294) | type Error = (); method try_from (line 296) | fn try_from(value: MailboxProperty) -> Result { type MailboxValue (line 56) | pub enum MailboxValue { method from (line 409) | fn from(id: Id) -> Self { method try_parse (line 63) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 77) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 117) | type Property = MailboxProperty; method try_parse (line 119) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type MailboxSetArguments (line 191) | pub struct MailboxSetArguments { method deserialize_argument (line 202) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type MailboxQueryArguments (line 196) | pub struct MailboxQueryArguments { method deserialize_argument (line 217) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 238) | type Err = (); method from_str (line 240) | fn from_str(s: &str) -> Result { type Property (line 246) | type Property = MailboxProperty; type Element (line 248) | type Element = MailboxValue; type Id (line 250) | type Id = Id; type Filter (line 252) | type Filter = MailboxFilter; type Comparator (line 254) | type Comparator = MailboxComparator; type GetArguments (line 256) | type GetArguments = (); type SetArguments (line 258) | type SetArguments<'de> = MailboxSetArguments; type QueryArguments (line 260) | type QueryArguments = MailboxQueryArguments; type CopyArguments (line 262) | type CopyArguments = (); type ParseArguments (line 264) | type ParseArguments = (); constant ID_PROPERTY (line 266) | const ID_PROPERTY: Self::Property = MailboxProperty::Id; type Right (line 270) | type Right = MailboxRight; constant SHARE_WITH_PROPERTY (line 272) | const SHARE_WITH_PROPERTY: Self::Property = MailboxProperty::ShareWith; type Error (line 282) | type Error = (); method try_from (line 284) | fn try_from(value: MailboxProperty) -> Result { type MailboxFilter (line 306) | pub enum MailboxFilter { method deserialize_argument (line 324) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type MailboxComparator (line 316) | pub enum MailboxComparator { method deserialize_argument (line 355) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 384) | fn default() -> Self { method default (line 390) | fn default() -> Self { type RoleWrapper (line 395) | struct RoleWrapper(SpecialUse); method deserialize (line 398) | fn deserialize(deserializer: D) -> Result method as_id (line 415) | fn as_id(&self) -> Option { method as_any_id (line 423) | fn as_any_id(&self) -> Option { method as_id_ref (line 431) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 439) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method to_acl (line 450) | fn to_acl(&self) -> &'static [Acl] { method all_rights (line 465) | fn all_rights() -> &'static [Self] { method as_id (line 488) | fn as_id(&self) -> Option { method as_any_id (line 496) | fn as_any_id(&self) -> Option { method as_id_ref (line 504) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 508) | fn try_set_id(&mut self, new_id: AnyId) -> bool { FILE: crates/jmap-proto/src/object/mod.rs type JmapObject (line 34) | pub trait JmapObject: std::fmt::Debug { constant ID_PROPERTY (line 48) | const ID_PROPERTY: Self::Property; type Property (line 152) | type Property = Null; type Element (line 153) | type Element = Null; type Id (line 154) | type Id = Null; type Filter (line 156) | type Filter = (); type Comparator (line 157) | type Comparator = (); type GetArguments (line 159) | type GetArguments = (); type SetArguments (line 160) | type SetArguments<'de> = (); type QueryArguments (line 161) | type QueryArguments = (); type CopyArguments (line 162) | type CopyArguments = (); type ParseArguments (line 163) | type ParseArguments = (); constant ID_PROPERTY (line 165) | const ID_PROPERTY: Self::Property = Null; type JmapSharedObject (line 51) | pub trait JmapSharedObject: JmapObject { constant SHARE_WITH_PROPERTY (line 54) | const SHARE_WITH_PROPERTY: Self::Property; type JmapRight (line 57) | pub trait JmapRight: Clone + Copy + Sized + 'static { method all_rights (line 58) | fn all_rights() -> &'static [Self]; method to_acl (line 59) | fn to_acl(&self) -> &'static [Acl]; method all_rights (line 169) | fn all_rights() -> &'static [Self] { method to_acl (line 173) | fn to_acl(&self) -> &'static [Acl] { type AnyId (line 64) | pub enum AnyId { method from (line 94) | fn from(value: Id) -> Self { method from (line 100) | fn from(value: BlobId) -> Self { method deserialize (line 130) | fn deserialize(deserializer: D) -> Result type JmapObjectId (line 69) | pub trait JmapObjectId { method as_id (line 70) | fn as_id(&self) -> Option; method as_any_id (line 71) | fn as_any_id(&self) -> Option; method as_id_ref (line 72) | fn as_id_ref(&self) -> Option<&str>; method try_set_id (line 73) | fn try_set_id(&mut self, new_id: AnyId) -> bool; method as_id (line 187) | fn as_id(&self) -> Option { method as_any_id (line 191) | fn as_any_id(&self) -> Option { method as_id_ref (line 195) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 199) | fn try_set_id(&mut self, _: AnyId) -> bool { type MaybeReference (line 77) | enum MaybeReference { function parse_ref (line 83) | fn parse_ref(value: &str) -> MaybeReference { type Error (line 106) | type Error = (); method try_from (line 108) | fn try_from(value: AnyId) -> Result { type Error (line 118) | type Error = (); method try_from (line 120) | fn try_from(value: AnyId) -> Result { type NullObject (line 149) | pub struct NullObject; type Err (line 179) | type Err = (); method from_str (line 181) | fn from_str(_: &str) -> Result { type Error (line 205) | type Error = (); method try_from (line 207) | fn try_from(_: AnyId) -> Result { FILE: crates/jmap-proto/src/object/participant_identity.rs type ParticipantIdentity (line 16) | pub struct ParticipantIdentity; type ParticipantIdentityProperty (line 19) | pub enum ParticipantIdentityProperty { method parse (line 71) | fn parse(value: &str) -> Option { method as_str (line 80) | fn as_str(&self) -> &'static str { type ParticipantIdentityValue (line 27) | pub enum ParticipantIdentityValue { method from (line 154) | fn from(id: Id) -> Self { method try_parse (line 32) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 36) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 48) | type Property = ParticipantIdentityProperty; method try_parse (line 50) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type ParticipantIdentitySetArguments (line 91) | pub struct ParticipantIdentitySetArguments { method deserialize_argument (line 96) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 114) | type Err = (); method from_str (line 116) | fn from_str(s: &str) -> Result { type Property (line 122) | type Property = ParticipantIdentityProperty; type Element (line 124) | type Element = ParticipantIdentityValue; type Id (line 126) | type Id = Id; type Filter (line 128) | type Filter = (); type Comparator (line 130) | type Comparator = (); type GetArguments (line 132) | type GetArguments = (); type SetArguments (line 134) | type SetArguments<'de> = ParticipantIdentitySetArguments; type QueryArguments (line 136) | type QueryArguments = (); type CopyArguments (line 138) | type CopyArguments = (); type ParseArguments (line 140) | type ParseArguments = (); constant ID_PROPERTY (line 142) | const ID_PROPERTY: Self::Property = ParticipantIdentityProperty::Id; type Error (line 146) | type Error = (); method try_from (line 148) | fn try_from(_: ParticipantIdentityProperty) -> Result { method as_id (line 160) | fn as_id(&self) -> Option { method as_any_id (line 165) | fn as_any_id(&self) -> Option { method as_id_ref (line 170) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 174) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 184) | fn as_id(&self) -> Option { method as_any_id (line 188) | fn as_any_id(&self) -> Option { method as_id_ref (line 192) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 196) | fn try_set_id(&mut self, _: AnyId) -> bool { method fmt (line 202) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/principal.rs type Principal (line 17) | pub struct Principal; type PrincipalProperty (line 20) | pub enum PrincipalProperty { method parse (line 94) | pub fn parse(value: &str) -> Option { method as_str (line 107) | pub fn as_str(&self) -> &'static str { type PrincipalValue (line 34) | pub enum PrincipalValue { method from (line 282) | fn from(id: Id) -> Self { type PrincipalType (line 40) | pub enum PrincipalType { method parse (line 124) | pub fn parse(s: &str) -> Option { method as_str (line 134) | pub fn as_str(&self) -> &'static str { method deserialize (line 272) | fn deserialize(deserializer: D) -> Result method try_parse (line 49) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 53) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 71) | type Property = PrincipalProperty; method try_parse (line 73) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 146) | type Err = (); method from_str (line 148) | fn from_str(s: &str) -> Result { type Property (line 154) | type Property = PrincipalProperty; type Element (line 156) | type Element = PrincipalValue; type Id (line 158) | type Id = Id; type Filter (line 160) | type Filter = PrincipalFilter; type Comparator (line 162) | type Comparator = PrincipalComparator; type GetArguments (line 164) | type GetArguments = (); type SetArguments (line 166) | type SetArguments<'de> = (); type QueryArguments (line 168) | type QueryArguments = (); type CopyArguments (line 170) | type CopyArguments = (); type ParseArguments (line 172) | type ParseArguments = (); constant ID_PROPERTY (line 174) | const ID_PROPERTY: Self::Property = PrincipalProperty::Id; type PrincipalFilter (line 178) | pub enum PrincipalFilter { method deserialize_argument (line 197) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type PrincipalComparator (line 189) | pub enum PrincipalComparator { method deserialize_argument (line 231) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 260) | fn default() -> Self { method default (line 266) | fn default() -> Self { method as_id (line 288) | fn as_id(&self) -> Option { method as_any_id (line 296) | fn as_any_id(&self) -> Option { method as_id_ref (line 304) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 308) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method fmt (line 319) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method as_id (line 333) | fn as_id(&self) -> Option { method as_any_id (line 337) | fn as_any_id(&self) -> Option { method as_id_ref (line 341) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 345) | fn try_set_id(&mut self, _: AnyId) -> bool { method fmt (line 351) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/push_subscription.rs type PushSubscription (line 16) | pub struct PushSubscription; type PushSubscriptionProperty (line 19) | pub enum PushSubscriptionProperty { method parse (line 66) | fn parse(value: &str, allow_patch: bool) -> Option { method patch_or_prop (line 87) | fn patch_or_prop(&self) -> &PushSubscriptionProperty { type PushSubscriptionValue (line 35) | pub enum PushSubscriptionValue { method from (line 162) | fn from(id: Id) -> Self { method try_parse (line 42) | fn try_parse(key: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 46) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 99) | type Property = PushSubscriptionProperty; method try_parse (line 101) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 130) | type Err = (); method from_str (line 132) | fn from_str(s: &str) -> Result { type Property (line 138) | type Property = PushSubscriptionProperty; type Element (line 140) | type Element = PushSubscriptionValue; type Id (line 142) | type Id = Id; type Filter (line 144) | type Filter = (); type Comparator (line 146) | type Comparator = (); type GetArguments (line 148) | type GetArguments = (); type SetArguments (line 150) | type SetArguments<'de> = (); type QueryArguments (line 152) | type QueryArguments = (); type CopyArguments (line 154) | type CopyArguments = (); type ParseArguments (line 156) | type ParseArguments = (); constant ID_PROPERTY (line 158) | const ID_PROPERTY: Self::Property = PushSubscriptionProperty::Id; method as_id (line 168) | fn as_id(&self) -> Option { method as_any_id (line 175) | fn as_any_id(&self) -> Option { method as_id_ref (line 182) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 186) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 197) | fn as_id(&self) -> Option { method as_any_id (line 201) | fn as_any_id(&self) -> Option { method as_id_ref (line 205) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 209) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/quota.rs type Quota (line 16) | pub struct Quota; type QuotaProperty (line 19) | pub enum QuotaProperty { method parse (line 61) | fn parse(value: &str) -> Option { type QuotaValue (line 33) | pub enum QuotaValue { method from (line 219) | fn from(id: Id) -> Self { method try_parse (line 39) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 43) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 78) | type Property = QuotaProperty; method try_parse (line 80) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 101) | type Err = (); method from_str (line 103) | fn from_str(s: &str) -> Result { type Property (line 109) | type Property = QuotaProperty; type Element (line 111) | type Element = QuotaValue; type Id (line 113) | type Id = Id; type Filter (line 115) | type Filter = QuotaFilter; type Comparator (line 117) | type Comparator = QuotaComparator; type GetArguments (line 119) | type GetArguments = (); type SetArguments (line 121) | type SetArguments<'de> = (); type QueryArguments (line 123) | type QueryArguments = (); type CopyArguments (line 125) | type CopyArguments = (); type ParseArguments (line 127) | type ParseArguments = (); constant ID_PROPERTY (line 129) | const ID_PROPERTY: Self::Property = QuotaProperty::Id; type QuotaFilter (line 133) | pub enum QuotaFilter { method deserialize_argument (line 150) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type QuotaComparator (line 142) | pub enum QuotaComparator { method deserialize_argument (line 178) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 207) | fn default() -> Self { method default (line 213) | fn default() -> Self { method as_id (line 225) | fn as_id(&self) -> Option { method as_any_id (line 233) | fn as_any_id(&self) -> Option { method as_id_ref (line 237) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 241) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 252) | fn as_id(&self) -> Option { method as_any_id (line 256) | fn as_any_id(&self) -> Option { method as_id_ref (line 260) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 264) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/search_snippet.rs type SearchSnippet (line 12) | pub struct SearchSnippet; type SearchSnippetProperty (line 16) | pub enum SearchSnippetProperty { method parse (line 66) | fn parse(value: &str) -> Option { type SearchSnippetValue (line 23) | pub enum SearchSnippetValue { method try_parse (line 28) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 32) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 43) | type Property = SearchSnippetProperty; method try_parse (line 45) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { FILE: crates/jmap-proto/src/object/share_notification.rs type ShareNotification (line 17) | pub struct ShareNotification; type ShareNotificationProperty (line 20) | pub enum ShareNotificationProperty { method parse (line 98) | fn parse(value: &str) -> Option { type ShareNotificationValue (line 36) | pub enum ShareNotificationValue { method from (line 255) | fn from(id: Id) -> Self { method try_parse (line 43) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 47) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 67) | type Property = ShareNotificationProperty; method try_parse (line 69) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 116) | type Err = (); method from_str (line 118) | fn from_str(s: &str) -> Result { type Property (line 124) | type Property = ShareNotificationProperty; type Element (line 126) | type Element = ShareNotificationValue; type Id (line 128) | type Id = Id; type Filter (line 130) | type Filter = ShareNotificationFilter; type Comparator (line 132) | type Comparator = ShareNotificationComparator; type GetArguments (line 134) | type GetArguments = (); type SetArguments (line 136) | type SetArguments<'de> = (); type QueryArguments (line 138) | type QueryArguments = (); type CopyArguments (line 140) | type CopyArguments = (); type ParseArguments (line 142) | type ParseArguments = (); constant ID_PROPERTY (line 144) | const ID_PROPERTY: Self::Property = ShareNotificationProperty::Id; type ShareNotificationFilter (line 148) | pub enum ShareNotificationFilter { method deserialize_argument (line 163) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 212) | pub fn into_string(self) -> Cow<'static, str> { type ShareNotificationComparator (line 157) | pub enum ShareNotificationComparator { method deserialize_argument (line 190) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method into_string (line 225) | pub fn into_string(self) -> Cow<'static, str> { method default (line 235) | fn default() -> Self { method default (line 241) | fn default() -> Self { type Error (line 247) | type Error = (); method try_from (line 249) | fn try_from(_: ShareNotificationProperty) -> Result { method as_id (line 261) | fn as_id(&self) -> Option { method as_any_id (line 269) | fn as_any_id(&self) -> Option { method as_id_ref (line 277) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 281) | fn try_set_id(&mut self, _: AnyId) -> bool { method as_id (line 287) | fn as_id(&self) -> Option { method as_any_id (line 291) | fn as_any_id(&self) -> Option { method as_id_ref (line 295) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 299) | fn try_set_id(&mut self, _: AnyId) -> bool { method fmt (line 305) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/object/sieve.rs type Sieve (line 16) | pub struct Sieve; type SieveProperty (line 19) | pub enum SieveProperty { method parse (line 82) | fn parse(value: &str) -> Option { type SieveValue (line 27) | pub enum SieveValue { method from (line 226) | fn from(id: Id) -> Self { method try_parse (line 34) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 38) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 50) | type Property = SieveProperty; method try_parse (line 52) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type SieveSetArguments (line 93) | pub struct SieveSetArguments { method deserialize_argument (line 99) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type Err (line 120) | type Err = (); method from_str (line 122) | fn from_str(s: &str) -> Result { type Property (line 128) | type Property = SieveProperty; type Element (line 130) | type Element = SieveValue; type Id (line 132) | type Id = Id; type Filter (line 134) | type Filter = SieveFilter; type Comparator (line 136) | type Comparator = SieveComparator; type GetArguments (line 138) | type GetArguments = (); type SetArguments (line 140) | type SetArguments<'de> = SieveSetArguments; type QueryArguments (line 142) | type QueryArguments = (); type CopyArguments (line 144) | type CopyArguments = (); type ParseArguments (line 146) | type ParseArguments = (); constant ID_PROPERTY (line 148) | const ID_PROPERTY: Self::Property = SieveProperty::Id; type SieveFilter (line 152) | pub enum SieveFilter { method deserialize_argument (line 166) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... type SieveComparator (line 159) | pub enum SieveComparator { method deserialize_argument (line 188) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... method default (line 214) | fn default() -> Self { method default (line 220) | fn default() -> Self { method as_id (line 232) | fn as_id(&self) -> Option { method as_any_id (line 239) | fn as_any_id(&self) -> Option { method as_id_ref (line 247) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 255) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 269) | fn as_id(&self) -> Option { method as_any_id (line 273) | fn as_any_id(&self) -> Option { method as_id_ref (line 277) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 281) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/thread.rs type Thread (line 14) | pub struct Thread; type ThreadProperty (line 17) | pub enum ThreadProperty { method parse (line 60) | fn parse(value: &str) -> Option { type ThreadValue (line 23) | pub enum ThreadValue { method from (line 101) | fn from(id: Id) -> Self { method try_parse (line 28) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 32) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 42) | type Property = ThreadProperty; method try_parse (line 44) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 69) | type Err = (); method from_str (line 71) | fn from_str(s: &str) -> Result { type Property (line 77) | type Property = ThreadProperty; type Element (line 79) | type Element = ThreadValue; type Id (line 81) | type Id = Id; type Filter (line 83) | type Filter = (); type Comparator (line 85) | type Comparator = (); type GetArguments (line 87) | type GetArguments = (); type SetArguments (line 89) | type SetArguments<'de> = (); type QueryArguments (line 91) | type QueryArguments = (); type CopyArguments (line 93) | type CopyArguments = (); type ParseArguments (line 95) | type ParseArguments = (); constant ID_PROPERTY (line 97) | const ID_PROPERTY: Self::Property = ThreadProperty::Id; method as_id (line 107) | fn as_id(&self) -> Option { method as_any_id (line 113) | fn as_any_id(&self) -> Option { method as_id_ref (line 117) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 121) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 132) | fn as_id(&self) -> Option { method as_any_id (line 136) | fn as_any_id(&self) -> Option { method as_id_ref (line 140) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 144) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/object/vacation_response.rs type VacationResponse (line 16) | pub struct VacationResponse; type VacationResponseProperty (line 19) | pub enum VacationResponseProperty { method parse (line 84) | fn parse(value: &str) -> Option { type VacationResponseValue (line 30) | pub enum VacationResponseValue { method from (line 130) | fn from(id: Id) -> Self { method try_parse (line 36) | fn try_parse(_: Option<&Key<'_, Self>>, value: &str) -> Option { method to_cow (line 40) | fn to_cow(&self) -> Cow<'static, str> { type Property (line 55) | type Property = VacationResponseProperty; method try_parse (line 57) | fn try_parse

(key: &Key<'_, Self::Property>, value: &str) -> Option Cow<'static, str> { type Err (line 98) | type Err = (); method from_str (line 100) | fn from_str(s: &str) -> Result { type Property (line 106) | type Property = VacationResponseProperty; type Element (line 108) | type Element = VacationResponseValue; type Id (line 110) | type Id = Id; type Filter (line 112) | type Filter = (); type Comparator (line 114) | type Comparator = (); type GetArguments (line 116) | type GetArguments = (); type SetArguments (line 118) | type SetArguments<'de> = (); type QueryArguments (line 120) | type QueryArguments = (); type CopyArguments (line 122) | type CopyArguments = (); type ParseArguments (line 124) | type ParseArguments = (); constant ID_PROPERTY (line 126) | const ID_PROPERTY: Self::Property = VacationResponseProperty::Id; method as_id (line 136) | fn as_id(&self) -> Option { method as_any_id (line 143) | fn as_any_id(&self) -> Option { method as_id_ref (line 150) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 154) | fn try_set_id(&mut self, new_id: AnyId) -> bool { method as_id (line 165) | fn as_id(&self) -> Option { method as_any_id (line 169) | fn as_any_id(&self) -> Option { method as_id_ref (line 173) | fn as_id_ref(&self) -> Option<&str> { method try_set_id (line 177) | fn try_set_id(&mut self, _: AnyId) -> bool { FILE: crates/jmap-proto/src/references/eval.rs function eval_result_references (line 21) | pub(crate) fn eval_result_references(&self, rr: &ResultReference) -> trc... function eval_id_reference (line 151) | pub(crate) fn eval_id_reference(&self, ir: &str) -> trc::Result { function eval_blob_id_reference (line 161) | pub(crate) fn eval_blob_id_reference(&self, ir: &str) -> trc::Result, results: &mut ... method eval_jptr (line 47) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 71) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 132) | fn eval_jptr(&self, _pointer: JsonPointerIter<'_, Null>, results: &mut... method eval_jptr (line 139) | fn eval_jptr(&self, _pointer: JsonPointerIter<'_, Null>, results: &mut... method eval_jptr (line 146) | fn eval_jptr(&self, _: JsonPointerIter<'_, Null>, results: &mut EvalRe... method eval_jptr (line 153) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 165) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 192) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 204) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 216) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 228) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 240) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 264) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... method eval_jptr (line 276) | fn eval_jptr(&self, mut pointer: JsonPointerIter<'_, Null>, results: &... type EvalResults (line 35) | pub(crate) struct EvalResults(Vec); method into_ids (line 290) | pub fn into_ids>( method into_properties (line 313) | pub fn into_properties( type EvalResult (line 38) | pub(crate) enum EvalResult { FILE: crates/jmap-proto/src/references/mod.rs type Graph (line 15) | pub(crate) enum Graph<'x> { function topological_sort (line 23) | fn topological_sort( function eval_value_references (line 106) | fn eval_value_references() { function eval_property_references (line 273) | fn eval_property_references() { function eval_create_references (line 359) | fn eval_create_references() { FILE: crates/jmap-proto/src/references/resolve.rs function resolve_references (line 33) | pub fn resolve_references(&self, request: &mut RequestMethod) -> trc::Re... type ResolveCreatedReference (line 103) | pub trait ResolveCreatedReference method get_created_id (line 108) | fn get_created_id(&self, id_ref: &str) -> Option; method resolve_self_references (line 110) | fn resolve_self_references(&self, value: &mut Value<'_, P, E>) -> Resu... type ResolveReference (line 137) | pub(crate) trait ResolveReference { method resolve_references (line 138) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 142) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 193) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 237) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 252) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 265) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 293) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... method resolve_references (line 310) | fn resolve_references(&mut self, response: &Response<'_>) -> trc::Resu... function get_created_id (line 352) | fn get_created_id(&self, id_ref: &str) -> Option { FILE: crates/jmap-proto/src/request/capability.rs type Session (line 20) | pub struct Session { method new (line 325) | pub fn new(base_url: impl Into, base_capabilities: &BaseCapabi... method set_state (line 353) | pub fn set_state(&mut self, state: u32) { method api_url (line 357) | pub fn api_url(&self) -> &str { method base_url (line 361) | pub fn base_url(&self) -> &str { type Account (line 45) | pub struct Account { type Capability (line 57) | pub enum Capability { method as_str (line 282) | pub fn as_str(&self) -> &'static str { method all_capabilities (line 303) | pub fn all_capabilities() -> &'static [Capability] { method parse (line 420) | pub fn parse(s: &str) -> Option { type CapabilityIds (line 94) | pub struct CapabilityIds(pub u32); method deserialize (line 443) | fn deserialize(deserializer: D) -> Result type Capabilities (line 99) | pub enum Capabilities { method to_account_capabilities (line 387) | pub fn to_account_capabilities( type CoreCapabilities (line 116) | pub struct CoreCapabilities { type WebSocketCapabilities (line 136) | pub struct WebSocketCapabilities { method new (line 375) | pub fn new(base_url: &str) -> Self { type SieveSessionCapabilities (line 144) | pub struct SieveSessionCapabilities { type SieveAccountCapabilities (line 150) | pub struct SieveAccountCapabilities { type MailCapabilities (line 168) | pub struct MailCapabilities { type SubmissionCapabilities (line 184) | pub struct SubmissionCapabilities { type BlobCapabilities (line 192) | pub struct BlobCapabilities { type CalendarCapabilities (line 204) | pub struct CalendarCapabilities { type ContactsCapabilities (line 220) | pub struct ContactsCapabilities { type PrincipalAvailabilityCapabilities (line 228) | pub struct PrincipalAvailabilityCapabilities { type PrincipalCapabilities (line 234) | pub struct PrincipalCapabilities { type FileNodeCapabilities (line 261) | pub struct FileNodeCapabilities { type EmptyCapabilities (line 273) | pub struct EmptyCapabilities {} type BaseCapabilities (line 276) | pub struct BaseCapabilities { method default (line 367) | fn default() -> Self { FILE: crates/jmap-proto/src/request/deserialize.rs type DeserializeArguments (line 14) | pub trait DeserializeArguments<'de> { method deserialize_argument (line 15) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Resul... function deserialize_argument (line 21) | fn deserialize_argument(&mut self, _key: &str, map: &mut A) -> Result... function deserialize_request (line 30) | pub(crate) fn deserialize_request<'de, T, D>(deserializer: D) -> Result<... FILE: crates/jmap-proto/src/request/method.rs type MethodName (line 10) | pub struct MethodName { method new (line 64) | pub fn new(obj: MethodObject, fnc: MethodFunction) -> Self { method error (line 68) | pub fn error() -> Self { method as_str (line 75) | pub fn as_str(&self) -> &'static str { method parse (line 188) | pub fn parse(s: &str) -> Option { method deserialize (line 331) | fn deserialize(deserializer: D) -> Result method serialize (line 344) | fn serialize(&self, serializer: S) -> Result type MethodObject (line 16) | pub enum MethodObject { type MethodFunction (line 41) | pub enum MethodFunction { method fmt (line 58) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 302) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/jmap-proto/src/request/mod.rs type Request (line 47) | pub struct Request<'x> { type Call (line 54) | pub struct Call { type RequestMethod (line 61) | pub enum RequestMethod<'x> { type GetRequestMethod (line 79) | pub enum GetRequestMethod { type SetRequestMethod (line 103) | pub enum SetRequestMethod<'x> { type CopyRequestMethod (line 122) | pub enum CopyRequestMethod<'x> { type QueryRequestMethod (line 130) | pub enum QueryRequestMethod { type QueryChangesRequestMethod (line 145) | pub enum QueryChangesRequestMethod { type ParseRequestMethod (line 160) | pub enum ParseRequestMethod { type MaybeInvalid (line 167) | pub enum MaybeInvalid { function deserialize (line 173) | fn deserialize(deserializer: D) -> Result method default (line 188) | fn default() -> Self { method default (line 195) | fn default() -> Self { function try_unwrap (line 208) | pub fn try_unwrap(self) -> Option { type IntoValid (line 216) | pub trait IntoValid { method into_valid (line 219) | fn into_valid(self) -> impl Iterator; type Item (line 223) | type Item = T; method into_valid (line 225) | fn into_valid(self) -> impl Iterator { type Item (line 231) | type Item = T; method into_valid (line 233) | fn into_valid(self) -> impl Iterator { type Item (line 239) | type Item = (T, V); method into_valid (line 241) | fn into_valid(self) -> impl Iterator { type Item (line 248) | type Item = (T, V); method into_valid (line 250) | fn into_valid(self) -> impl Iterator { FILE: crates/jmap-proto/src/request/parser.rs function parse (line 23) | pub fn parse(json: &'x [u8], max_calls: usize, max_size: usize) -> trc::... function deserialize_argument (line 44) | fn deserialize_argument(&mut self, key: &str, map: &mut A) -> Result<... type CallVisitor (line 67) | struct CallVisitor; type Value (line 70) | type Value = Call>; method expecting (line 72) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method visit_seq (line 76) | fn visit_seq(self, mut seq: V) -> Result>, ... function invalid (line 668) | fn invalid(err: impl Display) -> Self { function deserialize (line 678) | fn deserialize(deserializer: D) -> Result function deserialize (line 687) | fn deserialize(deserializer: D) -> Result constant TEST (line 699) | const TEST: &str = r#" constant TEST1 (line 720) | const TEST1: &str = r#" constant TEST2 (line 759) | const TEST2: &str = r##" function parse_request (line 852) | fn parse_request() { FILE: crates/jmap-proto/src/request/reference.rs type ResultReference (line 12) | pub struct ResultReference { type MaybeIdReference (line 20) | pub enum MaybeIdReference { type MaybeResultReference (line 27) | pub enum MaybeResultReference { method fmt (line 33) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 43) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function deserialize (line 53) | fn deserialize(deserializer: D) -> Result type Err (line 73) | type Err = V::Err; method from_str (line 75) | fn from_str(s: &str) -> Result { function serialize (line 90) | fn serialize(&self, serializer: S) -> Result method default (line 103) | fn default() -> Self { function unwrap (line 109) | pub fn unwrap(self) -> T { function try_unwrap (line 118) | pub fn try_unwrap(self) -> Option { FILE: crates/jmap-proto/src/request/websocket.rs type WebSocketRequest (line 22) | pub struct WebSocketRequest<'x> { type WebSocketResponse (line 28) | pub struct WebSocketResponse<'x> { type WebSocketResponseType (line 49) | pub enum WebSocketResponseType { type WebSocketPushEnable (line 54) | pub struct WebSocketPushEnable { type WebSocketMessage (line 60) | pub enum WebSocketMessage<'x> { type WebSocketPushObject (line 67) | pub struct WebSocketPushObject { method to_json (line 245) | pub fn to_json(&self) -> String { type WebSocketRequestError (line 77) | pub struct WebSocketRequestError<'x> { type WebSocketRequestErrorType (line 95) | pub enum WebSocketRequestErrorType { type MessageType (line 99) | enum MessageType { method parse (line 195) | fn parse(s: &str) -> Self { function parse (line 107) | pub fn parse(json: &'x [u8], max_calls: usize, max_size: usize) -> trc::... function deserialize (line 127) | fn deserialize(deserializer: D) -> Result type WebSocketMessageVisitor (line 135) | struct WebSocketMessageVisitor; type Value (line 138) | type Value = WebSocketMessage<'de>; method expecting (line 140) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method visit_map (line 144) | fn visit_map(self, mut map: V) -> Result, V::... function from_error (line 206) | pub fn from_error(error: RequestError<'x>, request_id: Option) -... function to_json (line 217) | pub fn to_json(&self) -> String { function from (line 223) | fn from(value: RequestError<'x>) -> Self { function from_response (line 229) | pub fn from_response(response: Response<'x>, request_id: Option)... function to_json (line 239) | pub fn to_json(&self) -> String { FILE: crates/jmap-proto/src/response/mod.rs type ResponseMethod (line 59) | pub enum ResponseMethod<'x> { type GetResponseMethod (line 78) | pub enum GetResponseMethod { type SetResponseMethod (line 103) | pub enum SetResponseMethod { type ChangesResponseMethod (line 123) | pub enum ChangesResponseMethod { type CopyResponseMethod (line 141) | pub enum CopyResponseMethod { type ParseResponseMethod (line 150) | pub enum ParseResponseMethod { type Response (line 157) | pub struct Response<'x> { function new (line 171) | pub fn new(session_state: u32, created_ids: HashMap, capa... function push_response (line 179) | pub fn push_response( function push_error (line 192) | pub fn push_error(&mut self, id: String, err: impl Into Self { function from (line 212) | fn from(result: trc::Result) -> Self { function from (line 221) | fn from(value: GetResponse) -> Self { function from (line 227) | fn from(value: GetResponse) -> Self { function from (line 233) | fn from(value: GetResponse) -> Self { function from (line 239) | fn from(value: GetResponse) -> Self { function from (line 245) | fn from(value: GetResponse) -> Self { function from (line 251) | fn from(value: GetResponse) -> Self { function from (line 257) | fn from(value: GetResponse) -> Self { function from (line 263) | fn from(value: GetResponse) -> Self { function from (line 269) | fn from(value: GetResponse) -> Self { function from (line 275) | fn from(value: GetResponse) -> Self { function from (line 281) | fn from(value: GetResponse) -> Self { function from (line 287) | fn from(value: GetResponse) -> Self { function from (line 293) | fn from(value: GetResponse) -> Self { function from (line 299) | fn from(value: SetResponse) -> Self { function from (line 305) | fn from(value: SetResponse) -> Self { function from (line 311) | fn from(value: SetResponse) -> Self { function from (line 317) | fn from(value: SetResponse) -> Self { function from (line 323) | fn from(value: SetResponse) -> Self { function from (line 329) | fn from(value: SetResponse) -> Self { function from (line 335) | fn from(value: SetResponse) -> Self { function from (line 341) | fn from(value: SetResponse) -> Self { function from (line 347) | fn from(value: SetResponse) -> Self { function from (line 353) | fn from(value: ChangesResponse) -> Self { function from (line 359) | fn from(value: ChangesResponse) -> Self { function from (line 365) | fn from(value: ChangesResponse) -> Self { function from (line 371) | fn from(value: ChangesResponse) -> Self { function from (line 377) | fn from(value: ChangesResponse) -> Self { function from (line 383) | fn from(value: ChangesResponse) -> Self { function from (line 389) | fn from(value: ChangesResponse) -> Self { function from (line 395) | fn from(value: CopyResponse) -> Self { function from (line 401) | fn from(value: CopyBlobResponse) -> Self { function from (line 407) | fn from(value: CopyResponse) -> Self { function from (line 413) | fn from(value: ImportEmailResponse) -> Self { function from (line 419) | fn from(value: ParseResponse) -> Self { function from (line 425) | fn from(value: ParseResponse) -> Self { function from (line 431) | fn from(value: QueryChangesResponse) -> Self { function from (line 437) | fn from(value: QueryResponse) -> Self { function from (line 443) | fn from(value: GetSearchSnippetResponse) -> Self { function from (line 449) | fn from(value: ValidateSieveScriptResponse) -> Self { function from (line 455) | fn from(value: BlobLookupResponse) -> Self { function from (line 461) | fn from(value: BlobUploadResponse) -> Self { function from (line 467) | fn from(value: Value<'x, Null, Null>) -> Self { function from (line 473) | fn from(value: MethodErrorWrapper) -> Self { function from (line 479) | fn from(response: GetResponse) -> Self { function from (line 485) | fn from(response: SetResponse) -> Self { function from (line 491) | fn from(response: ChangesResponse) -> Self { function from (line 497) | fn from(response: GetAvailabilityResponse) -> Self { function from (line 503) | fn from(response: GetResponse) -> Self { function from (line 509) | fn from(response: SetResponse) -> Self { function from (line 515) | fn from(response: ChangesResponse) -> Self { function from (line 521) | fn from(response: ChangesResponse) -> Self { function from (line 527) | fn from(response: SetResponse) -> Self { function from (line 533) | fn from(response: SetResponse) -> Self { function from (line 539) | fn from(response: GetResponse) -> Self { function from (line 545) | fn from(response: ChangesResponse) -> Self { function from (line 551) | fn from(response: SetResponse) -> Self { function from (line 557) | fn from(response: GetResponse) -> Self { function from (line 563) | fn from(response: GetResponse) -> Self { function from (line 569) | fn from(value: ParseResponse) -> Self { function from (line 575) | fn from(value: CopyResponse) -> Self { function from (line 581) | fn from(value: CalendarEventNotificationGetResponse) -> Self { function from (line 587) | fn from(value: SetResponse) -> Self { FILE: crates/jmap-proto/src/response/serialize.rs method serialize (line 12) | fn serialize(&self, serializer: S) -> Result function serialize_hex (line 24) | pub fn serialize_hex(value: &u32, serializer: S) -> Result Self { method is_valid (line 149) | pub fn is_valid(&self) -> bool { method timestamp (line 160) | pub fn timestamp(&self) -> i64 { method serialize (line 210) | fn serialize(&self, serializer: S) -> Result method deserialize (line 219) | fn deserialize(deserializer: D) -> Result method from (line 235) | fn from(value: u64) -> Self { type Err (line 23) | type Err = (); method from_str (line 25) | fn from_str(s: &str) -> Result { method fmt (line 180) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 229) | fn from(value: UTCDate) -> Self { function parse_jmap_date (line 246) | fn parse_jmap_date() { FILE: crates/jmap-proto/src/types/state.rs type JMAPIntermediateState (line 14) | pub struct JMAPIntermediateState { type State (line 21) | pub enum State { method from (line 29) | fn from(change_id: ChangeId) -> Self { method from (line 35) | fn from(change_id: Option) -> Self { method parse (line 44) | pub fn parse(value: &str) -> Option { method new_initial (line 78) | pub fn new_initial() -> Self { method new_exact (line 82) | pub fn new_exact(id: ChangeId) -> Self { method new_intermediate (line 86) | pub fn new_intermediate(from_id: ChangeId, to_id: ChangeId, items_sent... method get_change_id (line 94) | pub fn get_change_id(&self) -> ChangeId { method serialize (line 104) | fn serialize(&self, serializer: S) -> Result method deserialize (line 113) | fn deserialize(deserializer: D) -> Result method fmt (line 123) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_state_id (line 154) | fn test_state_id() { FILE: crates/jmap/src/addressbook/get.rs type AddressBookGet (line 23) | pub trait AddressBookGet: Sync + Send { method address_book_get (line 24) | fn address_book_get( method address_book_get (line 32) | async fn address_book_get( FILE: crates/jmap/src/addressbook/set.rs type AddressBookSet (line 36) | pub trait AddressBookSet: Sync + Send { method address_book_set (line 37) | fn address_book_set( method address_book_set (line 46) | async fn address_book_set( function update_address_book (line 379) | fn update_address_book( FILE: crates/jmap/src/api/acl.rs type JmapRights (line 20) | pub struct JmapRights; method acl_set (line 23) | pub fn acl_set( method acl_patch (line 60) | pub fn acl_patch( method map_acls (line 143) | fn map_acls( method all_rights (line 170) | pub fn all_rights() -> Value<'static, T::Property... method rights (line 181) | pub fn rights( method share_with (line 196) | pub fn share_with( type JmapAcl (line 222) | pub trait JmapAcl { method acl_validate (line 223) | fn acl_validate( method acl_validate (line 235) | async fn acl_validate(&self, grants: &[AclGrant]) -> Result<(), ShareV... type ShareValidationError (line 229) | pub enum ShareValidationError { function from (line 261) | fn from(err: ShareValidationError) -> Self { FILE: crates/jmap/src/api/auth.rs type JmapAuthorization (line 15) | pub trait JmapAuthorization { method assert_is_member (line 16) | fn assert_is_member(&self, account_id: Id) -> trc::Result<&Self>; method assert_has_jmap_permission (line 17) | fn assert_has_jmap_permission( method assert_has_access (line 22) | fn assert_has_access(&self, to_account_id: Id, to_collection: Collection) method assert_is_member (line 27) | fn assert_is_member(&self, account_id: Id) -> trc::Result<&Self> { method assert_has_access (line 37) | fn assert_has_access( method assert_has_jmap_permission (line 52) | fn assert_has_jmap_permission( FILE: crates/jmap/src/api/event_source.rs type Ping (line 24) | struct Ping { type EventSourceHandler (line 30) | pub trait EventSourceHandler: Sync + Send { method handle_event_source (line 31) | fn handle_event_source( method handle_event_source (line 39) | async fn handle_event_source( FILE: crates/jmap/src/api/mod.rs method into_http_response (line 29) | fn into_http_response(self) -> HttpResponse { type ToJmapHttpResponse (line 34) | pub trait ToJmapHttpResponse { method into_http_response (line 35) | fn into_http_response(self) -> HttpResponse; method into_http_response (line 39) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 45) | fn into_http_response(self) -> HttpResponse { method into_http_response (line 51) | fn into_http_response(self) -> HttpResponse { type ToRequestError (line 58) | pub trait ToRequestError { method to_request_error (line 59) | fn to_request_error(&self) -> RequestError<'_>; method to_request_error (line 63) | fn to_request_error(&self) -> RequestError<'_> { type IntoPushObject (line 129) | pub(crate) trait IntoPushObject { method into_push_object (line 130) | fn into_push_object(self) -> PushObject; method into_push_object (line 134) | fn into_push_object(self) -> PushObject { method into_push_object (line 176) | fn into_push_object(self) -> PushObject { FILE: crates/jmap/src/api/query.rs type QueryResponseBuilder (line 14) | pub struct QueryResponseBuilder { method new (line 27) | pub fn new( method add (line 78) | pub fn add(&mut self, prefix_id: u32, document_id: u32) -> bool { method add_id (line 82) | pub fn add_id(&mut self, id: Id) -> bool { method is_full (line 128) | pub fn is_full(&self) -> bool { method build (line 132) | pub fn build(mut self) -> trc::Result { FILE: crates/jmap/src/api/request.rs type RequestHandler (line 61) | pub trait RequestHandler: Sync + Send { method handle_jmap_request (line 62) | fn handle_jmap_request<'x>( method handle_method_call (line 69) | fn handle_method_call<'x>( method handle_jmap_request (line 81) | async fn handle_jmap_request<'x>( method handle_method_call (line 215) | async fn handle_method_call<'x>( function set_account_id_if_missing (line 638) | pub(crate) fn set_account_id_if_missing(account_id: &mut Id, access_toke... FILE: crates/jmap/src/api/session.rs type SessionHandler (line 17) | pub trait SessionHandler: Sync + Send { method handle_session_resource (line 18) | fn handle_session_resource( method handle_session_resource (line 26) | async fn handle_session_resource( type AccountCapabilities (line 93) | trait AccountCapabilities { method account_capabilities (line 94) | fn account_capabilities(&self) -> impl Iterator; method account_capabilities (line 98) | fn account_capabilities(&self) -> impl Iterator { FILE: crates/jmap/src/blob/copy.rs type BlobCopy (line 21) | pub trait BlobCopy: Sync + Send { method blob_copy (line 22) | fn blob_copy( method blob_copy (line 30) | async fn blob_copy( FILE: crates/jmap/src/blob/download.rs type BlobDownload (line 22) | pub trait BlobDownload: Sync + Send { method blob_download (line 23) | fn blob_download( method has_access_blob (line 29) | fn has_access_blob( method blob_download (line 38) | async fn blob_download( method has_access_blob (line 98) | async fn has_access_blob( FILE: crates/jmap/src/blob/get.rs type BlobOperations (line 28) | pub trait BlobOperations: Sync + Send { method blob_get (line 29) | fn blob_get( method blob_lookup (line 35) | fn blob_lookup( method blob_get (line 42) | async fn blob_get( method blob_lookup (line 160) | async fn blob_lookup(&self, request: BlobLookupRequest) -> trc::Result... FILE: crates/jmap/src/blob/mod.rs type UploadResponse (line 15) | pub struct UploadResponse { FILE: crates/jmap/src/blob/upload.rs type BlobUpload (line 27) | pub trait BlobUpload: Sync + Send { method blob_upload_many (line 28) | fn blob_upload_many( method blob_upload (line 34) | fn blob_upload( method blob_upload_many (line 44) | async fn blob_upload_many( method blob_upload (line 208) | async fn blob_upload( FILE: crates/jmap/src/calendar/get.rs type CalendarGet (line 30) | pub trait CalendarGet: Sync + Send { method calendar_get (line 31) | fn calendar_get( method calendar_get (line 39) | async fn calendar_get( function default_alarm_to_value (line 264) | fn default_alarm_to_value( FILE: crates/jmap/src/calendar/mod.rs type Availability (line 15) | pub(crate) trait Availability: Sized { method from_flags (line 16) | fn from_flags(flags: u16) -> Option; method from_flags (line 20) | fn from_flags(flags: u16) -> Option { FILE: crates/jmap/src/calendar/set.rs type CalendarSet (line 41) | pub trait CalendarSet: Sync + Send { method calendar_set (line 42) | fn calendar_set( method calendar_set (line 51) | async fn calendar_set( function update_calendar (line 371) | fn update_calendar( function value_to_default_alert (line 536) | fn value_to_default_alert( FILE: crates/jmap/src/calendar_event/copy.rs type JmapCalendarEventCopy (line 37) | pub trait JmapCalendarEventCopy: Sync + Send { method calendar_event_copy (line 38) | fn calendar_event_copy<'x>( method calendar_event_copy (line 48) | async fn calendar_event_copy<'x>( FILE: crates/jmap/src/calendar_event/get.rs type CalendarEventGet (line 49) | pub trait CalendarEventGet: Sync + Send { method calendar_event_get (line 50) | fn calendar_event_get( method calendar_event_get (line 58) | async fn calendar_event_get( type OriginAddresses (line 605) | enum OriginAddresses<'x> { function addresses (line 612) | fn addresses(&self) -> Option<&[String]> { FILE: crates/jmap/src/calendar_event/mod.rs type CalendarSyntheticId (line 37) | pub trait CalendarSyntheticId { method new (line 38) | fn new(expansion_id: u32, document_id: u32) -> Self; method is_synthetic (line 40) | fn is_synthetic(&self) -> bool; method expansion_id (line 42) | fn expansion_id(&self) -> Option; method new (line 46) | fn new(expansion_id: u32, document_id: u32) -> Id { method expansion_id (line 50) | fn expansion_id(&self) -> Option { method is_synthetic (line 55) | fn is_synthetic(&self) -> bool { function assert_is_unique_uid (line 60) | pub(super) async fn assert_is_unique_uid( FILE: crates/jmap/src/calendar_event/parse.rs type CalendarEventParse (line 22) | pub trait CalendarEventParse: Sync + Send { method calendar_event_parse (line 23) | fn calendar_event_parse( method calendar_event_parse (line 31) | async fn calendar_event_parse( FILE: crates/jmap/src/calendar_event/query.rs type CalendarEventQuery (line 29) | pub trait CalendarEventQuery: Sync + Send { method calendar_event_query (line 30) | fn calendar_event_query( method calendar_event_query (line 38) | async fn calendar_event_query( function local_timestamp (line 361) | fn local_timestamp(dt: &JSCalendarDateTime, tz: Tz) -> Option { type SearchResult (line 368) | struct SearchResult { method get_property (line 378) | fn get_property(&self, comparator: &CalendarEventComparator) -> &[u8] { FILE: crates/jmap/src/calendar_event/set.rs type CalendarEventSet (line 54) | pub trait CalendarEventSet: Sync + Send { method calendar_event_set (line 55) | fn calendar_event_set( method create_calendar_event (line 63) | fn create_calendar_event( method calendar_event_set (line 77) | async fn calendar_event_set( method create_calendar_event (line 508) | async fn create_calendar_event( function update_calendar_event (line 689) | fn update_calendar_event<'x>( function patch_parent_ids (line 900) | fn patch_parent_ids( function default_alert_to_ical (line 950) | fn default_alert_to_ical(alert: &ArchivedDefaultAlert) -> ICalendarCompo... FILE: crates/jmap/src/calendar_event_notification/get.rs type CalendarEventNotificationGet (line 36) | pub trait CalendarEventNotificationGet: Sync + Send { method calendar_event_notification_get (line 37) | fn calendar_event_notification_get( method calendar_event_notification_get (line 45) | async fn calendar_event_notification_get( FILE: crates/jmap/src/calendar_event_notification/query.rs type CalendarEventNotificationQuery (line 31) | pub trait CalendarEventNotificationQuery: Sync + Send { method calendar_event_notification_query (line 32) | fn calendar_event_notification_query( method calendar_event_notification_query (line 46) | async fn calendar_event_notification_query( type Notification (line 39) | struct Notification { FILE: crates/jmap/src/calendar_event_notification/set.rs type CalendarEventNotificationSet (line 21) | pub trait CalendarEventNotificationSet: Sync + Send { method calendar_event_notification_set (line 22) | fn calendar_event_notification_set( method calendar_event_notification_set (line 33) | async fn calendar_event_notification_set( FILE: crates/jmap/src/changes/get.rs type ChangesLookup (line 23) | pub trait ChangesLookup: Sync + Send { method changes (line 24) | fn changes( method changes (line 39) | async fn changes( type IntermediateChangesResponse (line 32) | pub struct IntermediateChangesResponse { method into_method_response (line 278) | pub fn into_method_response(self) -> ResponseMethod<'static> { function transmute_response (line 337) | fn transmute_response(response: ChangesResponse(req: &QueryChangesRequest) ->... function build_query_changes_response (line 304) | fn build_query_changes_response( FILE: crates/jmap/src/changes/state.rs type StateManager (line 13) | pub trait StateManager: Sync + Send { method get_state (line 14) | fn get_state( method assert_state (line 20) | fn assert_state( method get_state (line 43) | async fn get_state(&self, account_id: u32, collection: SyncCollection)... method assert_state (line 53) | async fn assert_state( type JmapCacheState (line 28) | pub trait JmapCacheState: Sync + Send { method get_state (line 29) | fn get_state(&self, is_container: bool) -> State; method assert_state (line 31) | fn assert_state(&self, is_container: bool, if_in_state: &Option... method get_state (line 71) | fn get_state(&self, is_container: bool) -> State { method get_state (line 81) | fn get_state(&self, is_container: bool) -> State { FILE: crates/jmap/src/contact/copy.rs type JmapContactCardCopy (line 33) | pub trait JmapContactCardCopy: Sync + Send { method contact_card_copy (line 34) | fn contact_card_copy<'x>( method contact_card_copy (line 44) | async fn contact_card_copy<'x>( FILE: crates/jmap/src/contact/get.rs type ContactCardGet (line 26) | pub trait ContactCardGet: Sync + Send { method contact_card_get (line 27) | fn contact_card_get( method contact_card_get (line 35) | async fn contact_card_get( FILE: crates/jmap/src/contact/mod.rs function assert_is_unique_uid (line 19) | pub(super) async fn assert_is_unique_uid( FILE: crates/jmap/src/contact/parse.rs type ContactCardParse (line 18) | pub trait ContactCardParse: Sync + Send { method contact_card_parse (line 19) | fn contact_card_parse( method contact_card_parse (line 27) | async fn contact_card_parse( FILE: crates/jmap/src/contact/query.rs type ContactCardQuery (line 29) | pub trait ContactCardQuery: Sync + Send { method contact_card_query (line 30) | fn contact_card_query( method contact_card_query (line 45) | async fn contact_card_query( type CreatedUpdated (line 38) | struct CreatedUpdated { FILE: crates/jmap/src/contact/set.rs type ContactCardSet (line 34) | pub trait ContactCardSet: Sync + Send { method contact_card_set (line 35) | fn contact_card_set( method create_contact_card (line 43) | fn create_contact_card( method contact_card_set (line 56) | async fn contact_card_set( method create_contact_card (line 352) | async fn create_contact_card( function update_contact_card (line 441) | fn update_contact_card<'x>( function patch_parent_ids (line 505) | fn patch_parent_ids( FILE: crates/jmap/src/email/body.rs type ToBodyPart (line 19) | pub trait ToBodyPart { method to_body_part (line 20) | fn to_body_part( method to_body_part (line 31) | fn to_body_part( method to_body_part (line 157) | fn to_body_part( type TruncateBody (line 293) | pub(super) trait TruncateBody { method truncate (line 294) | fn truncate(&self, max_len: usize) -> (bool, String); method truncate (line 298) | fn truncate(&self, max_len: usize) -> (bool, String) { function truncate_plain (line 310) | pub(crate) fn truncate_plain(text: &str, mut max_len: usize) -> (bool, S... function truncate_html (line 334) | pub(crate) fn truncate_html(html: &str, mut max_len: usize) -> (bool, St... FILE: crates/jmap/src/email/copy.rs type JmapEmailCopy (line 36) | pub trait JmapEmailCopy: Sync + Send { method email_copy (line 37) | fn email_copy<'x>( method email_copy (line 47) | async fn email_copy<'x>( FILE: crates/jmap/src/email/get.rs type EmailGet (line 44) | pub trait EmailGet: Sync + Send { method email_get (line 45) | fn email_get( method email_get (line 53) | async fn email_get( FILE: crates/jmap/src/email/headers.rs type IntoForm (line 27) | pub trait IntoForm { method into_form (line 28) | fn into_form(self, form: &HeaderForm) -> Value<'static, EmailProperty,... method into_form (line 157) | fn into_form(self, form: &HeaderForm) -> Value<'static, EmailProperty,... type HeaderToValue (line 31) | pub trait HeaderToValue { method header_to_value (line 32) | fn header_to_value( method headers_to_value (line 37) | fn headers_to_value( method header_to_value (line 58) | fn header_to_value( method headers_to_value (line 130) | fn headers_to_value( method header_to_value (line 379) | fn header_to_value( method headers_to_value (line 451) | fn headers_to_value( type ValueToHeader (line 43) | pub trait ValueToHeader<'x> { method try_into_grouped_addresses (line 44) | fn try_into_grouped_addresses(self) -> Option>; method try_into_address_list (line 45) | fn try_into_address_list(self) -> Option>>; method try_into_address (line 46) | fn try_into_address(self) -> Option>; type BuildHeader (line 49) | pub trait BuildHeader<'x>: Sized { method build_header (line 50) | fn build_header( function try_into_grouped_addresses (line 223) | fn try_into_grouped_addresses(self) -> Option> { function try_into_address_list (line 235) | fn try_into_address_list(self) -> Option>> { function try_into_address (line 244) | fn try_into_address(self) -> Option> { function build_header (line 258) | fn build_header( type ByteTrim (line 477) | trait ByteTrim { method trim_end (line 478) | fn trim_end(&self) -> Self; method trim_end (line 482) | fn trim_end(&self) -> Self { function unwrap_date (line 492) | pub(crate) fn unwrap_date(value: Value<'_, EmailProperty, EmailValue>) -... function from_mail_datetime (line 499) | fn from_mail_datetime(date: DateTime) -> Value<'static, EmailProperty, E... function from_mail_addr (line 513) | fn from_mail_addr(value: Addr<'_>) -> Value<'static, EmailProperty, Emai... function from_mail_group (line 524) | fn from_mail_group(group: Group<'_>) -> Value<'static, EmailProperty, Em... function from_mail_addrlist (line 535) | fn from_mail_addrlist(addrlist: Vec>) -> Value<'static, EmailPr... FILE: crates/jmap/src/email/import.rs type EmailImport (line 29) | pub trait EmailImport: Sync + Send { method email_import (line 30) | fn email_import( method email_import (line 39) | async fn email_import( FILE: crates/jmap/src/email/mod.rs function ingested_into_object (line 25) | fn ingested_into_object(email: IngestedEmail) -> Map<'static, EmailPrope... type PatchResult (line 36) | pub(crate) enum PatchResult<'x> { function handle_email_patch (line 44) | pub(crate) fn handle_email_patch<'x>( FILE: crates/jmap/src/email/parse.rs type EmailParse (line 26) | pub trait EmailParse: Sync + Send { method email_parse (line 27) | fn email_parse( method email_parse (line 35) | async fn email_parse( FILE: crates/jmap/src/email/query.rs type EmailQuery (line 29) | pub trait EmailQuery: Sync + Send { method email_query (line 30) | fn email_query( method email_query (line 38) | async fn email_query( function thread_keywords (line 384) | fn thread_keywords(cache: &MessageStoreCache, keyword: Keyword, match_al... FILE: crates/jmap/src/email/set.rs type EmailSet (line 61) | pub trait EmailSet: Sync + Send { method email_set (line 62) | fn email_set( method email_set (line 71) | async fn email_set( FILE: crates/jmap/src/email/snippet.rs type EmailSearchSnippet (line 34) | pub trait EmailSearchSnippet: Sync + Send { method email_search_snippet (line 35) | fn email_search_snippet( method email_search_snippet (line 43) | async fn email_search_snippet( FILE: crates/jmap/src/file/get.rs type FileNodeGet (line 25) | pub trait FileNodeGet: Sync + Send { method file_node_get (line 26) | fn file_node_get( method file_node_get (line 34) | async fn file_node_get( FILE: crates/jmap/src/file/query.rs type FileNodeQuery (line 22) | pub trait FileNodeQuery: Sync + Send { method file_node_query (line 23) | fn file_node_query( method file_node_query (line 31) | async fn file_node_query( FILE: crates/jmap/src/file/set.rs type FileNodeSet (line 36) | pub trait FileNodeSet: Sync + Send { method file_node_set (line 37) | fn file_node_set( method file_node_set (line 46) | async fn file_node_set( type UpdateResult (line 396) | struct UpdateResult { function update_file_node (line 401) | fn update_file_node( function validate_file_node_hierarchy (line 506) | fn validate_file_node_hierarchy( FILE: crates/jmap/src/identity/get.rs type IdentityGet (line 27) | pub trait IdentityGet: Sync + Send { method identity_get (line 28) | fn identity_get( method identity_get_or_create (line 33) | fn identity_get_or_create( method identity_get (line 40) | async fn identity_get( method identity_get_or_create (line 149) | async fn identity_get_or_create(&self, account_id: u32) -> trc::Result... function email_to_value (line 227) | fn email_to_value( FILE: crates/jmap/src/identity/set.rs type IdentitySet (line 28) | pub trait IdentitySet: Sync + Send { method identity_set (line 29) | fn identity_set( method identity_set (line 37) | async fn identity_set( function validate_identity_value (line 210) | fn validate_identity_value( FILE: crates/jmap/src/mailbox/get.rs type MailboxGet (line 20) | pub trait MailboxGet: Sync + Send { method mailbox_get (line 21) | fn mailbox_get( method mailbox_get (line 29) | async fn mailbox_get( FILE: crates/jmap/src/mailbox/query.rs type MailboxQuery (line 23) | pub trait MailboxQuery: Sync + Send { method mailbox_query (line 24) | fn mailbox_query( method mailbox_query (line 32) | async fn mailbox_query( FILE: crates/jmap/src/mailbox/set.rs type SetContext (line 43) | pub struct SetContext<'x> { type MailboxSet (line 52) | pub trait MailboxSet: Sync + Send { method mailbox_set (line 53) | fn mailbox_set( method mailbox_set_item (line 59) | fn mailbox_set_item( method mailbox_set (line 73) | async fn mailbox_set( method mailbox_set_item (line 325) | async fn mailbox_set_item( FILE: crates/jmap/src/participant_identity/get.rs type ParticipantIdentityGet (line 22) | pub trait ParticipantIdentityGet: Sync + Send { method participant_identity_get (line 23) | fn participant_identity_get( method participant_identity_get_or_create (line 28) | fn participant_identity_get_or_create( method participant_identity_get (line 35) | async fn participant_identity_get( method participant_identity_get_or_create (line 114) | async fn participant_identity_get_or_create( FILE: crates/jmap/src/participant_identity/set.rs type ParticipantIdentitySet (line 27) | pub trait ParticipantIdentitySet: Sync + Send { method participant_identity_set (line 28) | fn participant_identity_set( method participant_identity_set (line 36) | async fn participant_identity_set( function validate_identity_value (line 197) | fn validate_identity_value( FILE: crates/jmap/src/principal/availability.rs type PrincipalGetAvailability (line 43) | pub trait PrincipalGetAvailability: Sync + Send { method principal_get_availability (line 44) | fn principal_get_availability( method principal_get_availability (line 52) | async fn principal_get_availability( type FreeBusyResult (line 379) | struct FreeBusyResult { method from (line 388) | fn from(value: FreeBusyResult) -> Self { FILE: crates/jmap/src/principal/get.rs type PrincipalGet (line 20) | pub trait PrincipalGet: Sync + Send { method principal_get (line 21) | fn principal_get( method principal_get (line 29) | async fn principal_get( FILE: crates/jmap/src/principal/query.rs type PrincipalQuery (line 24) | pub trait PrincipalQuery: Sync + Send { method principal_query (line 25) | fn principal_query( method principal_query (line 34) | async fn principal_query( FILE: crates/jmap/src/push/get.rs type PushSubscriptionFetch (line 24) | pub trait PushSubscriptionFetch: Sync + Send { method push_subscription_get (line 25) | fn push_subscription_get( method push_subscription_get (line 33) | async fn push_subscription_get( FILE: crates/jmap/src/push/set.rs constant EXPIRES_MAX (line 30) | const EXPIRES_MAX: i64 = 7 * 24 * 3600; constant VERIFICATION_CODE_LEN (line 31) | const VERIFICATION_CODE_LEN: usize = 32; type PushSubscriptionSet (line 33) | pub trait PushSubscriptionSet: Sync + Send { method push_subscription_set (line 34) | fn push_subscription_set( method push_subscription_set (line 42) | async fn push_subscription_set( function validate_push_value (line 268) | fn validate_push_value( FILE: crates/jmap/src/quota/get.rs type QuotaGet (line 18) | pub trait QuotaGet: Sync + Send { method quota_get (line 19) | fn quota_get( method quota_get (line 27) | async fn quota_get( type AccessTokenRef (line 116) | enum AccessTokenRef<'x> { function as_ref (line 122) | fn as_ref(&self) -> &AccessToken { FILE: crates/jmap/src/quota/query.rs type QuotaQuery (line 16) | pub trait QuotaQuery: Sync + Send { method quota_query (line 17) | fn quota_query( method quota_query (line 25) | async fn quota_query( FILE: crates/jmap/src/share_notification/get.rs type ShareNotificationGet (line 37) | pub trait ShareNotificationGet: Sync + Send { method share_notification_get (line 38) | fn share_notification_get( method share_notification_get (line 45) | async fn share_notification_get( function build_share_notification (line 183) | fn build_share_notification( function map_rights (line 248) | fn map_rights( FILE: crates/jmap/src/share_notification/query.rs type ShareNotificationQuery (line 23) | pub trait ShareNotificationQuery: Sync + Send { method share_notification_query (line 24) | fn share_notification_query( method share_notification_query (line 31) | async fn share_notification_query( FILE: crates/jmap/src/share_notification/set.rs type ShareNotificationSet (line 17) | pub trait ShareNotificationSet: Sync + Send { method share_notification_set (line 18) | fn share_notification_set( method share_notification_set (line 25) | async fn share_notification_set( FILE: crates/jmap/src/sieve/get.rs type SieveScriptGet (line 24) | pub trait SieveScriptGet: Sync + Send { method sieve_script_get (line 25) | fn sieve_script_get( method sieve_script_get (line 32) | async fn sieve_script_get( FILE: crates/jmap/src/sieve/query.rs type SieveScriptQuery (line 27) | pub trait SieveScriptQuery: Sync + Send { method sieve_script_query (line 28) | fn sieve_script_query( method sieve_script_query (line 35) | async fn sieve_script_query( FILE: crates/jmap/src/sieve/set.rs type SetContext (line 40) | pub struct SetContext<'x> { type SieveScriptSet (line 46) | pub trait SieveScriptSet: Sync + Send { method sieve_script_set (line 47) | fn sieve_script_set( method sieve_set_item (line 55) | fn sieve_set_item<'x>( method sieve_script_set (line 75) | async fn sieve_script_set( method sieve_set_item (line 364) | async fn sieve_set_item<'x>( FILE: crates/jmap/src/sieve/validate.rs type SieveScriptValidate (line 16) | pub trait SieveScriptValidate: Sync + Send { method sieve_script_validate (line 17) | fn sieve_script_validate( method sieve_script_validate (line 25) | async fn sieve_script_validate( FILE: crates/jmap/src/submission/get.rs type EmailSubmissionGet (line 37) | pub trait EmailSubmissionGet: Sync + Send { method email_submission_get (line 38) | fn email_submission_get( method email_submission_get (line 45) | async fn email_submission_get( function build_envelope (line 264) | fn build_envelope( function build_address (line 279) | fn build_address( function format_archived_response (line 302) | fn format_archived_response(response: &ArchivedResponse>) -> St... function format_archived_error_details (line 313) | fn format_archived_error_details(response: &ArchivedErrorDetails) -> Str... FILE: crates/jmap/src/submission/query.rs type EmailSubmissionQuery (line 29) | pub trait EmailSubmissionQuery: Sync + Send { method email_submission_query (line 30) | fn email_submission_query( method email_submission_query (line 46) | async fn email_submission_query( type Submission (line 36) | struct Submission { FILE: crates/jmap/src/submission/set.rs type EmailSubmissionSet (line 46) | pub trait EmailSubmissionSet: Sync + Send { method email_submission_set (line 47) | fn email_submission_set<'x>( method send_message (line 54) | fn send_message( method email_submission_set (line 66) | async fn email_submission_set<'x>( method send_message (line 320) | async fn send_message( function parse_envelope_address (line 744) | fn parse_envelope_address( function from_into_static (line 804) | fn from_into_static(from: MailFrom>) -> MailFrom>) -> RcptTo trc::... FILE: crates/jmap/src/vacation/set.rs type VacationResponseSet (line 37) | pub trait VacationResponseSet: Sync + Send { method vacation_response_set (line 38) | fn vacation_response_set( method build_script (line 44) | fn build_script(&self, obj: &mut SieveScript) -> trc::Result>; method vacation_response_set (line 48) | async fn vacation_response_set( method build_script (line 368) | fn build_script(&self, obj: &mut SieveScript) -> trc::Result> { function set_error (line 490) | fn set_error( FILE: crates/jmap/src/websocket/stream.rs type WebSocketHandler (line 27) | pub trait WebSocketHandler: Sync + Send { method handle_websocket_stream (line 28) | fn handle_websocket_stream( method handle_websocket_stream (line 38) | async fn handle_websocket_stream( FILE: crates/jmap/src/websocket/upgrade.rs type WebSocketUpgrade (line 21) | pub trait WebSocketUpgrade: Sync + Send { method upgrade_websocket_connection (line 22) | fn upgrade_websocket_connection( method upgrade_websocket_connection (line 31) | async fn upgrade_websocket_connection( FILE: crates/main/src/main.rs function main (line 31) | async fn main() -> std::io::Result<()> { FILE: crates/managesieve/src/core/client.rs function ingest (line 18) | pub async fn ingest(&mut self, bytes: &[u8]) -> SessionResult { function validate_request (line 145) | async fn validate_request(&self, command: Request) -> trc::Resu... function write (line 220) | pub async fn write(&mut self, bytes: &[u8]) -> trc::Result<()> { function write_error (line 244) | pub async fn write_error(&mut self, error: trc::Error) -> trc::Result<()> { function read (line 251) | pub async fn read(&mut self, bytes: &mut [u8]) -> trc::Result { function get_script_id (line 271) | pub async fn get_script_id(&self, account_id: u32, name: &str) -> trc::R... FILE: crates/managesieve/src/core/mod.rs type Session (line 22) | pub struct Session { type State (line 33) | pub enum State { method access_token (line 44) | pub fn access_token(&self) -> &AccessToken { type ManageSieveSessionManager (line 53) | pub struct ManageSieveSessionManager { method new (line 58) | pub fn new(inner: Arc) -> Self { type Command (line 64) | pub enum Command { method parse (line 83) | fn parse(value: &[u8], _is_uid: bool) -> Option { method tokenize_brackets (line 103) | fn tokenize_brackets(&self) -> bool { type StatusResponse (line 109) | pub struct StatusResponse { method serialize (line 201) | pub fn serialize(self, mut buf: Vec) -> Vec { method into_bytes (line 222) | pub fn into_bytes(self) -> Vec { method with_code (line 226) | pub fn with_code(mut self, code: ResponseCode) -> Self { method no (line 231) | pub fn no(message: impl Into>) -> Self { method ok (line 239) | pub fn ok(message: impl Into>) -> Self { method bye (line 247) | pub fn bye(message: impl Into>) -> Self { method database_failure (line 255) | pub fn database_failure() -> Self { type ResponseType (line 116) | pub enum ResponseType { method serialize (line 187) | pub fn serialize(&self, buf: &mut Vec) { method as_str (line 191) | pub fn as_str(&self) -> &'static str { type ResponseCode (line 123) | pub enum ResponseCode { method serialize (line 141) | pub fn serialize(&self, buf: &mut Vec) { method as_str (line 166) | pub fn as_str(&self) -> &'static str { type SerializeResponse (line 264) | pub trait SerializeResponse { method serialize (line 265) | fn serialize(&self) -> Vec; method serialize (line 269) | fn serialize(&self) -> Vec { function from (line 305) | fn from(value: ResponseCode) -> Self { function from (line 311) | fn from(value: ResponseType) -> Self { FILE: crates/managesieve/src/core/session.rs method handle (line 20) | fn handle( method shutdown (line 56) | fn shutdown(&self) -> impl std::future::Future + Send { function handle_conn (line 62) | pub async fn handle_conn(&mut self) -> bool { function into_tls (line 135) | pub async fn into_tls(self) -> Result>, ()> { FILE: crates/managesieve/src/lib.rs function receiver_parse_managesieve (line 19) | fn receiver_parse_managesieve() { FILE: crates/managesieve/src/op/authenticate.rs function handle_authenticate (line 25) | pub async fn handle_authenticate(&mut self, request: Request) -... function handle_unauthenticate (line 123) | pub async fn handle_unauthenticate(&mut self) -> trc::Result> { FILE: crates/managesieve/src/op/capability.rs function handle_capability (line 13) | pub async fn handle_capability(&self, message: &'static str) -> trc::Res... FILE: crates/managesieve/src/op/checkscript.rs function handle_checkscript (line 16) | pub async fn handle_checkscript(&mut self, request: Request) ->... FILE: crates/managesieve/src/op/deletescript.rs function handle_deletescript (line 17) | pub async fn handle_deletescript(&mut self, request: Request) -... FILE: crates/managesieve/src/op/getscript.rs function handle_getscript (line 21) | pub async fn handle_getscript(&mut self, request: Request) -> t... FILE: crates/managesieve/src/op/havespace.rs function handle_havespace (line 17) | pub async fn handle_havespace(&mut self, request: Request) -> t... FILE: crates/managesieve/src/op/listscripts.rs function handle_listscripts (line 20) | pub async fn handle_listscripts(&mut self) -> trc::Result> { FILE: crates/managesieve/src/op/logout.rs function handle_logout (line 12) | pub async fn handle_logout(&mut self) -> trc::Result> { FILE: crates/managesieve/src/op/mod.rs function handle_start_tls (line 25) | pub async fn handle_start_tls(&self) -> trc::Result> { function assert_has_permission (line 35) | pub fn assert_has_permission(&self, permission: Permission) -> trc::Resu... FILE: crates/managesieve/src/op/noop.rs function handle_noop (line 13) | pub async fn handle_noop(&mut self, request: Request) -> trc::R... FILE: crates/managesieve/src/op/putscript.rs function handle_putscript (line 22) | pub async fn handle_putscript(&mut self, request: Request) -> t... function validate_name (line 210) | pub async fn validate_name(&self, account_id: u32, name: &str) -> trc::R... FILE: crates/managesieve/src/op/renamescript.rs function handle_renamescript (line 21) | pub async fn handle_renamescript(&mut self, request: Request) -... FILE: crates/managesieve/src/op/setactive.rs function handle_setactive (line 19) | pub async fn handle_setactive(&mut self, request: Request) -> t... FILE: crates/migration/src/addressbook_v2.rs type AddressBookV2 (line 22) | pub struct AddressBookV2 { function migrate_addressbook_v013 (line 35) | pub(crate) async fn migrate_addressbook_v013(server: &Server, account_id... FILE: crates/migration/src/blob.rs constant SUBSPACE_BLOB_RESERVE (line 18) | const SUBSPACE_BLOB_RESERVE: u8 = b'j'; function migrate_blobs_v014 (line 20) | pub(crate) async fn migrate_blobs_v014(server: &Server) -> trc::Result<(... FILE: crates/migration/src/calendar_v2.rs type CalendarV2 (line 21) | pub struct CalendarV2 { type CalendarPreferencesV2 (line 34) | pub struct CalendarPreferencesV2 { type TimezoneV2 (line 47) | pub enum TimezoneV2 { type DefaultAlertV2 (line 57) | pub struct DefaultAlertV2 { function migrate_calendar_v013 (line 64) | pub(crate) async fn migrate_calendar_v013(server: &Server, account_id: u... FILE: crates/migration/src/changelog.rs function reset_changelog (line 14) | pub(crate) async fn reset_changelog(server: &Server) -> trc::Result<()> { FILE: crates/migration/src/contact_v2.rs type ContactCardV2 (line 21) | pub struct ContactCardV2 { function migrate_contacts_v013 (line 31) | pub(crate) async fn migrate_contacts_v013(server: &Server, account_id: u... FILE: crates/migration/src/email_v1.rs constant FIELD_KEYWORDS (line 46) | const FIELD_KEYWORDS: u8 = 4; constant FIELD_THREAD_ID (line 47) | const FIELD_THREAD_ID: u8 = 33; constant FIELD_CID (line 48) | const FIELD_CID: u8 = 76; constant FIELD_MAILBOX_IDS (line 49) | pub(crate) const FIELD_MAILBOX_IDS: u8 = 7; constant BM_MARKER (line 51) | const BM_MARKER: u8 = 1 << 7; function migrate_emails_v011 (line 53) | pub(crate) async fn migrate_emails_v011(server: &Server, account_id: u32... type FromLegacy (line 355) | pub trait FromLegacy { method from_legacy (line 356) | fn from_legacy(legacy: LegacyMessageMetadata<'_>) -> Self; method from_legacy (line 360) | fn from_legacy(legacy: LegacyMessageMetadata<'_>) -> Self { type Mailboxes (line 466) | pub struct Mailboxes(Vec); type Keywords (line 467) | pub struct Keywords(Vec); method deserialize (line 470) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize (line 491) | fn deserialize(bytes: &[u8]) -> trc::Result { function deserialize_keyword (line 507) | fn deserialize_keyword(bytes: &mut std::slice::Iter<'_, u8>) -> Option { type LegacyMessageMetadataContents (line 545) | pub struct LegacyMessageMetadataContents<'x> { type LegacyMessageMetadataPart (line 553) | pub struct LegacyMessageMetadataPart<'x> { type LegacyHeader (line 565) | pub struct LegacyHeader<'x> { type LegacyHeaderValue (line 574) | pub enum LegacyHeaderValue<'x> { type LegacyContentType (line 598) | pub struct LegacyContentType<'x> { type LegacyMetadataPartType (line 605) | pub enum LegacyMetadataPartType<'x> { function from (line 615) | fn from(value: LegacyHeaderValue<'_>) -> Self { FILE: crates/migration/src/email_v2.rs function migrate_emails_v014 (line 35) | pub(crate) async fn migrate_emails_v014(server: &Server, account_id: u32... type LegacyMessageData (line 212) | pub struct LegacyMessageData { type LegacyMessageMetadata (line 219) | pub struct LegacyMessageMetadata<'x> { method from (line 230) | fn from(legacy: LegacyMessageMetadata<'x>) -> Self { type LegacyMessageMetadataContents (line 254) | pub struct LegacyMessageMetadataContents<'x> { method from (line 262) | fn from(contents: LegacyMessageMetadataContents) -> Self { type LegacyMessageMetadataPart (line 273) | pub struct LegacyMessageMetadataPart<'x> { method from (line 285) | fn from(part: LegacyMessageMetadataPart<'x>) -> Self { type LegacyMetadataPartType (line 318) | pub enum LegacyMetadataPartType { method from (line 328) | fn from(value: LegacyMetadataPartType) -> Self { type LegacyKeyword (line 358) | pub enum LegacyKeyword { method from (line 388) | fn from(kw: LegacyKeyword) -> Self { FILE: crates/migration/src/encryption_v1.rs function migrate_encryption_params_v011 (line 18) | pub(crate) async fn migrate_encryption_params_v011( type VeryOldLegacyEncryptionParams (line 72) | struct VeryOldLegacyEncryptionParams(LegacyEncryptionParams); method deserialize (line 75) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/migration/src/encryption_v2.rs type EncryptionMethod (line 31) | pub enum EncryptionMethod { type Algorithm (line 47) | pub enum Algorithm { type LegacyEncryptionParams (line 61) | pub struct LegacyEncryptionParams { function migrate_encryption_params_v014 (line 67) | pub(crate) async fn migrate_encryption_params_v014( method from (line 116) | fn from(legacy: LegacyEncryptionParams) -> Self { FILE: crates/migration/src/event_v1.rs type CalendarEventV1 (line 22) | pub struct CalendarEventV1 { type UserProperties (line 37) | pub struct UserProperties { type CalendarEventDataV1 (line 45) | pub struct CalendarEventDataV1 { type AlarmV1 (line 58) | pub struct AlarmV1 { function migrate_calendar_events_v012 (line 63) | pub(crate) async fn migrate_calendar_events_v012(server: &Server) -> trc... FILE: crates/migration/src/event_v2.rs type CalendarEventV2 (line 23) | pub struct CalendarEventV2 { type UserPropertiesV2 (line 39) | pub struct UserPropertiesV2 { type CalendarEventDataV2 (line 47) | pub struct CalendarEventDataV2 { type CalendarEventNotificationV2 (line 59) | pub struct CalendarEventNotificationV2 { function migrate_calendar_events_v013 (line 68) | pub(crate) async fn migrate_calendar_events_v013( function migrate_calendar_scheduling_v013 (line 146) | pub(crate) async fn migrate_calendar_scheduling_v013( function migrate_icalendar_v02 (line 214) | pub(crate) fn migrate_icalendar_v02( FILE: crates/migration/src/identity_v1.rs function migrate_identities_v011 (line 21) | pub(crate) async fn migrate_identities_v011(server: &Server, account_id:... method from_legacy (line 109) | fn from_legacy(legacy: Object) -> Self { function convert_email_addresses (line 137) | fn convert_email_addresses(value: &Value) -> Option> { FILE: crates/migration/src/lib.rs constant LOCK_WAIT_TIME_ACCOUNT (line 63) | const LOCK_WAIT_TIME_ACCOUNT: u64 = 3 * 60; constant LOCK_WAIT_TIME_CORE (line 64) | const LOCK_WAIT_TIME_CORE: u64 = 5 * 60; constant LOCK_RETRY_TIME (line 65) | const LOCK_RETRY_TIME: Duration = Duration::from_secs(30); function try_migrate (line 67) | pub async fn try_migrate(server: &Server) -> trc::Result<()> { function is_new_install (line 228) | async fn is_new_install(server: &Server) -> trc::Result { function get_properties (line 268) | async fn get_properties( function get_document_ids (line 322) | pub async fn get_document_ids( function get_bitmap (line 350) | pub async fn get_bitmap( type LegacyBincode (line 378) | pub struct LegacyBincode { function new (line 383) | pub fn new(inner: T) -> Self { function from (line 389) | fn from(_: Value<'static>) -> Self { method deserialize (line 395) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/migration/src/mailbox.rs function migrate_mailboxes (line 25) | pub(crate) async fn migrate_mailboxes(server: &Server, account_id: u32) ... method from_legacy (line 137) | fn from_legacy(legacy: Object) -> Self { FILE: crates/migration/src/object.rs type Object (line 16) | pub struct Object { type Property (line 21) | pub enum Property { function with_capacity (line 128) | pub fn with_capacity(capacity: usize) -> Self { function set (line 134) | pub fn set(&mut self, property: Property, value: impl Into) -> bo... function append (line 138) | pub fn append(&mut self, property: Property, value: impl Into) { function with_property (line 142) | pub fn with_property(mut self, property: Property, value: impl Into Value { function get (line 151) | pub fn get(&self, property: &Property) -> &Value { type Value (line 157) | pub enum Value { method try_unwrap_id (line 463) | pub fn try_unwrap_id(self) -> Option { method try_unwrap_bool (line 470) | pub fn try_unwrap_bool(self) -> Option { method try_unwrap_keyword (line 477) | pub fn try_unwrap_keyword(self) -> Option { method try_unwrap_string (line 484) | pub fn try_unwrap_string(self) -> Option { method try_unwrap_object (line 491) | pub fn try_unwrap_object(self) -> Option> { method try_unwrap_list (line 498) | pub fn try_unwrap_list(self) -> Option> { method try_unwrap_date (line 505) | pub fn try_unwrap_date(self) -> Option { method try_unwrap_blob_id (line 512) | pub fn try_unwrap_blob_id(self) -> Option { method try_unwrap_uint (line 519) | pub fn try_unwrap_uint(self) -> Option { method as_string (line 526) | pub fn as_string(&self) -> Option<&str> { method as_id (line 533) | pub fn as_id(&self) -> Option<&Id> { method as_blob_id (line 540) | pub fn as_blob_id(&self) -> Option<&BlobId> { method as_list (line 547) | pub fn as_list(&self) -> Option<&Vec> { method as_acl (line 554) | pub fn as_acl(&self) -> Option<&Vec> { method as_uint (line 561) | pub fn as_uint(&self) -> Option { method as_bool (line 569) | pub fn as_bool(&self) -> Option { method as_date (line 576) | pub fn as_date(&self) -> Option<&UTCDate> { method as_obj (line 583) | pub fn as_obj(&self) -> Option<&Object> { method as_obj_mut (line 590) | pub fn as_obj_mut(&mut self) -> Option<&mut Object> { method try_cast_uint (line 597) | pub fn try_cast_uint(&self) -> Option { type UTCDate (line 174) | pub struct UTCDate { method from_timestamp (line 608) | pub fn from_timestamp(timestamp: i64) -> Self { method timestamp (line 634) | pub fn timestamp(&self) -> i64 { constant TEXT (line 186) | const TEXT: u8 = 0; constant UNSIGNED_INT (line 187) | const UNSIGNED_INT: u8 = 1; constant BOOL_TRUE (line 188) | const BOOL_TRUE: u8 = 2; constant BOOL_FALSE (line 189) | const BOOL_FALSE: u8 = 3; constant ID (line 190) | const ID: u8 = 4; constant DATE (line 191) | const DATE: u8 = 5; constant BLOB_ID (line 192) | const BLOB_ID: u8 = 6; constant BLOB (line 193) | const BLOB: u8 = 7; constant KEYWORD (line 194) | const KEYWORD: u8 = 8; constant LIST (line 195) | const LIST: u8 = 9; constant OBJECT (line 196) | const OBJECT: u8 = 10; constant ACL (line 197) | const ACL: u8 = 11; constant NULL (line 198) | const NULL: u8 = 12; type DeserializeFrom (line 200) | pub trait DeserializeFrom: Sized { method deserialize_from (line 201) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option; method deserialize_from (line 215) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 230) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option> { method deserialize_from (line 243) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 280) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 286) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 292) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 298) | fn deserialize_from(bytes: &mut Iter<'_, u8>) -> Option { method deserialize_from (line 309) | fn deserialize_from(bytes: &mut std::slice::Iter<'_, u8>) -> Option) -> Option) -> Option trc::Result { type FromLegacy (line 454) | pub trait FromLegacy { method from_legacy (line 455) | fn from_legacy(legacy: Object) -> Self; type TryFromLegacy (line 458) | pub trait TryFromLegacy: Sized { method try_from_legacy (line 459) | fn try_from_legacy(legacy: Object) -> Option; FILE: crates/migration/src/principal_v1.rs function migrate_principals_v0_11 (line 31) | pub(crate) async fn migrate_principals_v0_11(server: &Server) -> trc::Re... function migrate_principal_v0_11 (line 123) | pub(crate) async fn migrate_principal_v0_11(server: &Server, account_id:... type FromLegacy (line 171) | trait FromLegacy { method from_legacy (line 172) | fn from_legacy(legacy: LegacyPrincipal) -> Self; method from_legacy (line 176) | fn from_legacy(legacy: LegacyPrincipal) -> Self { type LegacyPrincipal (line 276) | pub struct LegacyPrincipal(PrincipalSet); method deserialize (line 279) | fn deserialize(bytes: &[u8]) -> trc::Result { constant INT_MARKER (line 288) | const INT_MARKER: u8 = 1 << 7; function deserialize (line 290) | fn deserialize(bytes: &[u8]) -> Option { function deserialize_string (line 368) | fn deserialize_string(bytes: &mut Iter<'_, u8>) -> Option { function build_search_index (line 377) | pub(crate) fn build_search_index(batch: &mut BatchBuilder, principal_id:... FILE: crates/migration/src/principal_v2.rs function migrate_principals_v0_13 (line 28) | pub(crate) async fn migrate_principals_v0_13(server: &Server) -> trc::Re... function migrate_principal_v0_13 (line 191) | pub(crate) async fn migrate_principal_v0_13(server: &Server, account_id:... type PrincipalV2 (line 236) | pub struct PrincipalV2 { type PrincipalDataV2 (line 249) | pub enum PrincipalDataV2 { type PrincipalQuotaV2 (line 262) | pub struct PrincipalQuotaV2 { type PermissionGrantV2 (line 268) | pub struct PermissionGrantV2 { type PermissionV2 (line 288) | pub enum PermissionV2 { FILE: crates/migration/src/push_v1.rs function migrate_push_subscriptions_v011 (line 26) | pub(crate) async fn migrate_push_subscriptions_v011( method from_legacy (line 106) | fn from_legacy(legacy: Object) -> Self { function convert_keys (line 152) | fn convert_keys(value: &Value) -> Option { FILE: crates/migration/src/push_v2.rs function migrate_push_subscriptions_v013 (line 23) | pub(crate) async fn migrate_push_subscriptions_v013( type PushSubscriptionV2 (line 120) | pub struct PushSubscriptionV2 { FILE: crates/migration/src/queue_v1.rs function migrate_queue_v011 (line 33) | pub(crate) async fn migrate_queue_v011(server: &Server) -> trc::Result<(... function migrate_queue_v012 (line 117) | pub(crate) async fn migrate_queue_v012(server: &Server) -> trc::Result<(... function get_queue_events (line 214) | async fn get_queue_events(server: &Server) -> trc::Result) -> Self { type AsU64 (line 331) | trait AsU64 { method as_u64 (line 332) | fn as_u64(&self) -> u64; method as_u64 (line 335) | fn as_u64(&self) -> u64 { method as_u64 (line 340) | fn as_u64(&self) -> u64 { method as_u64 (line 345) | fn as_u64(&self) -> u64 { function migrate_legacy_error (line 350) | fn migrate_legacy_error(domain: &str, err: &LegacyError) -> ErrorDetails { function migrate_host_response (line 398) | fn migrate_host_response(response: LegacyHostResponse; type MessageV012 (line 413) | pub type MessageV012 = LegacyMessage; type LegacyMessage (line 425) | pub struct LegacyMessage { type LegacyRecipient (line 458) | pub struct LegacyRecipient { type LegacyDomain (line 477) | pub struct LegacyDomain { type LegacyError (line 495) | pub enum LegacyError { type LegacyErrorDetails (line 517) | pub struct LegacyErrorDetails { FILE: crates/migration/src/queue_v2.rs type LegacyMessage (line 28) | pub struct LegacyMessage { type LegacyRecipient (line 56) | pub struct LegacyRecipient { type LegacyHostResponse (line 79) | pub struct LegacyHostResponse { type LegacyUnexpectedResponse (line 94) | pub struct LegacyUnexpectedResponse { type LegacyErrorDetails (line 110) | pub struct LegacyErrorDetails { type LegacyError (line 126) | pub enum LegacyError { type LegacyQuotaKey (line 149) | pub enum LegacyQuotaKey { function migrate_queue_v014 (line 154) | pub(crate) async fn migrate_queue_v014(server: &Server) -> trc::Result<(... method from (line 220) | fn from(legacy: LegacyMessage) -> Self { method from (line 242) | fn from(legacy: LegacyRecipient) -> Self { method from (line 262) | fn from(legacy: LegacyErrorDetails) -> Self { method from (line 271) | fn from(legacy: LegacyQuotaKey) -> Self { method from (line 286) | fn from(legacy: LegacyError) -> Self { method from (line 302) | fn from(legacy: LegacyUnexpectedResponse) -> Self { function from (line 315) | fn from(legacy: LegacyHostResponse) -> Self { FILE: crates/migration/src/report.rs type ReportType (line 22) | enum ReportType { function migrate_reports (line 28) | pub(crate) async fn migrate_reports(server: &Server) -> trc::Result<()> { FILE: crates/migration/src/sieve_v1.rs function migrate_sieve_v011 (line 27) | pub(crate) async fn migrate_sieve_v011(server: &Server, account_id: u32)... method try_from_legacy (line 182) | fn try_from_legacy(legacy: Object) -> Option { method try_from_legacy (line 198) | fn try_from_legacy(legacy: Object) -> Option { FILE: crates/migration/src/sieve_v2.rs function migrate_sieve_v013 (line 22) | pub(crate) async fn migrate_sieve_v013(server: &Server, account_id: u32)... type SieveScriptV2 (line 101) | pub struct SieveScriptV2 { FILE: crates/migration/src/submission.rs function migrate_email_submissions (line 31) | pub(crate) async fn migrate_email_submissions( method from_legacy (line 157) | fn from_legacy(legacy: Object) -> Self { function convert_delivery_status (line 185) | fn convert_delivery_status(value: &Value) -> VecMap Envelope { function convert_envelope_address (line 251) | fn convert_envelope_address(envelope: &Value) -> Option

{ FILE: crates/migration/src/tasks_v1.rs function migrate_tasks_v011 (line 18) | pub(crate) async fn migrate_tasks_v011(server: &Server) -> trc::Result<(... FILE: crates/migration/src/tasks_v2.rs function migrate_tasks_v014 (line 17) | pub(crate) async fn migrate_tasks_v014(server: &Server) -> trc::Result<(... FILE: crates/migration/src/threads.rs function migrate_threads (line 17) | pub(crate) async fn migrate_threads(server: &Server, account_id: u32) ->... FILE: crates/migration/src/v011.rs function migrate_v0_11 (line 23) | pub(crate) async fn migrate_v0_11(server: &Server) -> trc::Result<()> { FILE: crates/migration/src/v012.rs function migrate_v0_12 (line 14) | pub(crate) async fn migrate_v0_12(server: &Server, migrate_tasks: bool) ... FILE: crates/migration/src/v013.rs function migrate_v0_13 (line 19) | pub(crate) async fn migrate_v0_13(server: &Server) -> trc::Result<()> { FILE: crates/migration/src/v014.rs constant SUBSPACE_BITMAP_ID (line 32) | pub const SUBSPACE_BITMAP_ID: u8 = b'b'; constant SUBSPACE_BITMAP_TAG (line 33) | pub const SUBSPACE_BITMAP_TAG: u8 = b'c'; constant SUBSPACE_BITMAP_TEXT (line 34) | pub const SUBSPACE_BITMAP_TEXT: u8 = b'v'; constant SUBSPACE_FTS_INDEX (line 35) | pub const SUBSPACE_FTS_INDEX: u8 = b'g'; constant SUBSPACE_TELEMETRY_INDEX (line 36) | pub const SUBSPACE_TELEMETRY_INDEX: u8 = b'w'; function migrate_v0_14 (line 38) | pub async fn migrate_v0_14(server: &Server) -> trc::Result<()> { function migrate_principal_v0_14 (line 138) | pub(crate) async fn migrate_principal_v0_14(server: &Server, account_id:... function migrate_indexes (line 154) | pub(crate) async fn migrate_indexes( FILE: crates/nlp/src/classifier/adam.rs type Adam (line 9) | pub struct Adam { method new (line 28) | pub fn new(n_parameters: usize, learning_rate: f32) -> Self { method with_hyperparams (line 46) | pub fn with_hyperparams(mut self, beta1: f32, beta2: f32, epsilon: f32... method with_initial_weights (line 53) | pub fn with_initial_weights(self, value: f32) -> Self { method step (line 63) | fn step(&mut self) { method update_param (line 71) | fn update_param(&mut self, i: usize, g: f32) { method update_bias (line 79) | fn update_bias(&mut self, g: f32) { method get_param (line 87) | fn get_param(&self, idx: usize) -> f32 { method get_bias (line 92) | fn get_bias(&self) -> f32 { method get_param_mut (line 97) | fn get_param_mut(&mut self, idx: usize) -> &mut f32 { method build_classifier (line 101) | fn build_classifier(&self) -> FhClassifier { method num_parameters (line 108) | fn num_parameters(&self) -> usize { FILE: crates/nlp/src/classifier/feature.rs type Sample (line 11) | pub struct Sample { type FhFeatureBuilder (line 16) | pub struct FhFeatureBuilder { type FhFeature (line 21) | pub struct FhFeature { type CcfhFeature (line 27) | pub struct CcfhFeature { type CcfhFeatureBuilder (line 34) | pub struct CcfhFeatureBuilder { type FeatureWeight (line 39) | pub trait FeatureWeight { method idx (line 40) | fn idx(&self) -> usize; method weight (line 41) | fn weight(&self) -> f32; method weight_mut (line 42) | fn weight_mut(&mut self) -> &mut f32; method weight (line 51) | fn weight(&self) -> f32 { method weight_mut (line 55) | fn weight_mut(&mut self) -> &mut f32 { method idx (line 59) | fn idx(&self) -> usize { method weight (line 65) | fn weight(&self) -> f32 { method weight_mut (line 69) | fn weight_mut(&mut self) -> &mut f32 { method idx (line 73) | fn idx(&self) -> usize { type UnprocessedFeature (line 45) | pub trait UnprocessedFeature { method prefix (line 46) | fn prefix(&self) -> u16; method value (line 47) | fn value(&self) -> &[u8]; type FeatureBuilder (line 110) | pub trait FeatureBuilder { type Feature (line 79) | type Feature = FhFeature; method build_feature (line 81) | fn build_feature(&self, bytes: &[u8], weight: f32) -> FhFeature { type Feature (line 93) | type Feature = CcfhFeature; method build_feature (line 95) | fn build_feature(&self, bytes: &[u8], weight: f32) -> CcfhFeature { method build_feature (line 114) | fn build_feature(&self, bytes: &[u8], weight: f32) -> Self::Feature; method scale (line 116) | fn scale(&self, features: &mut HashMap) { method build (line 123) | fn build( function new (line 163) | pub fn new(features: Vec, class: bool) -> Self { function as_ref (line 172) | fn as_ref(&self) -> &Sample { FILE: crates/nlp/src/classifier/ftrl.rs type Ftrl (line 10) | pub struct Ftrl { method new (line 26) | pub fn new(n_features: usize) -> Self { method with_hyperparams (line 37) | pub fn with_hyperparams(mut self, alpha: f64, beta: f64, l1_ratio: f64... method set_hyperparams (line 45) | pub fn set_hyperparams(&mut self, alpha: f64, beta: f64, l1_ratio: f64... method with_initial_weights (line 52) | pub fn with_initial_weights(self, value: f32) -> Self { type Zn (line 20) | pub struct Zn { method update_param (line 62) | fn update_param(&mut self, idx: usize, grad: f32) { method update_bias (line 78) | fn update_bias(&mut self, grad: f32) { method get_param (line 89) | fn get_param(&self, idx: usize) -> f32 { method get_bias (line 100) | fn get_bias(&self) -> f32 { method step (line 104) | fn step(&mut self) {} method get_param_mut (line 107) | fn get_param_mut(&mut self, idx: usize) -> &mut f32 { method build_classifier (line 111) | fn build_classifier(&self) -> FhClassifier { method num_parameters (line 129) | fn num_parameters(&self) -> usize { FILE: crates/nlp/src/classifier/mod.rs constant MAX_DLOSS (line 17) | const MAX_DLOSS: f32 = 1e4; type Optimizer (line 19) | pub trait Optimizer { method step (line 20) | fn step(&mut self); method update_param (line 21) | fn update_param(&mut self, i: usize, g: f32); method update_bias (line 22) | fn update_bias(&mut self, g: f32); method get_param (line 23) | fn get_param(&self, idx: usize) -> f32; method get_param_mut (line 24) | fn get_param_mut(&mut self, idx: usize) -> &mut f32; method get_bias (line 25) | fn get_bias(&self) -> f32; method build_classifier (line 26) | fn build_classifier(&self) -> FhClassifier; method num_parameters (line 27) | fn num_parameters(&self) -> usize; function sigmoid (line 31) | fn sigmoid(z: f32) -> f32 { function gradient (line 42) | fn gradient(y: f32, p: f32) -> f32 { FILE: crates/nlp/src/classifier/model.rs type FhClassifier (line 13) | pub struct FhClassifier { method predict_proba_sample (line 26) | pub fn predict_proba_sample(&self, features: &[FhFeature]) -> f32 { method predict (line 36) | pub fn predict(&self, features: &[FhFeature]) -> f32 { method predict_batch (line 44) | pub fn predict_batch(&self, test: I) -> Vec method feature_builder (line 54) | pub fn feature_builder(&self) -> FhFeatureBuilder { method parameters (line 60) | pub fn parameters(&self) -> &[f32] { method bias (line 64) | pub fn bias(&self) -> f32 { type CcfhClassifier (line 19) | pub struct CcfhClassifier { method predict_proba_sample (line 70) | pub fn predict_proba_sample(&self, features: &[CcfhFeature]) -> f32 { method predict (line 81) | pub fn predict(&self, features: &[CcfhFeature]) -> f32 { method predict_batch (line 89) | pub fn predict_batch(&self, test: I) -> Vec method feature_builder (line 99) | pub fn feature_builder(&self) -> CcfhFeatureBuilder { method is_active (line 106) | pub fn is_active(&self) -> bool { FILE: crates/nlp/src/classifier/reservoir.rs type SampleReservoir (line 10) | pub struct SampleReservoir { type SampleReservoirClass (line 16) | pub struct SampleReservoirClass { function update_reservoir (line 22) | pub fn update_reservoir(&mut self, item: &T, is_spam: bool, capacity: us... function update_counts (line 41) | pub fn update_counts(&mut self, is_spam: bool) { function replay_samples (line 51) | pub fn replay_samples( function remove_sample (line 65) | pub fn remove_sample(&mut self, item: &T, is_spam: bool) { method default (line 79) | fn default() -> Self { FILE: crates/nlp/src/classifier/sgd.rs type Sgd (line 10) | pub struct Sgd { method new (line 25) | pub fn new(n_features: usize, alpha: f64, l1_ratio: f64, l2_ratio: f64... method with_initial_parameters (line 45) | pub fn with_initial_parameters(self, value: f32) -> Self { method maybe_rescale (line 52) | fn maybe_rescale(&mut self) { method apply_l1_penalty (line 62) | fn apply_l1_penalty(&mut self) { method step (line 79) | fn step(&mut self) { method update_param (line 86) | fn update_param(&mut self, i: usize, g: f32) { method update_bias (line 90) | fn update_bias(&mut self, g: f32) { method get_param (line 97) | fn get_param(&self, idx: usize) -> f32 { method get_bias (line 102) | fn get_bias(&self) -> f32 { method get_param_mut (line 107) | fn get_param_mut(&mut self, idx: usize) -> &mut f32 { method build_classifier (line 111) | fn build_classifier(&self) -> FhClassifier { method num_parameters (line 118) | fn num_parameters(&self) -> usize { function text_classifier (line 145) | fn text_classifier() { function fh_model_stats (line 245) | fn fh_model_stats( function ccfh_model_stats (line 275) | fn ccfh_model_stats( function accuracy_score (line 305) | fn accuracy_score(y_true: &[f32], y_pred: &[f32]) -> f32 { function precision_score (line 314) | fn precision_score(y_true: &[f32], y_pred: &[f32], positive_class: f32) ... function recall_score (line 335) | fn recall_score(y_true: &[f32], y_pred: &[f32], positive_class: f32) -> ... function f1_score (line 356) | fn f1_score(y_true: &[f32], y_pred: &[f32], positive_class: f32) -> f32 { function train_test_split (line 368) | pub fn train_test_split( function build_fh_samples (line 400) | pub fn build_fh_samples( function build_ccfh_samples (line 421) | pub fn build_ccfh_samples( method prefix (line 443) | fn prefix(&self) -> u16 { method value (line 447) | fn value(&self) -> &[u8] { FILE: crates/nlp/src/classifier/train.rs type FhTrainer (line 16) | pub struct FhTrainer { type CcfhTrainer (line 21) | pub struct CcfhTrainer { function new (line 27) | pub fn new(optimizer: T) -> Self { function fit (line 31) | pub fn fit(&mut self, samples: &mut [impl AsRef>], num... function feature_builder (line 55) | pub fn feature_builder(&self) -> FhFeatureBuilder { function build_classifier (line 61) | pub fn build_classifier(&self) -> FhClassifier { function optimizer (line 65) | pub fn optimizer(&self) -> &T { function optimizer_mut (line 69) | pub fn optimizer_mut(&mut self) -> &mut T { function new (line 75) | pub fn new(w_optimizer: W, i_optimizer: I) -> Self { function fit (line 82) | pub fn fit(&mut self, samples: &mut [impl AsRef>], n... function feature_builder (line 124) | pub fn feature_builder(&self) -> CcfhFeatureBuilder { function build_classifier (line 131) | pub fn build_classifier(&self) -> CcfhClassifier { function w_optimizer (line 142) | pub fn w_optimizer(&self) -> &W { function w_optimizer_mut (line 146) | pub fn w_optimizer_mut(&mut self) -> &mut W { function i_optimizer (line 150) | pub fn i_optimizer(&self) -> &I { function i_optimizer_mut (line 154) | pub fn i_optimizer_mut(&mut self) -> &mut I { FILE: crates/nlp/src/language/detect.rs constant MIN_LANGUAGE_SCORE (line 11) | pub const MIN_LANGUAGE_SCORE: f64 = 0.6; type WeightedAverage (line 14) | struct WeightedAverage { type LanguageDetector (line 21) | pub struct LanguageDetector { method new (line 32) | pub fn new() -> LanguageDetector { method detect (line 38) | pub fn detect(&mut self, text: &str, min_score: f64) -> Language { method most_frequent_language (line 61) | pub fn most_frequent_language(&self) -> Option { method detect_single (line 73) | pub fn detect_single(text: &str) -> Option<(Language, f64)> { method default (line 26) | fn default() -> Self { function detect_languages (line 159) | fn detect_languages() { function weighted_language (line 211) | fn weighted_language() { FILE: crates/nlp/src/language/mod.rs type LanguageTokenizer (line 20) | pub type LanguageTokenizer<'x> = Box( method is_unknown (line 130) | pub fn is_unknown(&self) -> bool { method from_iso_639 (line 134) | pub fn from_iso_639(code: &str) -> Option { method detect (line 196) | pub fn detect(text: String, default: Language) -> (String, Language) { method parse_value (line 212) | fn parse_value(value: &str) -> utils::config::Result { FILE: crates/nlp/src/language/search_snippet.rs function escape_char (line 9) | fn escape_char(c: char, string: &mut String) { function escape_char_len (line 20) | fn escape_char_len(c: char) -> usize { type Term (line 31) | pub struct Term { function generate_snippet (line 36) | pub fn generate_snippet( function search_snippets (line 163) | fn search_snippets() { FILE: crates/nlp/src/language/stemmer.rs type StemmedToken (line 14) | pub struct StemmedToken<'x> { type Stemmer (line 21) | pub struct Stemmer<'x> { function new (line 27) | pub fn new(text: &'x str, language: Language, max_token_length: usize) -... type Item (line 36) | type Item = StemmedToken<'x>; method next (line 38) | fn next(&mut self) -> Option { function stemmer (line 136) | fn stemmer() { FILE: crates/nlp/src/language/stopwords.rs type StopwordFnc (line 7) | pub type StopwordFnc = fn(&str) -> bool; function arabic (line 83) | fn arabic(input: &str) -> bool { function azarbaijani (line 332) | fn azarbaijani(input: &str) -> bool { function danish (line 503) | fn danish(input: &str) -> bool { function dutch (line 603) | fn dutch(input: &str) -> bool { function english (line 710) | fn english(input: &str) -> bool { function finnish (line 895) | fn finnish(input: &str) -> bool { function french (line 1130) | fn french(input: &str) -> bool { function german (line 1291) | fn german(input: &str) -> bool { function greek (line 1528) | fn greek(input: &str) -> bool { function hungarian (line 1799) | fn hungarian(input: &str) -> bool { function italian (line 2003) | fn italian(input: &str) -> bool { function norwegian (line 2288) | fn norwegian(input: &str) -> bool { function nepali (line 2466) | fn nepali(input: &str) -> bool { function portuguese (line 2726) | fn portuguese(input: &str) -> bool { function romanian (line 2935) | fn romanian(input: &str) -> bool { function russian (line 3297) | fn russian(input: &str) -> bool { function spanish (line 3454) | fn spanish(input: &str) -> bool { function swedish (line 3773) | fn swedish(input: &str) -> bool { function turkish (line 3893) | fn turkish(input: &str) -> bool { FILE: crates/nlp/src/tokenizers/chinese.rs type ChineseTokenizer (line 15) | pub struct ChineseTokenizer<'x, T, I> function new (line 30) | pub fn new(tokenizer: T) -> Self { type Item (line 44) | type Item = Token; method next (line 46) | fn next(&mut self) -> Option { function chinese_tokenizer (line 101) | fn chinese_tokenizer() { FILE: crates/nlp/src/tokenizers/japanese.rs type JapaneseTokenizer (line 13) | pub struct JapaneseTokenizer<'x, T, I> function new (line 28) | pub fn new(tokenizer: T) -> Self { type Item (line 42) | type Item = Token; method next (line 44) | fn next(&mut self) -> Option { constant BIAS (line 75) | const BIAS: i32 = -332; function get_score (line 77) | fn get_score(d: &HashMap, s: &T) -> i32 { function get_ctype (line 81) | fn get_ctype(c: char) -> char { function tokenize (line 96) | pub fn tokenize(s: &str) -> Vec { constant B1 (line 180) | const B1: char = '\u{F0000}'; constant B2 (line 181) | const B2: char = '\u{F0001}'; constant B3 (line 182) | const B3: char = '\u{F0002}'; constant E1 (line 183) | const E1: char = '\u{F0003}'; constant E2 (line 184) | const E2: char = '\u{F0004}'; constant E3 (line 185) | const E3: char = '\u{F0005}'; function japanese_tokenizer (line 321) | fn japanese_tokenizer() { FILE: crates/nlp/src/tokenizers/mod.rs type Token (line 17) | pub struct Token { type InnerToken (line 23) | pub trait InnerToken<'x>: Sized { method new_alphabetic (line 24) | fn new_alphabetic(value: impl Into>) -> Self; method unwrap_alphabetic (line 25) | fn unwrap_alphabetic(self) -> Cow<'x, str>; method is_alphabetic (line 26) | fn is_alphabetic(&self) -> bool; method is_alphabetic_8bit (line 27) | fn is_alphabetic_8bit(&self) -> bool; function new_alphabetic (line 31) | fn new_alphabetic(value: impl Into>) -> Self { function is_alphabetic (line 35) | fn is_alphabetic(&self) -> bool { function is_alphabetic_8bit (line 39) | fn is_alphabetic_8bit(&self) -> bool { function unwrap_alphabetic (line 43) | fn unwrap_alphabetic(self) -> Cow<'x, str> { function new (line 49) | pub fn new(offset: usize, len: usize, word: T) -> Token { FILE: crates/nlp/src/tokenizers/space.rs type SpaceTokenizer (line 9) | pub struct SpaceTokenizer<'x> { function new (line 16) | pub fn new(text: &'_ str, max_token_length: usize) -> SpaceTokenizer<'_> { type Item (line 26) | type Item = String; method next (line 28) | fn next(&mut self) -> Option { FILE: crates/nlp/src/tokenizers/stream.rs type WordStemTokenizer (line 18) | pub struct WordStemTokenizer { method new (line 31) | pub fn new(text: &str) -> Self { method tokenize (line 51) | pub fn tokenize<'x>(&self, word: &'x str, mut cb: impl FnMut(Cow<'x, s... type Stemmer (line 23) | enum Stemmer { function stream_tokenizer (line 84) | fn stream_tokenizer() { FILE: crates/nlp/src/tokenizers/types.rs type TypesTokenizer (line 12) | pub struct TypesTokenizer<'x> { type TokenType (line 27) | pub enum TokenType { type Item (line 47) | type Item = Token>; method next (line 49) | fn next(&mut self) -> Option { function new (line 105) | pub fn new(text: &'x str) -> Self { function tokenize_urls (line 121) | pub fn tokenize_urls(mut self, tokenize: bool) -> Self { function tokenize_urls_without_scheme (line 126) | pub fn tokenize_urls_without_scheme(mut self, tokenize: bool) -> Self { function tokenize_emails (line 131) | pub fn tokenize_emails(mut self, tokenize: bool) -> Self { function tokenize_numbers (line 136) | pub fn tokenize_numbers(mut self, tokenize: bool) -> Self { function consume (line 141) | fn consume(&mut self) -> bool { function next_ (line 211) | fn next_(&mut self) -> Option Option Option Option<(usize, usize, bool)> { function try_parse_ipv6 (line 580) | fn try_parse_ipv6(&mut self, start_pos: usize) -> Option<(usize, usize)> { function try_parse_number (line 606) | fn try_parse_number(&mut self) -> Option bool { function is_email_atom (line 690) | fn is_email_atom(&self) -> bool { function is_domain_atom (line 720) | fn is_domain_atom(&self, is_start: bool) -> bool { function type_tokenizer (line 737) | fn type_tokenizer() { FILE: crates/nlp/src/tokenizers/word.rs type WordTokenizer (line 11) | pub struct WordTokenizer<'x> { function new (line 18) | pub fn new(text: &'_ str, max_token_length: usize) -> WordTokenizer<'_> { type Item (line 29) | type Item = Token>; method next (line 31) | fn next(&mut self) -> Option { function indo_european_tokenizer (line 73) | fn indo_european_tokenizer() { FILE: crates/pop3/src/client.rs function ingest (line 20) | pub async fn ingest(&mut self, bytes: &[u8]) -> SessionResult { function validate_request (line 177) | async fn validate_request( FILE: crates/pop3/src/lib.rs type Pop3SessionManager (line 26) | pub struct Pop3SessionManager { method new (line 31) | pub fn new(inner: Arc) -> Self { type Session (line 36) | pub struct Session { type State (line 47) | pub enum State { method mailbox (line 60) | pub fn mailbox(&self) -> &Mailbox { method mailbox_mut (line 67) | pub fn mailbox_mut(&mut self) -> &mut Mailbox { method access_token (line 74) | pub fn access_token(&self) -> &Arc { FILE: crates/pop3/src/mailbox.rs type Mailbox (line 18) | pub struct Mailbox { type Message (line 26) | pub struct Message { function fetch_mailbox (line 34) | pub async fn fetch_mailbox(&self, account_id: u32) -> trc::Result) ->... FILE: crates/pop3/src/op/delete.rs function handle_dele (line 18) | pub async fn handle_dele(&mut self, msgs: Vec) -> trc::Result<()> { function handle_rset (line 53) | pub async fn handle_rset(&mut self) -> trc::Result<()> { function handle_quit (line 74) | pub async fn handle_quit(&mut self) -> trc::Result<()> { FILE: crates/pop3/src/op/fetch.rs function handle_fetch (line 21) | pub async fn handle_fetch(&mut self, msg: u32, lines: Option) -> tr... FILE: crates/pop3/src/op/list.rs function handle_list (line 15) | pub async fn handle_list(&mut self, msg: Option) -> trc::Result<()> { function handle_uidl (line 56) | pub async fn handle_uidl(&mut self, msg: Option) -> trc::Result<()> { function handle_stat (line 105) | pub async fn handle_stat(&mut self) -> trc::Result<()> { FILE: crates/pop3/src/op/mod.rs function handle_capa (line 20) | pub async fn handle_capa(&mut self) -> trc::Result<()> { function handle_stls (line 45) | pub async fn handle_stls(&mut self) -> trc::Result<()> { function handle_utf8 (line 55) | pub async fn handle_utf8(&mut self) -> trc::Result<()> { FILE: crates/pop3/src/protocol/mod.rs type Command (line 11) | pub enum Command { type Mechanism (line 61) | pub enum Mechanism { FILE: crates/pop3/src/protocol/request.rs type Error (line 12) | pub enum Error { type State (line 18) | pub enum State { type Parser (line 36) | pub struct Parser { method parse (line 43) | pub fn parse( constant MAX_ARG_LEN (line 40) | const MAX_ARG_LEN: usize = 256; function parse (line 151) | pub fn parse(bytes: &[u8; 4]) -> Result> { function update_argument (line 179) | pub fn update_argument(&mut self, arg_num: usize, byte: u8) -> Result<()... function finalize (line 229) | pub fn finalize(self, num_args: usize) -> Result) -> Result { function add_digit (line 274) | fn add_digit(num: &mut u32, byte: u8) -> Result<(), Cow<'static, str>> { method parse (line 287) | pub fn parse(value: &[u8]) -> Result { function parse_command (line 331) | fn parse_command() { FILE: crates/pop3/src/protocol/response.rs type Response (line 11) | pub enum Response<'x, T> { function serialize (line 26) | pub fn serialize(&self) -> Vec { method as_str (line 131) | pub fn as_str(&self) -> &'static str { type SerializeResponse (line 149) | pub trait SerializeResponse { method serialize (line 150) | fn serialize(&self) -> Vec; method serialize (line 154) | fn serialize(&self) -> Vec { function serialize_response (line 173) | fn serialize_response() { FILE: crates/pop3/src/session.rs method handle (line 27) | fn handle( method shutdown (line 60) | fn shutdown(&self) -> impl std::future::Future + Send { function handle_conn (line 66) | pub async fn handle_conn(&mut self) -> bool { function into_tls (line 138) | pub async fn into_tls(self) -> Result>, ()> { function write_bytes (line 156) | pub async fn write_bytes(&mut self, bytes: impl AsRef<[u8]>) -> trc::Res... function write_ok (line 180) | pub async fn write_ok(&mut self, message: impl Into>) ... function write_err (line 185) | pub async fn write_err(&mut self, err: trc::Error) -> bool { FILE: crates/services/src/broadcast/mod.rs type BroadcastBatch (line 19) | pub(crate) struct BroadcastBatch { constant MAX_BATCH_SIZE (line 23) | const MAX_BATCH_SIZE: usize = 100; constant BROADCAST_TOPIC (line 24) | pub(crate) const BROADCAST_TOPIC: &str = "stwt.agora"; function init (line 27) | pub fn init() -> Self { function insert (line 33) | pub fn insert(&mut self, message: BroadcastEvent) -> bool { function serialize (line 38) | pub fn serialize(&self, node_id: u16) -> Vec { function clear (line 101) | pub fn clear(&mut self) { function node_id (line 111) | pub fn node_id(&mut self) -> Option { function next_event (line 115) | pub fn next_event(&mut self) -> Result, ()> { function new (line 203) | pub fn new(messages: T) -> Self { FILE: crates/services/src/broadcast/publisher.rs function spawn_broadcast_publisher (line 15) | pub fn spawn_broadcast_publisher(inner: Arc, mut event_rx: mpsc::... FILE: crates/services/src/broadcast/subscriber.rs function spawn_broadcast_subscriber (line 18) | pub fn spawn_broadcast_subscriber(inner: Arc, mut shutdown_rx: wa... function log_event (line 230) | fn log_event(event: &BroadcastEvent) -> trc::Value { FILE: crates/services/src/housekeeper/mod.rs type Action (line 37) | struct Action { type ActionClass (line 43) | enum ActionClass { type Queue (line 63) | struct Queue { method schedule (line 884) | pub fn schedule(&mut self, due: Instant, event: ActionClass) { method remove_action (line 896) | pub fn remove_action(&mut self, event: &ActionClass) { method wake_up_time (line 900) | pub fn wake_up_time(&self) -> Duration { method pop (line 907) | pub fn pop(&mut self) -> Option { method has_action (line 915) | pub fn has_action(&self, event: &ActionClass) -> bool { constant METRIC_ALERTS_INTERVAL (line 71) | const METRIC_ALERTS_INTERVAL: Duration = Duration::from_secs(5 * 60); function spawn_housekeeper (line 74) | pub fn spawn_housekeeper(inner: Arc, mut rx: mpsc::Receiver impl Future std::cmp::Ordering { method partial_cmp (line 927) | fn partial_cmp(&self, other: &Self) -> Option { FILE: crates/services/src/lib.rs type StartServices (line 22) | pub trait StartServices: Sync + Send { method start_services (line 23) | fn start_services(&mut self) -> impl Future + Send; method start_services (line 31) | async fn start_services(&mut self) { type SpawnServices (line 26) | pub trait SpawnServices { method spawn_services (line 27) | fn spawn_services(&mut self, inner: Arc); method spawn_services (line 52) | fn spawn_services(&mut self, inner: Arc) { FILE: crates/services/src/state_manager/ece.rs constant ECE_WEBPUSH_AES128GCM_IKM_INFO_PREFIX (line 23) | const ECE_WEBPUSH_AES128GCM_IKM_INFO_PREFIX: &str = "WebPush: info\0"; constant ECE_WEBPUSH_AES128GCM_IKM_INFO_LENGTH (line 24) | const ECE_WEBPUSH_AES128GCM_IKM_INFO_LENGTH: usize = 144; constant ECE_WEBPUSH_IKM_LENGTH (line 25) | const ECE_WEBPUSH_IKM_LENGTH: usize = 32; constant ECE_WEBPUSH_PUBLIC_KEY_LENGTH (line 26) | const ECE_WEBPUSH_PUBLIC_KEY_LENGTH: usize = 65; constant ECE_WEBPUSH_DEFAULT_RS (line 27) | const ECE_WEBPUSH_DEFAULT_RS: u32 = 4096; constant ECE_WEBPUSH_DEFAULT_PADDING_BLOCK_SIZE (line 28) | const ECE_WEBPUSH_DEFAULT_PADDING_BLOCK_SIZE: usize = 128; constant ECE_AES128GCM_PAD_SIZE (line 30) | const ECE_AES128GCM_PAD_SIZE: usize = 1; constant ECE_AES128GCM_KEY_INFO (line 31) | const ECE_AES128GCM_KEY_INFO: &str = "Content-Encoding: aes128gcm\0"; constant ECE_AES128GCM_NONCE_INFO (line 32) | const ECE_AES128GCM_NONCE_INFO: &str = "Content-Encoding: nonce\0"; constant ECE_AES128GCM_HEADER_LENGTH (line 33) | const ECE_AES128GCM_HEADER_LENGTH: usize = 21; constant ECE_AES_KEY_LENGTH (line 34) | const ECE_AES_KEY_LENGTH: usize = 16; constant ECE_NONCE_LENGTH (line 36) | const ECE_NONCE_LENGTH: usize = 12; constant ECE_TAG_LENGTH (line 37) | const ECE_TAG_LENGTH: usize = 16; function ece_encrypt (line 39) | pub fn ece_encrypt( function hkdf_sha256 (line 153) | fn hkdf_sha256(salt: &[u8], secret: &[u8], info: &[u8], len: usize) -> R... function aes_gcm_128_encrypt (line 162) | fn aes_gcm_128_encrypt(key: &[u8], nonce: &[u8], data: &[u8]) -> Result<... function generate_info (line 170) | fn generate_info( function generate_iv (line 184) | pub fn generate_iv(nonce: &[u8], counter: usize) -> [u8; ECE_NONCE_LENGT... FILE: crates/services/src/state_manager/http.rs method send (line 25) | pub fn send(&mut self, id: Id, push_tx: mpsc::Sender, push_timeou... function http_request (line 99) | pub(crate) async fn http_request( FILE: crates/services/src/state_manager/manager.rs type Subscriber (line 19) | struct Subscriber { function spawn_push_router (line 25) | pub fn spawn_push_router(inner: Arc, mut change_rx: mpsc::Receive... FILE: crates/services/src/state_manager/mod.rs constant PURGE_EVERY (line 22) | const PURGE_EVERY: Duration = Duration::from_secs(3600); constant SEND_TIMEOUT (line 23) | const SEND_TIMEOUT: Duration = Duration::from_millis(500); type IpcSubscriber (line 26) | struct IpcSubscriber { method is_valid (line 60) | fn is_valid(&self) -> bool { type PushRegistration (line 32) | pub struct PushRegistration { type Event (line 42) | pub enum Event { FILE: crates/services/src/state_manager/push.rs function spawn_push_manager (line 29) | pub fn spawn_push_manager(inner: Arc) -> mpsc::Sender { function load_push_subscriptions (line 480) | async fn load_push_subscriptions( FILE: crates/services/src/task_manager/alarm.rs type SendAlarmTask (line 42) | pub trait SendAlarmTask: Sync + Send { method send_alarm (line 43) | fn send_alarm( method send_alarm (line 53) | async fn send_alarm( function send_email_alarm (line 94) | async fn send_email_alarm( function send_display_alarm (line 313) | async fn send_display_alarm( function write_next_alarm (line 383) | async fn write_next_alarm( type Details (line 429) | struct Details { function build_template (line 435) | async fn build_template( FILE: crates/services/src/task_manager/imip.rs type SendImipTask (line 45) | pub trait SendImipTask: Sync + Send { method send_imip (line 46) | fn send_imip( method send_imip (line 56) | async fn send_imip( function send_imip (line 78) | async fn send_imip( type Details (line 307) | pub struct Details { function build_itip_template (line 313) | pub async fn build_itip_template( function format_field (line 584) | fn format_field(value: &ArchivedItipValue, template: &str, chrono_locale... type RecurrenceFormatter (line 607) | pub struct RecurrenceFormatter; method format (line 610) | pub fn format(&self, rule: &ArchivedICalendarRecurrenceRule) -> String { method format_frequency (line 667) | fn format_frequency(&self, freq: &ArchivedICalendarFrequency, interval... method format_by_day (line 685) | fn format_by_day(&self, days: &[ArchivedICalendarDay]) -> String { method format_day (line 691) | fn format_day(&self, day: &ArchivedICalendarDay) -> String { method format_time_constraints (line 717) | fn format_time_constraints(&self, hours: &[u8], minutes: &[u8]) -> Str... method format_hour (line 744) | fn format_hour(&self, hour: u8) -> String { method format_month_days (line 754) | fn format_month_days(&self, days: &[i8]) -> String { method format_months (line 769) | fn format_months(&self, months: &[ArchivedICalendarMonth]) -> String { method format_year_days (line 778) | fn format_year_days(&self, days: &[i16_le]) -> String { method format_week_numbers (line 793) | fn format_week_numbers(&self, weeks: &[i8]) -> String { method format_set_positions (line 808) | fn format_set_positions(&self, positions: &[i32_le]) -> String { method format_list (line 826) | fn format_list(&self, items: &[String]) -> String { method ordinal (line 838) | fn ordinal(&self, n: u32) -> String { method month_name (line 851) | fn month_name(&self, month: u8) -> String { FILE: crates/services/src/task_manager/index.rs type SearchIndexTask (line 30) | pub(crate) trait SearchIndexTask: Sync + Send { method index (line 31) | fn index( method index (line 69) | async fn index(&self, tasks: &[Task]) -> Vec bool { function build_email_document (line 451) | async fn build_email_document( function build_calendar_document (line 498) | async fn build_calendar_document( function build_contact_document (line 531) | async fn build_contact_document( function build_tracing_span_document (line 569) | async fn build_tracing_span_document( function build_tracing_span_document (line 601) | async fn build_tracing_span_document( function delete_email_metadata (line 609) | async fn delete_email_metadata( FILE: crates/services/src/task_manager/lock.rs type TaskLockManager (line 9) | pub(crate) trait TaskLockManager: Sync + Send { method try_lock_task (line 10) | fn try_lock_task( method remove_index_lock (line 17) | fn remove_index_lock(&self, lock_key: Vec) -> impl Future) { type TaskLock (line 71) | pub(crate) trait TaskLock { method account_id (line 72) | fn account_id(&self) -> u32; method document_id (line 73) | fn document_id(&self) -> u32; method lock_key (line 74) | fn lock_key(&self) -> Vec; method lock_expiry (line 75) | fn lock_expiry(&self) -> u64; method value_classes (line 76) | fn value_classes(&self) -> impl Iterator; method account_id (line 80) | fn account_id(&self) -> u32 { method document_id (line 84) | fn document_id(&self) -> u32 { method lock_key (line 88) | fn lock_key(&self) -> Vec { method lock_expiry (line 98) | fn lock_expiry(&self) -> u64 { method value_classes (line 102) | fn value_classes(&self) -> impl Iterator { method account_id (line 112) | fn account_id(&self) -> u32 { method document_id (line 116) | fn document_id(&self) -> u32 { method lock_key (line 120) | fn lock_key(&self) -> Vec { method lock_expiry (line 129) | fn lock_expiry(&self) -> u64 { method value_classes (line 133) | fn value_classes(&self) -> impl Iterator { method account_id (line 144) | fn account_id(&self) -> u32 { method document_id (line 148) | fn document_id(&self) -> u32 { method lock_key (line 152) | fn lock_key(&self) -> Vec { method lock_expiry (line 161) | fn lock_expiry(&self) -> u64 { method value_classes (line 165) | fn value_classes(&self) -> impl Iterator { method account_id (line 181) | fn account_id(&self) -> u32 { method document_id (line 185) | fn document_id(&self) -> u32 { method lock_key (line 189) | fn lock_key(&self) -> Vec { method lock_expiry (line 198) | fn lock_expiry(&self) -> u64 { method value_classes (line 202) | fn value_classes(&self) -> impl Iterator { function lock_expiry (line 210) | pub(crate) fn lock_expiry(&self) -> u64 { function deserialize (line 218) | pub fn deserialize(key: &[u8], value: &[u8]) -> trc::Result { FILE: crates/services/src/task_manager/merge_threads.rs constant MAX_RETRIES (line 28) | const MAX_RETRIES: usize = 5; type MergeThreadsTask (line 30) | pub trait MergeThreadsTask: Sync + Send { method merge_threads (line 31) | fn merge_threads( method merge_threads (line 39) | async fn merge_threads( function merge_threads (line 57) | async fn merge_threads( FILE: crates/services/src/task_manager/mod.rs type Task (line 47) | pub struct Task { type TaskAction (line 55) | pub enum TaskAction { method name (line 541) | pub fn name(&self) -> &'static str { type IndexAction (line 63) | pub struct IndexAction { type ImipAction (line 69) | pub(crate) struct ImipAction; constant INDEX_EXPIRY (line 71) | const INDEX_EXPIRY: u64 = 60 * 5; constant ALARM_EXPIRY (line 72) | const ALARM_EXPIRY: u64 = 60 * 2; constant QUEUE_REFRESH_INTERVAL (line 73) | const QUEUE_REFRESH_INTERVAL: u64 = 60 * 5; type TaskManagerIpc (line 75) | pub(crate) struct TaskManagerIpc { type Locked (line 84) | struct Locked { function spawn_task_manager (line 89) | pub fn spawn_task_manager(inner: Arc) { type TaskQueueManager (line 317) | pub(crate) trait TaskQueueManager: Sync + Send { method process_tasks (line 318) | fn process_tasks(&self, ipc: &mut TaskManagerIpc) -> impl Future Duration { function delete_tasks (line 518) | async fn delete_tasks(server: &Server, tasks: &[T]) { FILE: crates/smtp/src/core/mod.rs type SmtpSessionManager (line 32) | pub struct SmtpSessionManager { method new (line 37) | pub fn new(inner: Arc) -> Self { type State (line 42) | pub enum State { type Session (line 53) | pub struct Session { type SessionData (line 63) | pub struct SessionData { method new (line 137) | pub fn new( method local (line 262) | pub fn local( type SessionAddress (line 98) | pub struct SessionAddress { method new (line 307) | pub fn new(address: String) -> Self { type SessionParameters (line 107) | pub struct SessionParameters { method default (line 177) | fn default() -> Self { method eq (line 183) | fn eq(&self, other: &Self) -> bool { method hash (line 191) | fn hash(&self, state: &mut H) { method cmp (line 197) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method partial_cmp (line 206) | fn partial_cmp(&self, other: &Self) -> Option { function local (line 212) | pub fn local( function has_failed (line 246) | pub fn has_failed(&mut self) -> Option { method default (line 301) | fn default() -> Self { FILE: crates/smtp/src/core/params.rs function eval_session_params (line 14) | pub async fn eval_session_params(&mut self) { function eval_post_auth_params (line 111) | pub async fn eval_post_auth_params(&mut self) { function eval_rcpt_params (line 126) | pub async fn eval_rcpt_params(&mut self) { FILE: crates/smtp/src/core/throttle.rs type NewKey (line 19) | pub trait NewKey: Sized { method new_key (line 20) | fn new_key(&self, e: &impl ResolveVariable, context: &str) -> Throttle... method new_key (line 24) | fn new_key(&self, e: &impl ResolveVariable, _: &str) -> ThrottleKey { method new_key (line 75) | fn new_key(&self, e: &impl ResolveVariable, context: &str) -> Throttle... function is_allowed (line 143) | pub async fn is_allowed(&mut self) -> bool { function throttle_rcpt (line 212) | pub async fn throttle_rcpt(&self, rcpt: &str, rate: &Rate, ctx: &str) ->... FILE: crates/smtp/src/inbound/auth.rs type SaslToken (line 23) | pub struct SaslToken { method from_mechanism (line 29) | pub fn from_mechanism(mechanism: u64) -> Option { function handle_sasl_response (line 52) | pub async fn handle_sasl_response( function authenticate (line 101) | pub async fn authenticate(&mut self, credentials: Credentials) -... function auth_error (line 180) | pub async fn auth_error(&mut self, response: &[u8]) -> Result { function authenticated_as (line 198) | pub fn authenticated_as(&self) -> Option<&str> { function is_authenticated (line 208) | pub fn is_authenticated(&self) -> bool { function authenticated_emails (line 212) | pub fn authenticated_emails(&self) -> &[String] { FILE: crates/smtp/src/inbound/data.rs function queue_message (line 50) | pub async fn queue_message(&mut self) -> Cow<'static, [u8]> { function build_message (line 725) | pub async fn build_message( function can_send_data (line 860) | pub async fn can_send_data(&mut self) -> Result { function write_received (line 896) | fn write_received(&self, headers: &mut Vec, id: u64) { FILE: crates/smtp/src/inbound/ehlo.rs function handle_ehlo (line 24) | pub async fn handle_ehlo(&mut self, domain: Cow<'_, str>, is_extended: b... FILE: crates/smtp/src/inbound/hooks/client.rs function send_mta_hook_request (line 12) | pub(super) async fn send_mta_hook_request( FILE: crates/smtp/src/inbound/hooks/message.rs function run_mta_hooks (line 34) | pub async fn run_mta_hooks( function run_mta_hook (line 174) | pub async fn run_mta_hook( function flatten_parameters (line 257) | fn flatten_parameters(parameters: AHashMap>) -> S... FILE: crates/smtp/src/inbound/hooks/mod.rs type Request (line 15) | pub struct Request { type Context (line 24) | pub struct Context { type Sasl (line 38) | pub struct Sasl { type Client (line 45) | pub struct Client { type Tls (line 55) | pub struct Tls { type Server (line 70) | pub struct Server { type Queue (line 77) | pub struct Queue { type Protocol (line 82) | pub struct Protocol { type Stage (line 87) | pub enum Stage { method from (line 197) | fn from(value: common::config::smtp::session::Stage) -> Self { type Address (line 103) | pub struct Address { type Envelope (line 110) | pub struct Envelope { type Message (line 116) | pub struct Message { type Response (line 127) | pub struct Response { type Action (line 136) | pub enum Action { type SmtpResponse (line 148) | pub struct SmtpResponse { type Modification (line 161) | pub enum Modification { FILE: crates/smtp/src/inbound/mail.rs function handle_mail_from (line 22) | pub async fn handle_mail_from(&mut self, from: MailFrom>) -... function handle_spf (line 528) | pub async fn handle_spf(&mut self, spf_output: &SpfOutput, strict: bool)... FILE: crates/smtp/src/inbound/milter/client.rs constant MILTER_CHUNK_SIZE (line 22) | const MILTER_CHUNK_SIZE: usize = 65535; function connect (line 25) | pub async fn connect(config: &Milter, session_id: u64) -> Result { function into_tls (line 66) | pub async fn into_tls( function init (line 100) | pub async fn init(&mut self) -> super::Result { function connection (line 119) | pub async fn connection( function helo (line 145) | pub async fn helo( function mail_from (line 166) | pub async fn mail_from( function rcpt_to (line 193) | pub async fn rcpt_to( function headers (line 220) | pub async fn headers(&mut self, headers: I) -> super::Result super::Result { function body (line 261) | pub async fn body(&mut self, body: &[u8]) -> super::Result<(Action, Vec<... function abort (line 303) | pub async fn abort(&mut self) -> super::Result<()> { function quit (line 307) | pub async fn quit(&mut self) -> super::Result<()> { function write (line 311) | async fn write(&mut self, action: Command<'_>) -> super::Result<()> { function read (line 327) | async fn read(&mut self) -> super::Result { function has_option (line 360) | fn has_option(&self, opt: u32) -> bool { function with_version (line 364) | pub fn with_version(mut self, version: MilterVersion) -> Self { FILE: crates/smtp/src/inbound/milter/macros.rs type IntoMacroValue (line 11) | pub trait IntoMacroValue<'x> { method into_macro_value (line 12) | fn into_macro_value(self) -> Cow<'x, [u8]>; function new (line 16) | pub fn new() -> Self { function with_cmd_code (line 20) | pub fn with_cmd_code(mut self, cmd_code: u8) -> Self { function with_macro (line 25) | pub fn with_macro(mut self, name: &'static [u8], value: impl IntoMacroVa... function with_queue_id (line 33) | pub fn with_queue_id(self, queue_id: impl IntoMacroValue<'x>) -> Self { function with_local_hostname (line 37) | pub fn with_local_hostname(self, my_hostname: impl IntoMacroValue<'x>) -... function with_validated_client_name (line 41) | pub fn with_validated_client_name(self, client_name: impl IntoMacroValue... function with_sasl_login_name (line 45) | pub fn with_sasl_login_name(self, sasl_login_name: impl IntoMacroValue<'... function with_sasl_sender (line 49) | pub fn with_sasl_sender(self, sasl_sender: impl IntoMacroValue<'x>) -> S... function with_sasl_method (line 53) | pub fn with_sasl_method(self, sasl_method: impl IntoMacroValue<'x>) -> S... function with_client_address (line 57) | pub fn with_client_address(self, client_address: impl IntoMacroValue<'x>... function with_client_connections (line 61) | pub fn with_client_connections(self, client_connections: impl IntoMacroV... function with_client_name (line 65) | pub fn with_client_name(self, client_name: impl IntoMacroValue<'x>) -> S... function with_client_port (line 69) | pub fn with_client_port(self, client_port: impl IntoMacroValue<'x>) -> S... function with_client_ptr (line 73) | pub fn with_client_ptr(self, client_ptr: impl IntoMacroValue<'x>) -> Self { function with_cert_issuer (line 77) | pub fn with_cert_issuer(self, cert_issuer: impl IntoMacroValue<'x>) -> S... function with_cert_subject (line 81) | pub fn with_cert_subject(self, cert_subject: impl IntoMacroValue<'x>) ->... function with_cipher_bits (line 85) | pub fn with_cipher_bits(self, cipher_bits: impl IntoMacroValue<'x>) -> S... function with_cipher (line 89) | pub fn with_cipher(self, cipher: impl IntoMacroValue<'x>) -> Self { function with_daemon_address (line 93) | pub fn with_daemon_address(self, daemon_address: impl IntoMacroValue<'x>... function with_daemon_name (line 97) | pub fn with_daemon_name(self, daemon_name: impl IntoMacroValue<'x>) -> S... function with_daemon_port (line 101) | pub fn with_daemon_port(self, daemon_port: impl IntoMacroValue<'x>) -> S... function with_mail_address (line 105) | pub fn with_mail_address(self, mail_address: impl IntoMacroValue<'x>) ->... function with_mail_host (line 109) | pub fn with_mail_host(self, mail_host_address: impl IntoMacroValue<'x>) ... function with_mail_mailer (line 113) | pub fn with_mail_mailer(self, mail_mailer: impl IntoMacroValue<'x>) -> S... function with_rcpt_address (line 117) | pub fn with_rcpt_address(self, rcpt_address: impl IntoMacroValue<'x>) ->... function with_rcpt_host (line 121) | pub fn with_rcpt_host(self, rcpt_host: impl IntoMacroValue<'x>) -> Self { function with_rcpt_mailer (line 125) | pub fn with_rcpt_mailer(self, rcpt_mailer: impl IntoMacroValue<'x>) -> S... function with_tls_version (line 129) | pub fn with_tls_version(self, tls_version: impl IntoMacroValue<'x>) -> S... function with_version (line 133) | pub fn with_version(self, version: impl IntoMacroValue<'x>) -> Self { method into_macro_value (line 139) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 145) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 151) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 157) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 163) | fn into_macro_value(self) -> Cow<'x, [u8]> { method into_macro_value (line 169) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 175) | fn into_macro_value(self) -> Cow<'x, [u8]> { function into_macro_value (line 181) | fn into_macro_value(self) -> Cow<'x, [u8]> { FILE: crates/smtp/src/inbound/milter/message.rs type Rejection (line 24) | enum Rejection { method from (line 531) | fn from(err: Error) -> Self { function run_milters (line 30) | pub async fn run_milters( function connect_and_run (line 155) | async fn connect_and_run( function run (line 182) | async fn run( method apply_milter_modifications (line 290) | pub fn apply_milter_modifications( method assert_continue (line 522) | fn assert_continue(self) -> Result<(), Rejection> { function strip_brackets (line 536) | fn strip_brackets(addr: &str) -> String { FILE: crates/smtp/src/inbound/milter/mod.rs type MilterClient (line 22) | pub struct MilterClient { type Error (line 38) | pub enum Error { method from (line 49) | fn from(err: std::io::Error) -> Self { type Command (line 54) | pub enum Command<'x> { type Response (line 91) | pub enum Response { type Action (line 101) | pub enum Action { type Modification (line 113) | pub enum Modification { type Options (line 148) | pub struct Options { type Macros (line 155) | pub struct Macros<'x> { type Macro (line 160) | pub struct Macro<'x> { constant SMFIF_NONE (line 165) | pub const SMFIF_NONE: u32 = 0x00000000; constant SMFIF_ADDHDRS (line 166) | pub const SMFIF_ADDHDRS: u32 = 0x00000001; constant SMFIF_CHGBODY (line 167) | pub const SMFIF_CHGBODY: u32 = 0x00000002; constant SMFIF_MODBODY (line 168) | pub const SMFIF_MODBODY: u32 = SMFIF_CHGBODY; constant SMFIF_ADDRCPT (line 169) | pub const SMFIF_ADDRCPT: u32 = 0x00000004; constant SMFIF_DELRCPT (line 170) | pub const SMFIF_DELRCPT: u32 = 0x00000008; constant SMFIF_CHGHDRS (line 171) | pub const SMFIF_CHGHDRS: u32 = 0x00000010; constant SMFIF_QUARANTINE (line 172) | pub const SMFIF_QUARANTINE: u32 = 0x00000020; constant SMFIF_CHGFROM (line 173) | pub const SMFIF_CHGFROM: u32 = 0x00000040; constant SMFIF_ADDRCPT_PAR (line 174) | pub const SMFIF_ADDRCPT_PAR: u32 = 0x00000080; constant SMFIF_SETSYMLIST (line 175) | pub const SMFIF_SETSYMLIST: u32 = 0x00000100; constant SMFIP_NOCONNECT (line 177) | pub const SMFIP_NOCONNECT: u32 = 0x00000001; constant SMFIP_NOHELO (line 178) | pub const SMFIP_NOHELO: u32 = 0x00000002; constant SMFIP_NOMAIL (line 179) | pub const SMFIP_NOMAIL: u32 = 0x00000004; constant SMFIP_NORCPT (line 180) | pub const SMFIP_NORCPT: u32 = 0x00000008; constant SMFIP_NOBODY (line 181) | pub const SMFIP_NOBODY: u32 = 0x00000010; constant SMFIP_NOHDRS (line 182) | pub const SMFIP_NOHDRS: u32 = 0x00000020; constant SMFIP_NOEOH (line 183) | pub const SMFIP_NOEOH: u32 = 0x00000040; constant SMFIP_NR_HDR (line 184) | pub const SMFIP_NR_HDR: u32 = 0x00000080; constant SMFIP_NOHREPL (line 185) | pub const SMFIP_NOHREPL: u32 = SMFIP_NR_HDR; constant SMFIP_NOUNKNOWN (line 186) | pub const SMFIP_NOUNKNOWN: u32 = 0x00000100; constant SMFIP_NODATA (line 187) | pub const SMFIP_NODATA: u32 = 0x00000200; constant SMFIP_SKIP (line 188) | pub const SMFIP_SKIP: u32 = 0x00000400; constant SMFIP_RCPT_REJ (line 189) | pub const SMFIP_RCPT_REJ: u32 = 0x00000800; constant SMFIP_NR_CONN (line 190) | pub const SMFIP_NR_CONN: u32 = 0x00001000; constant SMFIP_NR_HELO (line 191) | pub const SMFIP_NR_HELO: u32 = 0x00002000; constant SMFIP_NR_MAIL (line 192) | pub const SMFIP_NR_MAIL: u32 = 0x00004000; constant SMFIP_NR_RCPT (line 193) | pub const SMFIP_NR_RCPT: u32 = 0x00008000; constant SMFIP_NR_DATA (line 194) | pub const SMFIP_NR_DATA: u32 = 0x00010000; constant SMFIP_NR_UNKN (line 195) | pub const SMFIP_NR_UNKN: u32 = 0x00020000; constant SMFIP_NR_EOH (line 196) | pub const SMFIP_NR_EOH: u32 = 0x00040000; constant SMFIP_NR_BODY (line 197) | pub const SMFIP_NR_BODY: u32 = 0x00080000; constant SMFIP_HDR_LEADSPC (line 198) | pub const SMFIP_HDR_LEADSPC: u32 = 0x00100000; constant SMFIP_MDS_256K (line 199) | pub const SMFIP_MDS_256K: u32 = 0x10000000; constant SMFIP_MDS_1M (line 200) | pub const SMFIP_MDS_1M: u32 = 0x20000000; type Result (line 202) | pub type Result = std::result::Result; method fmt (line 205) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 282) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 295) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 312) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 341) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 473) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/smtp/src/inbound/milter/protocol.rs constant SMFIR_ADDRCPT (line 13) | pub const SMFIR_ADDRCPT: u8 = b'+'; constant SMFIR_DELRCPT (line 14) | pub const SMFIR_DELRCPT: u8 = b'-'; constant SMFIR_ADDRCPT_PAR (line 15) | pub const SMFIR_ADDRCPT_PAR: u8 = b'2'; constant SMFIR_SHUTDOWN (line 16) | pub const SMFIR_SHUTDOWN: u8 = b'4'; constant SMFIR_ACCEPT (line 17) | pub const SMFIR_ACCEPT: u8 = b'a'; constant SMFIR_REPLBODY (line 18) | pub const SMFIR_REPLBODY: u8 = b'b'; constant SMFIR_CONTINUE (line 19) | pub const SMFIR_CONTINUE: u8 = b'c'; constant SMFIR_DISCARD (line 20) | pub const SMFIR_DISCARD: u8 = b'd'; constant SMFIR_CHGFROM (line 21) | pub const SMFIR_CHGFROM: u8 = b'e'; constant SMFIR_CONN_FAIL (line 22) | pub const SMFIR_CONN_FAIL: u8 = b'f'; constant SMFIR_ADDHEADER (line 23) | pub const SMFIR_ADDHEADER: u8 = b'h'; constant SMFIR_INSHEADER (line 24) | pub const SMFIR_INSHEADER: u8 = b'i'; constant SMFIR_SETSYMLIST (line 25) | pub const SMFIR_SETSYMLIST: u8 = b'l'; constant SMFIR_CHGHEADER (line 26) | pub const SMFIR_CHGHEADER: u8 = b'm'; constant SMFIR_PROGRESS (line 27) | pub const SMFIR_PROGRESS: u8 = b'p'; constant SMFIR_QUARANTINE (line 28) | pub const SMFIR_QUARANTINE: u8 = b'q'; constant SMFIR_REJECT (line 29) | pub const SMFIR_REJECT: u8 = b'r'; constant SMFIR_SKIP (line 30) | pub const SMFIR_SKIP: u8 = b's'; constant SMFIR_TEMPFAIL (line 31) | pub const SMFIR_TEMPFAIL: u8 = b't'; constant SMFIR_REPLYCODE (line 32) | pub const SMFIR_REPLYCODE: u8 = b'y'; constant SMFIC_ABORT (line 34) | pub const SMFIC_ABORT: u8 = b'A'; constant SMFIC_BODY (line 35) | pub const SMFIC_BODY: u8 = b'B'; constant SMFIC_CONNECT (line 36) | pub const SMFIC_CONNECT: u8 = b'C'; constant SMFIC_MACRO (line 37) | pub const SMFIC_MACRO: u8 = b'D'; constant SMFIC_BODYEOB (line 38) | pub const SMFIC_BODYEOB: u8 = b'E'; constant SMFIC_HELO (line 39) | pub const SMFIC_HELO: u8 = b'H'; constant SMFIC_QUIT_NC (line 40) | pub const SMFIC_QUIT_NC: u8 = b'K'; constant SMFIC_HEADER (line 41) | pub const SMFIC_HEADER: u8 = b'L'; constant SMFIC_MAIL (line 42) | pub const SMFIC_MAIL: u8 = b'M'; constant SMFIC_EOH (line 43) | pub const SMFIC_EOH: u8 = b'N'; constant SMFIC_OPTNEG (line 44) | pub const SMFIC_OPTNEG: u8 = b'O'; constant SMFIC_QUIT (line 45) | pub const SMFIC_QUIT: u8 = b'Q'; constant SMFIC_RCPT (line 46) | pub const SMFIC_RCPT: u8 = b'R'; constant SMFIC_DATA (line 47) | pub const SMFIC_DATA: u8 = b'T'; constant SMFIC_UNKNOWN (line 48) | pub const SMFIC_UNKNOWN: u8 = b'U'; function build (line 51) | fn build(command: u8, len: u32) -> Vec { function serialize (line 58) | pub fn serialize(self) -> Vec { function deserialize (line 185) | pub fn deserialize(bytes: &[u8]) -> Command<'_> { method deserialize (line 266) | pub fn deserialize(bytes: &[u8]) -> Option { method can_continue (line 337) | pub fn can_continue(&self) -> bool { method into_action (line 344) | pub fn into_action(self) -> super::Result { method serialize (line 352) | pub fn serialize(&self) -> Vec { function read_nul_terminated (line 463) | fn read_nul_terminated(bytes: &mut std::slice::Iter, expected_len: u... function read_u32 (line 474) | fn read_u32(bytes: &mut std::slice::Iter) -> Option { type PacketReader (line 483) | pub struct PacketReader<'x> { function new (line 490) | pub fn new(bytes: &'x [u8]) -> PacketReader<'x> { function byte (line 497) | pub fn byte(&mut self) -> u8 { function read_nul_terminated (line 501) | pub fn read_nul_terminated(&mut self) -> Option<&'x [u8]> { function read_u32 (line 517) | pub fn read_u32(&mut self) -> u32 { function read_u16 (line 525) | pub fn read_u16(&mut self) -> u16 { FILE: crates/smtp/src/inbound/milter/receiver.rs type State (line 9) | enum State { type Receiver (line 20) | pub struct Receiver { method with_max_frame_len (line 42) | pub fn with_max_frame_len(max_frame_len: usize) -> Self { method read_frame (line 50) | pub fn read_frame<'x>(&mut self, packet: &'x [u8]) -> FrameResult<'x> { type FrameResult (line 26) | pub enum FrameResult<'x> { method default (line 33) | fn default() -> Self { FILE: crates/smtp/src/inbound/mod.rs type FilterResponse (line 28) | pub struct FilterResponse { method accept (line 142) | pub fn accept() -> Self { method reject (line 149) | pub fn reject() -> Self { method temp_fail (line 156) | pub fn temp_fail() -> Self { method shutdown (line 163) | pub fn shutdown() -> Self { method server_failure (line 170) | pub fn server_failure() -> Self { method disconnect (line 177) | pub fn disconnect(self) -> Self { method into_bytes (line 184) | pub fn into_bytes(self) -> Cow<'static, [u8]> { type ArcSeal (line 33) | pub trait ArcSeal { method seal (line 34) | fn seal<'x>( method seal (line 43) | fn seal<'x>( type DkimSign (line 56) | pub trait DkimSign { method sign (line 57) | fn sign(&self, message: &[u8]) -> mail_auth::Result; method sign_chained (line 58) | fn sign_chained(&self, message: &[&[u8]]) -> mail_auth::Result mail_auth::Result { method sign_chained (line 68) | fn sign_chained(&self, message: &[&[u8]]) -> mail_auth::Result &'static str; method as_str (line 81) | fn as_str(&self) -> &'static str { method as_str (line 95) | fn as_str(&self) -> &'static str { method as_str (line 107) | fn as_str(&self) -> &'static str { method as_str (line 120) | fn as_str(&self) -> &'static str { method as_str (line 132) | fn as_str(&self) -> &'static str { FILE: crates/smtp/src/inbound/rcpt.rs function handle_rcpt_to (line 24) | pub async fn handle_rcpt_to(&mut self, to: RcptTo>) -> Resu... function rcpt_error (line 394) | async fn rcpt_error(&mut self, response: &[u8], rcpt: String) -> Result<... FILE: crates/smtp/src/inbound/session.rs function ingest (line 29) | pub async fn ingest(&mut self, bytes: &[u8]) -> Result { function reset (line 468) | pub fn reset(&mut self) { function write (line 480) | pub async fn write(&mut self, bytes: &[u8]) -> Result<(), ()> { function read (line 515) | pub async fn read(&mut self, bytes: &mut [u8]) -> Result { method resolve_variable (line 542) | fn resolve_variable(&self, variable: u32) -> expr::Variable<'_> { method resolve_global (line 609) | fn resolve_global(&self, _: &str) -> Variable<'_> { FILE: crates/smtp/src/inbound/spam.rs function spam_classify (line 21) | pub async fn spam_classify<'x>( function build_spam_input (line 47) | pub fn build_spam_input<'x>( FILE: crates/smtp/src/inbound/spawn.rs method handle (line 24) | async fn handle(self, session: listener::SessionData impl std::future::Future + Send { function init_conn (line 76) | pub async fn init_conn(&mut self) -> bool { function handle_conn (line 145) | pub async fn handle_conn(&mut self) -> bool { function into_tls (line 256) | pub async fn into_tls(self) -> Result>, ()> { FILE: crates/smtp/src/inbound/vrfy.rs function handle_vrfy (line 13) | pub async fn handle_vrfy(&mut self, address: Cow<'_, str>) -> Result<(),... function handle_expn (line 86) | pub async fn handle_expn(&mut self, address: Cow<'_, str>) -> Result<(),... FILE: crates/smtp/src/lib.rs type StartQueueManager (line 24) | pub trait StartQueueManager { method start_queue_manager (line 25) | fn start_queue_manager(&mut self); method start_queue_manager (line 33) | fn start_queue_manager(&mut self) { type SpawnQueueManager (line 28) | pub trait SpawnQueueManager { method spawn_queue_manager (line 29) | fn spawn_queue_manager(&mut self, inner: Arc); method spawn_queue_manager (line 39) | fn spawn_queue_manager(&mut self, inner: Arc) { FILE: crates/smtp/src/outbound/client.rs type SmtpClient (line 31) | pub struct SmtpClient { function authenticate (line 38) | pub async fn authenticate( function auth (line 83) | pub(crate) async fn auth( function read_greeting (line 128) | pub async fn read_greeting( function read_smtp_data_response (line 139) | pub async fn read_smtp_data_response( function read_lmtp_data_response (line 152) | pub async fn read_lmtp_data_response( function write_chunks (line 163) | pub async fn write_chunks(&mut self, chunks: &[&[u8]]) -> Result<(), mai... function send_message (line 173) | pub async fn send_message( function say_helo (line 249) | pub async fn say_helo( function quit (line 276) | pub async fn quit(mut self: SmtpClient) { function read_ehlo (line 294) | pub async fn read_ehlo(&mut self) -> mail_send::Result mail_send::Result> { function read_many (line 380) | pub async fn read_many(&mut self, num: usize) -> mail_send::Result) -> mail_send::Result<... function write_message (line 444) | pub async fn write_message(&mut self, message: &[u8]) -> tokio::io::Resu... function start_tls (line 484) | pub async fn start_tls( function into_tls (line 497) | pub async fn into_tls( function connect (line 536) | pub async fn connect( function connect_using (line 553) | pub async fn connect_using( function try_start_tls (line 577) | pub async fn try_start_tls( function tls_connection (line 610) | pub fn tls_connection(&self) -> &ClientConnection { type StartTlsResult (line 616) | pub enum StartTlsResult { type BoxResponse (line 629) | pub(crate) trait BoxResponse { method into_box (line 630) | fn into_box(self) -> Response>; method into_box (line 634) | fn into_box(self) -> Response> { function from_mail_send_error (line 643) | pub(crate) fn from_mail_send_error(error: &mail_send::Error) -> trc::Err... function from_error_status (line 671) | pub(crate) fn from_error_status(err: &Status>, Err... function from_error_details (line 682) | pub(crate) fn from_error_details(err: &Error) -> trc::Error { FILE: crates/smtp/src/outbound/dane/dnssec.rs type TlsaLookup (line 20) | pub trait TlsaLookup: Sync + Send { method tlsa_lookup (line 21) | fn tlsa_lookup<'x>( method tlsa_lookup (line 28) | async fn tlsa_lookup<'x>( FILE: crates/smtp/src/outbound/dane/verify.rs type TlsaVerify (line 16) | pub trait TlsaVerify { method verify (line 17) | fn verify( method verify (line 26) | fn verify( FILE: crates/smtp/src/outbound/delivery.rs method try_deliver (line 45) | pub fn try_deliver(self, server: Server) { method deliver_task (line 149) | async fn deliver_task(self, server: Server, mut message: MessageWrapper)... type PendingDelivery (line 1309) | pub enum PendingDelivery { method has_pending_delivery (line 1316) | pub fn has_pending_delivery(&mut self) -> PendingDelivery { method set_rcpt_status (line 1380) | pub async fn set_rcpt_status( method set_rcpt_rate_limit (line 1407) | pub fn set_rcpt_rate_limit(&mut self, rcpt_idx: usize, retry_at: u64) { FILE: crates/smtp/src/outbound/local.rs method deliver_local (line 22) | pub(super) async fn deliver_local( FILE: crates/smtp/src/outbound/lookup.rs type IpLookupResult (line 18) | pub struct IpLookupResult { type DnsLookup (line 22) | pub trait DnsLookup: Sync + Send { method ip_lookup (line 23) | fn ip_lookup( method resolve_host (line 30) | fn resolve_host( method ip_lookup (line 38) | async fn ip_lookup( method resolve_host (line 108) | async fn resolve_host( type SourceIp (line 177) | pub trait SourceIp { method source_ip (line 178) | fn source_ip(&self, is_v4: bool) -> Option<&IpAndHost>; method source_ip (line 182) | fn source_ip(&self, is_v4: bool) -> Option<&IpAndHost> { type ToNextHop (line 196) | pub trait ToNextHop { method to_remote_hosts (line 197) | fn to_remote_hosts<'x, 'y: 'x>( method to_remote_hosts (line 205) | fn to_remote_hosts<'x, 'y: 'x>( FILE: crates/smtp/src/outbound/mod.rs type DeliveryResult (line 28) | pub(super) enum DeliveryResult { method domain (line 333) | pub fn domain( method rate_limited (line 340) | pub fn rate_limited(rcpt_idxs: Vec, retry_at: u64) -> Self { method account (line 347) | pub fn account(status: Status>, ErrorDetails>, r... function from_smtp_error (line 44) | pub fn from_smtp_error(hostname: &str, command: &str, err: mail_send::Er... function from_starttls_error (line 89) | pub fn from_starttls_error(hostname: &str, response: Option Self { function timeout (line 142) | pub fn timeout(hostname: &str, stage: &str) -> Self { function local_error (line 149) | pub fn local_error() -> Self { function from_mail_auth_error (line 156) | pub fn from_mail_auth_error(entity: &str, err: mail_auth::Error) -> Self { function from_mta_sts_error (line 169) | pub fn from_mta_sts_error(entity: &str, err: mta_sts::Error) -> Self { type NextHop (line 229) | pub enum NextHop<'x> { function hostname (line 240) | pub fn hostname(&self) -> &str { function fqdn_hostname (line 254) | pub fn fqdn_hostname(&self) -> Cow<'_, str> { function max_multi_homed (line 268) | pub fn max_multi_homed(&self) -> usize { function ip_lookup_strategy (line 276) | pub fn ip_lookup_strategy(&self) -> IpLookupStrategy { function port (line 284) | fn port(&self) -> u16 { function credentials (line 295) | fn credentials(&self) -> Option<&Credentials> { function allow_invalid_certs (line 303) | fn allow_invalid_certs(&self) -> bool { function implicit_tls (line 316) | fn implicit_tls(&self) -> bool { function is_smtp (line 324) | fn is_smtp(&self) -> bool { FILE: crates/smtp/src/outbound/mta_sts/lookup.rs constant MAX_POLICY_SIZE (line 21) | const MAX_POLICY_SIZE: usize = 1024 * 1024; type MtaStsLookup (line 23) | pub trait MtaStsLookup: Sync + Send { method lookup_mta_sts_policy (line 24) | fn lookup_mta_sts_policy( method lookup_mta_sts_policy (line 33) | async fn lookup_mta_sts_policy( method from (line 105) | fn from(err: &Error) -> Self { method fmt (line 114) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 143) | fn from(value: mail_auth::Error) -> Self { method from (line 149) | fn from(value: reqwest::Error) -> Self { method from (line 155) | fn from(value: String) -> Self { FILE: crates/smtp/src/outbound/mta_sts/mod.rs type Error (line 12) | pub enum Error { FILE: crates/smtp/src/outbound/mta_sts/parse.rs type ParsePolicy (line 9) | pub trait ParsePolicy { method parse (line 10) | fn parse(data: &str, id: String) -> Result method parse (line 16) | fn parse(mut data: &str, id: String) -> Result { FILE: crates/smtp/src/outbound/mta_sts/verify.rs type VerifyPolicy (line 9) | pub trait VerifyPolicy { method verify (line 10) | fn verify(&self, mx_host: &str) -> bool; method enforce (line 11) | fn enforce(&self) -> bool; method verify (line 15) | fn verify(&self, mx_host: &str) -> bool { method enforce (line 40) | fn enforce(&self) -> bool { FILE: crates/smtp/src/outbound/session.rs type SessionParams (line 24) | pub struct SessionParams<'x> { method deliver (line 36) | pub(super) async fn deliver( method build_mail_from (line 406) | fn build_mail_from(&self, capabilities: &EhloResponse) -> String { method build_rcpt_to (line 433) | fn build_rcpt_to(&self, rcpt: &Recipient, capabilities: &EhloResponse bool { method has_flag (line 475) | pub fn has_flag(&self, flag: u64) -> bool { FILE: crates/smtp/src/queue/dsn.rs type SendDsn (line 27) | pub trait SendDsn: Sync + Send { method send_dsn (line 28) | fn send_dsn(&self, message: &mut MessageWrapper) -> impl Future impl Future Option> { method handle_double_bounce (line 396) | fn handle_double_bounce(&mut self) { function write_dsn_text (line 429) | fn write_dsn_text(&self, addr: &str, dsn: &mut String) { method write_dsn_text (line 446) | fn write_dsn_text(&self, host: &str, addr: &str, dsn: &mut String) { method write_dsn_text (line 466) | fn write_dsn_text(&self, addr: &str, dsn: &mut String) { method write_dsn_headers (line 513) | fn write_dsn_headers(&self, dsn: &mut String, reporting_mta: &str) { method write_dsn (line 526) | fn write_dsn(&self, dsn: &mut String) { method write_dsn_will_retry_until (line 533) | fn write_dsn_will_retry_until(&self, created: u64, dsn: &mut String) { function into_permanent (line 545) | pub fn into_permanent(self) -> Self { function into_temporary (line 552) | pub fn into_temporary(self) -> Self { function is_permanent (line 559) | pub fn is_permanent(&self) -> bool { function write_dsn_action (line 563) | fn write_dsn_action(&self, dsn: &mut String) { function write_dsn (line 575) | fn write_dsn(&self, dsn: &mut String) { function write_dsn_status (line 582) | fn write_dsn_status(&self, dsn: &mut String) { function write_dsn_remote_mta (line 606) | fn write_dsn_remote_mta(&self, dsn: &mut String) { function write_dsn_diagnostic (line 628) | fn write_dsn_diagnostic(&self, dsn: &mut String) { type WriteDsn (line 667) | trait WriteDsn { method write_dsn_status (line 638) | fn write_dsn_status(&self, dsn: &mut String) { method write_dsn_diagnostic (line 652) | fn write_dsn_diagnostic(&self, dsn: &mut String) { method write_response (line 658) | fn write_response(&self, dsn: &mut String) { method write_dsn_status (line 668) | fn write_dsn_status(&self, dsn: &mut String); method write_dsn_diagnostic (line 669) | fn write_dsn_diagnostic(&self, dsn: &mut String); method write_response (line 670) | fn write_response(&self, dsn: &mut String); FILE: crates/smtp/src/queue/manager.rs type Queue (line 25) | pub struct Queue { method new (line 59) | pub fn new(core: Arc, rx: mpsc::Receiver) -> Self { method start (line 71) | pub async fn start(&mut self) { method handle_event (line 158) | async fn handle_event(&mut self, event: QueueEvent) -> bool { type QueueStats (line 36) | pub struct QueueStats { method new (line 361) | fn new(max_in_flight: usize) -> Self { method has_capacity (line 370) | pub fn has_capacity(&self) -> bool { type LockedMessage (line 43) | pub struct LockedMessage { constant BACK_PRESSURE_WARN_INTERVAL (line 56) | const BACK_PRESSURE_WARN_INTERVAL: Duration = Duration::from_secs(60); method next_event (line 226) | pub fn next_event(&self, queue: Option) -> Option { method next_delivery_event (line 252) | pub fn next_delivery_event(&self, queue: Option) -> Option) -> Option { method expires (line 290) | pub fn expires(&self, queue: Option) -> Option { method next_events (line 311) | pub fn next_events(&self) -> AHashMap { method expiration_time (line 341) | pub fn expiration_time(&self, created: u64) -> Option { method is_expired (line 348) | pub fn is_expired(&self, created: u64, now: u64) -> bool { type SpawnQueue (line 356) | pub trait SpawnQueue { method spawn (line 49) | fn spawn(self, core: Arc) { method spawn (line 357) | fn spawn(self, core: Arc); FILE: crates/smtp/src/queue/mod.rs type QueueId (line 28) | pub type QueueId = u64; type Schedule (line 31) | pub struct Schedule { type QueuedMessage (line 37) | pub struct QueuedMessage { type MessageSource (line 44) | pub enum MessageSource { type Message (line 56) | pub struct Message { type MessageWrapper (line 75) | pub struct MessageWrapper { type QuotaKey (line 93) | pub enum QuotaKey { type Recipient (line 108) | pub struct Recipient { method new (line 408) | pub fn new(address: impl AsRef) -> Self { method with_flags (line 421) | pub fn with_flags(mut self, flags: u64) -> Self { method with_orcpt (line 426) | pub fn with_orcpt(mut self, orcpt: Option>) -> Self { method address (line 431) | pub fn address(&self) -> &str { method domain_part (line 435) | pub fn domain_part(&self) -> &str { constant FROM_AUTHENTICATED (line 121) | pub const FROM_AUTHENTICATED: u64 = 1 << 32; constant FROM_UNAUTHENTICATED (line 122) | pub const FROM_UNAUTHENTICATED: u64 = 1 << 33; constant FROM_UNAUTHENTICATED_DMARC (line 123) | pub const FROM_UNAUTHENTICATED_DMARC: u64 = 1 << 34; constant FROM_DSN (line 124) | pub const FROM_DSN: u64 = 1 << 35; constant FROM_REPORT (line 125) | pub const FROM_REPORT: u64 = 1 << 36; constant FROM_AUTOGENERATED (line 126) | pub const FROM_AUTOGENERATED: u64 = 1 << 37; constant RCPT_DSN_SENT (line 128) | pub const RCPT_DSN_SENT: u64 = 1 << 32; constant RCPT_SPAM_PAYLOAD (line 130) | pub const RCPT_SPAM_PAYLOAD: u64 = 1 << 34; type Status (line 143) | pub enum Status { type HostResponse (line 164) | pub struct HostResponse { type Error (line 180) | pub enum Error { type UnexpectedResponse (line 203) | pub struct UnexpectedResponse { type ErrorDetails (line 219) | pub struct ErrorDetails { method cmp (line 225) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method partial_cmp (line 231) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 237) | fn eq(&self, other: &Self) -> bool { function now (line 245) | pub fn now() -> Self { function later (line 252) | pub fn later(duration: u64) -> Self { type QueueEnvelope (line 260) | pub struct QueueEnvelope<'x> { function new (line 270) | pub fn new(message: &'x Message, rcpt: &'x Recipient) -> Self { method resolve_variable (line 283) | fn resolve_variable(&self, variable: u32) -> expr::Variable<'x> { method resolve_global (line 352) | fn resolve_global(&self, _: &str) -> Variable<'_> { method resolve_variable (line 358) | fn resolve_variable(&self, variable: u32) -> expr::Variable<'_> { method resolve_global (line 373) | fn resolve_global(&self, _: &str) -> Variable<'_> { type RecipientDomain (line 378) | pub struct RecipientDomain<'x>(&'x str); function new (line 381) | pub fn new(domain: &'x str) -> Self { method resolve_variable (line 387) | fn resolve_variable(&self, variable: u32) -> expr::Variable<'x> { method resolve_global (line 394) | fn resolve_global(&self, _: &str) -> Variable<'_> { function instant_to_timestamp (line 400) | pub fn instant_to_timestamp(now: Instant, time: Instant) -> u64 { method address (line 441) | pub fn address(&self) -> &str { method domain_part (line 445) | pub fn domain_part(&self) -> &str { type InstantFromTimestamp (line 450) | pub trait InstantFromTimestamp { method to_instant (line 451) | fn to_instant(&self) -> Instant; method to_instant (line 455) | fn to_instant(&self) -> Instant { method fmt (line 469) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 507) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 545) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 560) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/smtp/src/queue/quota.rs type HasQueueQuota (line 19) | pub trait HasQueueQuota: Sync + Send { method has_quota (line 20) | fn has_quota(&self, message: &mut MessageWrapper) -> impl Future( method has_quota (line 33) | async fn has_quota(&self, message: &mut MessageWrapper) -> bool { method check_quota (line 120) | async fn check_quota<'x>( method release_quota (line 181) | pub fn release_quota(&mut self, batch: &mut BatchBuilder) { FILE: crates/smtp/src/queue/spool.rs constant LOCK_EXPIRY (line 35) | pub const LOCK_EXPIRY: u64 = 10 * 60; constant QUEUE_REFRESH (line 36) | pub const QUEUE_REFRESH: u64 = 5 * 60; constant INFINITE_LOCK (line 37) | const INFINITE_LOCK: u64 = 60 * 60 * 24 * 365; type QueuedMessages (line 39) | pub struct QueuedMessages { type SmtpSpool (line 44) | pub trait SmtpSpool: Sync + Send { method new_message (line 45) | fn new_message(&self, return_path: impl AsRef, span_id: u64) -> M... method next_event (line 47) | fn next_event(&self, queue: &mut Queue) -> impl Future, span_id: u64) -> M... method next_event (line 100) | async fn next_event(&self, queue: &mut Queue) -> QueuedMessages { method try_lock_event (line 199) | async fn try_lock_event(&self, queue_id: QueueId, queue_name: QueueNam... method unlock_event (line 229) | async fn unlock_event(&self, queue_id: QueueId, queue_name: QueueName) { method read_message (line 242) | async fn read_message( method read_message_archive (line 276) | async fn read_message_archive( function lock_id (line 288) | fn lock_id(queue_id: QueueId, queue_name: QueueName) -> [u8; 16] { method queue (line 296) | pub async fn queue( method add_recipient (line 536) | pub async fn add_recipient(&mut self, rcpt: impl AsRef, server: &Se... method save_changes (line 559) | pub async fn save_changes(mut self, server: &Server, prev_event: Option<... method remove (line 669) | pub async fn remove(self, server: &Server, prev_event: Option) -> b... method has_domain (line 726) | pub fn has_domain(&self, domains: &[String]) -> bool { method has_domain (line 739) | pub fn has_domain(&self, domains: &[String]) -> bool { method next_delivery_event (line 749) | pub fn next_delivery_event(&self, queue: Option) -> Option( method is_allowed (line 24) | async fn is_allowed<'x>( FILE: crates/smtp/src/reporting/analysis.rs type Compression (line 26) | enum Compression { type Format (line 32) | enum Format { type ReportData (line 38) | struct ReportData<'x> { type IncomingReport (line 47) | pub struct IncomingReport { type AnalyzeReport (line 54) | pub trait AnalyzeReport: Sync + Send { method analyze_report (line 55) | fn analyze_report(&self, message: Message<'static>, session_id: u64); method analyze_report (line 59) | fn analyze_report(&self, message: Message<'static>, session_id: u64) { type LogReport (line 335) | trait LogReport { method log (line 336) | fn log(&self); method log (line 340) | fn log(&self) { method log (line 421) | fn log(&self) { method log (line 458) | fn log(&self) { function has_domain (line 498) | pub fn has_domain(&self, domain: &[String]) -> bool { FILE: crates/smtp/src/reporting/dkim.rs function send_dkim_report (line 18) | pub async fn send_dkim_report( FILE: crates/smtp/src/reporting/dmarc.rs type DmarcFormat (line 42) | pub struct DmarcFormat { function send_dmarc_report (line 50) | pub async fn send_dmarc_report( type DmarcReporting (line 311) | pub trait DmarcReporting: Sync + Send { method send_dmarc_aggregate_report (line 312) | fn send_dmarc_aggregate_report(&self, event: ReportEvent) -> impl Futu... method generate_dmarc_aggregate_report (line 313) | fn generate_dmarc_aggregate_report( method delete_dmarc_report (line 320) | fn delete_dmarc_report(&self, event: ReportEvent) -> impl Future) -> impl Future) { FILE: crates/smtp/src/reporting/mod.rs function new_auth_failure (line 35) | pub fn new_auth_failure(&self, ft: AuthFailureType, rejected: bool) -> F... function is_report (line 53) | pub fn is_report(&self) -> bool { type SmtpReporting (line 73) | pub trait SmtpReporting: Sync + Send { method send_report (line 74) | fn send_report( method send_autogenerated (line 84) | fn send_autogenerated( method schedule_report (line 93) | fn schedule_report( method sign_message (line 98) | fn sign_message( method send_report (line 107) | async fn send_report( method send_autogenerated (line 155) | async fn send_autogenerated( method schedule_report (line 189) | async fn schedule_report(&self, report: impl Into + Sy... method sign_message (line 199) | async fn sign_message( type AggregateTimestamp (line 236) | pub trait AggregateTimestamp { method to_timestamp (line 237) | fn to_timestamp(&self) -> u64; method to_timestamp_ (line 238) | fn to_timestamp_(&self, dt: DateTime) -> u64; method as_secs (line 239) | fn as_secs(&self) -> u64; method due (line 240) | fn due(&self) -> u64; method to_timestamp (line 244) | fn to_timestamp(&self) -> u64 { method to_timestamp_ (line 252) | fn to_timestamp_(&self, mut dt: DateTime) -> u64 { method as_secs (line 276) | fn as_secs(&self) -> u64 { method due (line 285) | fn due(&self) -> u64 { type SerializedSize (line 290) | pub struct SerializedSize { method new (line 295) | pub fn new(bytes_left: usize) -> Self { method write (line 301) | fn write(&mut self, buf: &[u8]) -> io::Result { method flush (line 312) | fn flush(&mut self) -> io::Result<()> { type ReportLock (line 317) | pub trait ReportLock { method tls_lock (line 318) | fn tls_lock(&self) -> Vec; method dmarc_lock (line 319) | fn dmarc_lock(&self) -> Vec; method tls_lock (line 323) | fn tls_lock(&self) -> Vec { method dmarc_lock (line 331) | fn dmarc_lock(&self) -> Vec { FILE: crates/smtp/src/reporting/scheduler.rs constant REPORT_REFRESH (line 25) | pub const REPORT_REFRESH: Duration = Duration::from_secs(86400); function next_report_event (line 119) | async fn next_report_event(store: &Store) -> Vec { type LockReport (line 191) | pub trait LockReport: Sync + Send { method try_lock_report (line 192) | fn try_lock_report(&self, lock: &[u8]) -> impl Future +... method unlock_report (line 194) | fn unlock_report(&self, lock: &[u8]) -> impl Future + Send; method try_lock_report (line 198) | async fn try_lock_report(&self, key: &[u8]) -> bool { method unlock_report (line 224) | async fn unlock_report(&self, key: &[u8]) { type ToTimestamp (line 238) | pub trait ToTimestamp { method to_timestamp (line 239) | fn to_timestamp(&self) -> u64; method to_timestamp (line 243) | fn to_timestamp(&self) -> u64 { type SpawnReport (line 251) | pub trait SpawnReport { method spawn (line 28) | fn spawn(mut self, inner: Arc) { method spawn (line 252) | fn spawn(self, core: Arc); FILE: crates/smtp/src/reporting/spf.rs function send_spf_report (line 16) | pub async fn send_spf_report( FILE: crates/smtp/src/reporting/tls.rs type TlsRptOptions (line 36) | pub struct TlsRptOptions { type TlsFormat (line 42) | pub struct TlsFormat { type TlsReporting (line 51) | pub trait TlsReporting: Sync + Send { method send_tls_aggregate_report (line 52) | fn send_tls_aggregate_report( method generate_tls_aggregate_report (line 56) | fn generate_tls_aggregate_report( method schedule_tls (line 63) | fn schedule_tls(&self, event: Box) -> impl Future) -> impl Future) { method generate_tls_aggregate_report (line 252) | async fn generate_tls_aggregate_report( method schedule_tls (line 399) | async fn schedule_tls(&self, event: Box) { method delete_tls_report (line 526) | async fn delete_tls_report(&self, events: Vec) { FILE: crates/smtp/src/scripts/envelope.rs method apply_envelope_modification (line 17) | pub fn apply_envelope_modification(&mut self, envelope: Envelope, value:... FILE: crates/smtp/src/scripts/event_loop.rs type RunScript (line 27) | pub trait RunScript: Sync + Send { method run_script (line 28) | fn run_script( method run_script (line 37) | async fn run_script( FILE: crates/smtp/src/scripts/exec.rs function build_script_parameters (line 20) | pub fn build_script_parameters(&self, stage: &'static str) -> ScriptPara... function run_script (line 143) | pub async fn run_script( FILE: crates/smtp/src/scripts/mod.rs type ScriptResult (line 22) | pub enum ScriptResult { type ScriptParameters (line 34) | pub struct ScriptParameters<'x> { function new (line 48) | pub fn new() -> Self { function with_envelope (line 63) | pub async fn with_envelope( function with_message (line 87) | pub fn with_message(self, message: Message<'x>) -> Self { function with_auth_headers (line 94) | pub fn with_auth_headers(self, headers: &'x [u8]) -> Self { function set_variable (line 101) | pub fn set_variable( function set_envelope (line 110) | pub fn set_envelope(mut self, envelope: Envelope, value: impl Into Self { function with_session_id (line 120) | pub fn with_session_id(mut self, session_id: u64) -> Self { method default (line 127) | fn default() -> Self { FILE: crates/spam-filter/src/analysis/classifier.rs type SpamFilterAnalyzeClassify (line 11) | pub trait SpamFilterAnalyzeClassify: Sync + Send { method spam_filter_analyze_classify (line 12) | fn spam_filter_analyze_classify( method spam_filter_analyze_spam_trap (line 17) | fn spam_filter_analyze_spam_trap( method spam_filter_analyze_classify (line 24) | async fn spam_filter_analyze_classify(&self, ctx: &mut SpamFilterConte... method spam_filter_analyze_spam_trap (line 33) | async fn spam_filter_analyze_spam_trap(&self, ctx: &mut SpamFilterCont... FILE: crates/spam-filter/src/analysis/date.rs type SpamFilterAnalyzeDate (line 15) | pub trait SpamFilterAnalyzeDate: Sync + Send { method spam_filter_analyze_date (line 16) | fn spam_filter_analyze_date( method spam_filter_analyze_date (line 23) | async fn spam_filter_analyze_date(&self, ctx: &mut SpamFilterContext<'... FILE: crates/spam-filter/src/analysis/dmarc.rs type SpamFilterAnalyzeDmarc (line 14) | pub trait SpamFilterAnalyzeDmarc: Sync + Send { method spam_filter_analyze_dmarc (line 15) | fn spam_filter_analyze_dmarc( method spam_filter_analyze_dmarc (line 22) | async fn spam_filter_analyze_dmarc(&self, ctx: &mut SpamFilterContext<... FILE: crates/spam-filter/src/analysis/domain.rs type SpamFilterAnalyzeDomain (line 25) | pub trait SpamFilterAnalyzeDomain: Sync + Send { method spam_filter_analyze_domain (line 26) | fn spam_filter_analyze_domain( method spam_filter_analyze_domain (line 33) | async fn spam_filter_analyze_domain(&self, ctx: &mut SpamFilterContext... FILE: crates/spam-filter/src/analysis/ehlo.rs type SpamFilterAnalyzeEhlo (line 13) | pub trait SpamFilterAnalyzeEhlo: Sync + Send { method spam_filter_analyze_ehlo (line 14) | fn spam_filter_analyze_ehlo( method spam_filter_analyze_ehlo (line 21) | async fn spam_filter_analyze_ehlo(&self, ctx: &mut SpamFilterContext<'... FILE: crates/spam-filter/src/analysis/from.rs type SpamFilterAnalyzeFrom (line 14) | pub trait SpamFilterAnalyzeFrom: Sync + Send { method spam_filter_analyze_from (line 15) | fn spam_filter_analyze_from( method spam_filter_analyze_from (line 22) | async fn spam_filter_analyze_from(&self, ctx: &mut SpamFilterContext<'... FILE: crates/spam-filter/src/analysis/headers.rs type SpamFilterAnalyzeHeaders (line 15) | pub trait SpamFilterAnalyzeHeaders: Sync + Send { method spam_filter_analyze_headers (line 16) | fn spam_filter_analyze_headers( method spam_filter_analyze_headers (line 23) | async fn spam_filter_analyze_headers(&self, ctx: &mut SpamFilterContex... FILE: crates/spam-filter/src/analysis/html.rs type SpamFilterAnalyzeHtml (line 16) | pub trait SpamFilterAnalyzeHtml: Sync + Send { method spam_filter_analyze_html (line 17) | fn spam_filter_analyze_html( method spam_filter_analyze_html (line 30) | async fn spam_filter_analyze_html(&self, ctx: &mut SpamFilterContext<'... type Href (line 24) | struct Href { FILE: crates/spam-filter/src/analysis/init.rs type SpamFilterInit (line 21) | pub trait SpamFilterInit { method spam_filter_init (line 22) | fn spam_filter_init<'x>(&self, input: SpamFilterInput<'x>) -> SpamFilt... method spam_filter_init (line 28) | fn spam_filter_init<'x>(&self, mut input: SpamFilterInput<'x>) -> Spam... constant POSTMASTER_ADDRESSES (line 25) | const POSTMASTER_ADDRESSES: [&str; 3] = ["postmaster", "mailer-daemon", ... FILE: crates/spam-filter/src/analysis/ip.rs type SpamFilterAnalyzeIp (line 19) | pub trait SpamFilterAnalyzeIp: Sync + Send { method spam_filter_analyze_ip (line 20) | fn spam_filter_analyze_ip( method spam_filter_analyze_ip (line 27) | async fn spam_filter_analyze_ip(&self, ctx: &mut SpamFilterContext<'_>) { method new (line 128) | pub fn new(text: &str) -> IpParts { FILE: crates/spam-filter/src/analysis/llm.rs type SpamFilterAnalyzeLlm (line 14) | pub trait SpamFilterAnalyzeLlm: Sync + Send { method spam_filter_analyze_llm (line 15) | fn spam_filter_analyze_llm( method spam_filter_analyze_llm (line 22) | async fn spam_filter_analyze_llm(&self, ctx: &mut SpamFilterContext<'_... FILE: crates/spam-filter/src/analysis/messageid.rs type SpamFilterAnalyzeMid (line 14) | pub trait SpamFilterAnalyzeMid: Sync + Send { method spam_filter_analyze_message_id (line 15) | fn spam_filter_analyze_message_id( method spam_filter_analyze_message_id (line 22) | async fn spam_filter_analyze_message_id(&self, ctx: &mut SpamFilterCon... FILE: crates/spam-filter/src/analysis/mime.rs type SpamFilterAnalyzeMime (line 21) | pub trait SpamFilterAnalyzeMime: Sync + Send { method spam_filter_analyze_mime (line 22) | fn spam_filter_analyze_mime( method spam_filter_analyze_mime (line 29) | async fn spam_filter_analyze_mime(&self, ctx: &mut SpamFilterContext<'... FILE: crates/spam-filter/src/analysis/mod.rs function header_as_address (line 46) | pub fn header_as_address(&self, header: &Header<'_>) -> Option impl Iterator { function text_body (line 67) | pub fn text_body(&self) -> Option<&str> { method add_tag (line 83) | pub fn add_tag(&mut self, tag: impl Into) { method has_tag (line 87) | pub fn has_tag(&self, tag: impl AsRef) -> bool { type ElementLocation (line 93) | pub struct ElementLocation { method hash (line 99) | fn hash(&self, state: &mut H) { method eq (line 105) | fn eq(&self, other: &Self) -> bool { function new (line 113) | pub fn new(element: T, location: impl Into) -> Self { function is_trusted_domain (line 121) | pub(crate) async fn is_trusted_domain(server: &Server, domain: &str, spa... function is_url_redirector (line 141) | pub(crate) async fn is_url_redirector(server: &Server, url: &str, span_i... FILE: crates/spam-filter/src/analysis/pyzor.rs type SpamFilterAnalyzePyzor (line 13) | pub trait SpamFilterAnalyzePyzor: Sync + Send { method spam_filter_analyze_pyzor (line 14) | fn spam_filter_analyze_pyzor( method spam_filter_analyze_pyzor (line 21) | async fn spam_filter_analyze_pyzor(&self, ctx: &mut SpamFilterContext<... FILE: crates/spam-filter/src/analysis/received.rs type SpamFilterAnalyzeReceived (line 14) | pub trait SpamFilterAnalyzeReceived: Sync + Send { method spam_filter_analyze_received (line 15) | fn spam_filter_analyze_received( method spam_filter_analyze_received (line 22) | async fn spam_filter_analyze_received(&self, ctx: &mut SpamFilterConte... FILE: crates/spam-filter/src/analysis/recipient.rs type SpamFilterAnalyzeRecipient (line 16) | pub trait SpamFilterAnalyzeRecipient: Sync + Send { method spam_filter_analyze_recipient (line 17) | fn spam_filter_analyze_recipient( method spam_filter_analyze_recipient (line 24) | async fn spam_filter_analyze_recipient(&self, ctx: &mut SpamFilterCont... FILE: crates/spam-filter/src/analysis/replyto.rs type SpamFilterAnalyzeReplyTo (line 14) | pub trait SpamFilterAnalyzeReplyTo: Sync + Send { method spam_filter_analyze_reply_to (line 15) | fn spam_filter_analyze_reply_to( method spam_filter_analyze_reply_to (line 22) | async fn spam_filter_analyze_reply_to(&self, ctx: &mut SpamFilterConte... FILE: crates/spam-filter/src/analysis/rules.rs type SpamFilterAnalyzeRules (line 19) | pub trait SpamFilterAnalyzeRules: Sync + Send { method spam_filter_analyze_rules (line 20) | fn spam_filter_analyze_rules( method spam_filter_analyze_rules (line 27) | async fn spam_filter_analyze_rules(&self, ctx: &mut SpamFilterContext<... FILE: crates/spam-filter/src/analysis/score.rs type SpamFilterAnalyzeScore (line 31) | pub trait SpamFilterAnalyzeScore: Sync + Send { method spam_filter_finalize (line 32) | fn spam_filter_finalize( method spam_filter_classify (line 37) | fn spam_filter_classify( method spam_filter_finalize (line 52) | async fn spam_filter_finalize( method spam_filter_classify (line 191) | async fn spam_filter_classify( type SpamFilterScore (line 44) | pub struct SpamFilterScore { type ConfidenceStore (line 267) | pub trait ConfidenceStore { method spam_tag (line 268) | fn spam_tag(&self) -> &'static str; method spam_tag (line 272) | fn spam_tag(&self) -> &'static str { FILE: crates/spam-filter/src/analysis/subject.rs type SpamFilterAnalyzeSubject (line 16) | pub trait SpamFilterAnalyzeSubject: Sync + Send { method spam_filter_analyze_subject (line 17) | fn spam_filter_analyze_subject( method spam_filter_analyze_subject (line 24) | async fn spam_filter_analyze_subject(&self, ctx: &mut SpamFilterContex... FILE: crates/spam-filter/src/analysis/url.rs type SpamFilterAnalyzeUrl (line 26) | pub trait SpamFilterAnalyzeUrl: Sync + Send { method spam_filter_analyze_url (line 27) | fn spam_filter_analyze_url( method spam_filter_analyze_url (line 47) | async fn spam_filter_analyze_url(&self, ctx: &mut SpamFilterContext<'_... type UrlParts (line 34) | pub struct UrlParts<'x> { type UrlParsed (line 41) | pub struct UrlParsed { function http_get_header (line 284) | async fn http_get_header( function is_single_url (line 327) | fn is_single_url(tokens: &[TokenType]) -> bool { function is_single_html_url (line 350) | fn is_single_html_url( method eq (line 390) | fn eq(&self, other: &Self) -> bool { method hash (line 398) | fn hash(&self, state: &mut H) { function new (line 404) | pub fn new(url: impl Into>) -> Self { function to_owned (line 424) | pub fn to_owned(&self) -> UrlParts<'static> { FILE: crates/spam-filter/src/lib.rs type SpamFilterInput (line 22) | pub struct SpamFilterInput<'x> { type SpamFilterOutput (line 54) | pub struct SpamFilterOutput<'x> { type IpParts (line 82) | pub struct IpParts { type TextPart (line 86) | pub enum TextPart<'x> { type SpamFilterResult (line 100) | pub struct SpamFilterResult { type SpamFilterContext (line 111) | pub struct SpamFilterContext<'x> { type Hostname (line 118) | pub struct Hostname { type Email (line 125) | pub struct Email { method classifier_parts (line 198) | pub fn classifier_parts(&self) -> Option<(&str, &str)> { method is_valid (line 208) | pub fn is_valid(&self) -> bool { type Recipient (line 132) | pub struct Recipient { function from_message (line 138) | pub fn from_message(message: &'x Message<'x>, span_id: u64) -> Self { function train_mode (line 163) | pub fn train_mode(mut self) -> Self { method eq (line 170) | fn eq(&self, other: &Self) -> bool { method eq (line 178) | fn eq(&self, other: &Self) -> bool { method hash (line 186) | fn hash(&self, state: &mut H) { method hash (line 192) | fn hash(&self, state: &mut H) { method eq (line 214) | fn eq(&self, other: &Self) -> bool { method hash (line 222) | fn hash(&self, state: &mut H) { method partial_cmp (line 228) | fn partial_cmp(&self, other: &Self) -> Option { method partial_cmp (line 234) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 240) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method cmp (line 246) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { FILE: crates/spam-filter/src/modules/classifier.rs type SpamClassifier (line 51) | pub trait SpamClassifier { method spam_train (line 52) | fn spam_train(&self, retrain: bool) -> impl Future( method spam_train (line 92) | async fn spam_train(&self, retrain: bool) -> trc::Result<()> { method spam_classify (line 568) | async fn spam_classify(&self, ctx: &mut SpamFilterContext<'_>) -> trc:... method spam_build_tokens (line 686) | async fn spam_build_tokens<'x>(&self, ctx: &'x SpamFilterContext<'_>) ... type TrainingSample (line 66) | pub struct TrainingSample { type TrainingTask (line 71) | struct TrainingTask { type SpamTrainer (line 79) | pub struct SpamTrainer { type SpamTrainerClass (line 86) | pub enum SpamTrainerClass { method spawn (line 898) | fn spawn(self, num_epochs: usize) -> trc::Result { type FhTrainJob (line 874) | struct FhTrainJob { type CcfhTrainJob (line 879) | struct CcfhTrainJob { type TrainTask (line 884) | enum TrainTask { constant MAX_TOKEN_LENGTH (line 960) | const MAX_TOKEN_LENGTH: usize = 16; type Token (line 966) | pub enum Token<'x> { type Tokens (line 983) | pub struct Tokens<'x>(pub HashMap, f32, RandomState>); function insert_text_part (line 986) | fn insert_text_part(&mut self, part: &'x TextPart<'x>, is_body: bool) { function insert_type (line 1059) | fn insert_type, E, U, I>( function insert (line 1167) | fn insert(&mut self, token: Token<'x>) { function insert_if_missing (line 1171) | fn insert_if_missing(&mut self, token: Token<'x>) { function insert_email (line 1175) | fn insert_email(&mut self, email: &'x Email, is_sender: bool) { function from_alphanumeric (line 1208) | fn from_alphanumeric(s: &str) -> Self { function from_number (line 1336) | fn from_number(is_float: bool, num: &str) -> Self { function lower_prefix (line 1356) | fn lower_prefix(prefix: &str, value: &str) -> String { function truncate_word (line 1367) | fn truncate_word(word: &str, max_len: usize) -> &str { method prefix (line 1383) | fn prefix(&self) -> u16 { method value (line 1401) | fn value(&self) -> &[u8] { type CharType (line 1421) | enum CharType { method from_char (line 1429) | fn from_char(c: char) -> CharType { method default (line 1440) | fn default() -> Self { FILE: crates/spam-filter/src/modules/dnsbl.rs function check_dnsbl (line 26) | pub(crate) async fn check_dnsbl( function is_dnsbl (line 78) | async fn is_dnsbl( FILE: crates/spam-filter/src/modules/expression.rs type SpamFilterResolver (line 17) | pub(crate) struct SpamFilterResolver<'x, T: ResolveVariable> { function new (line 24) | pub fn new(ctx: &'x SpamFilterContext<'x>, item: &'x T, location: Locati... method resolve_variable (line 34) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 270) | fn resolve_global(&self, variable: &str) -> Variable<'_> { type EmailHeader (line 275) | pub(crate) struct EmailHeader<'x> { method resolve_variable (line 281) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 372) | fn resolve_global(&self, _: &str) -> Variable<'_> { method resolve_variable (line 378) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 389) | fn resolve_global(&self, _: &str) -> Variable<'_> { method resolve_variable (line 395) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 450) | fn resolve_global(&self, _: &str) -> Variable<'_> { type StringResolver (line 455) | pub struct StringResolver<'x>(pub &'x str); method resolve_variable (line 458) | fn resolve_variable(&self, _: u32) -> Variable<'_> { method resolve_global (line 462) | fn resolve_global(&self, _: &str) -> Variable<'_> { type StringListResolver (line 467) | pub struct StringListResolver<'x>(pub &'x [String]); method resolve_variable (line 470) | fn resolve_variable(&self, _: u32) -> Variable<'_> { method resolve_global (line 474) | fn resolve_global(&self, _: &str) -> Variable<'_> { FILE: crates/spam-filter/src/modules/html.rs type HtmlToken (line 11) | pub enum HtmlToken { constant A (line 28) | pub(crate) const A: u64 = b'a' as u64; constant IMG (line 29) | pub(crate) const IMG: u64 = (b'i' as u64) | ((b'm' as u64) << 8) | ((b'g... constant HEAD (line 30) | pub(crate) const HEAD: u64 = constant BODY (line 32) | pub(crate) const BODY: u64 = constant META (line 34) | pub(crate) const META: u64 = constant LINK (line 36) | pub(crate) const LINK: u64 = constant ALT (line 38) | pub(crate) const ALT: u64 = (b'a' as u64) | ((b'l' as u64) << 8) | ((b't... constant TITLE (line 39) | pub(crate) const TITLE: u64 = (b't' as u64) constant HREF (line 45) | pub(crate) const HREF: u64 = constant SRC (line 47) | pub(crate) const SRC: u64 = (b's' as u64) | ((b'r' as u64) << 8) | ((b'c... constant WIDTH (line 48) | pub(crate) const WIDTH: u64 = (b'w' as u64) constant HEIGHT (line 53) | pub(crate) const HEIGHT: u64 = (b'h' as u64) constant REL (line 59) | pub(crate) const REL: u64 = (b'r' as u64) | ((b'e' as u64) << 8) | ((b'l... constant CONTENT (line 60) | pub(crate) const CONTENT: u64 = (b'c' as u64) constant HTTP_EQUIV (line 67) | pub(crate) const HTTP_EQUIV: u64 = (b'h' as u64) function html_to_tokens (line 76) | pub fn html_to_tokens(input: &str) -> Vec { function test_html_to_tokens_text (line 343) | fn test_html_to_tokens_text() { function test_html_to_tokens_start_tag (line 355) | fn test_html_to_tokens_start_tag() { function test_html_to_tokens_end_tag (line 369) | fn test_html_to_tokens_end_tag() { function test_html_to_tokens_comment (line 376) | fn test_html_to_tokens_comment() { function test_html_to_tokens_mixed (line 388) | fn test_html_to_tokens_mixed() { function test_html_to_tokens_with_attributes (line 418) | fn test_html_to_tokens_with_attributes() { FILE: crates/spam-filter/src/modules/pyzor.rs constant MIN_LINE_LENGTH (line 20) | const MIN_LINE_LENGTH: usize = 8; constant ATOMIC_NUM_LINES (line 21) | const ATOMIC_NUM_LINES: usize = 4; constant DIGEST_SPEC (line 22) | const DIGEST_SPEC: &[(usize, usize)] = &[(20, 3), (60, 3)]; type PyzorResponse (line 25) | pub(crate) struct PyzorResponse { function pyzor_check (line 31) | pub(crate) async fn pyzor_check( function pyzor_send_message (line 86) | async fn pyzor_send_message( type PyzorDigest (line 142) | trait PyzorDigest { method pyzor_digest (line 143) | fn pyzor_digest(&self, writer: W) -> W; type PyzorCheck (line 146) | pub trait PyzorCheck { method pyzor_check_message (line 147) | fn pyzor_check_message(&self) -> String; method pyzor_check_message (line 167) | fn pyzor_check_message(&self) -> String { function pyzor_digest (line 151) | fn pyzor_digest(&self, writer: W) -> W { function pyzor_create_message (line 180) | fn pyzor_create_message(message: &Message<'_>, time: u64, thread: u16) -... function pyzor_digest (line 205) | fn pyzor_digest<'x, I, W>(mut writer: W, lines: I) -> W function html_to_text (line 284) | fn html_to_text(input: &str) -> String { function send_message (line 433) | async fn send_message() { function message_pyzor (line 459) | fn message_pyzor() { function digest_pyzor (line 481) | fn digest_pyzor() { constant HTML_TEXT (line 590) | const HTML_TEXT: &str = r#"MIME-Version: 1.0 constant HTML_TEXT_STYLE_SCRIPT (line 626) | const HTML_TEXT_STYLE_SCRIPT: &str = r#"MIME-Version: 1.0 constant TEXT_ATTACHMENT (line 656) | const TEXT_ATTACHMENT: &str = r#"MIME-Version: 1.0 constant TEXT_ATTACHMENT_W_NULL (line 685) | const TEXT_ATTACHMENT_W_NULL: &str = "MIME-Version: 1.0 constant TEXT_ATTACHMENT_W_MULTIPLE_NULLS (line 704) | const TEXT_ATTACHMENT_W_MULTIPLE_NULLS: &str = "MIME-Version: 1.0 constant TEXT_ATTACHMENT_W_SUBJECT_NULL (line 723) | const TEXT_ATTACHMENT_W_SUBJECT_NULL: &str = "MIME-Version: 1.0 constant TEXT_ATTACHMENT_W_CONTENTTYPE_NULL (line 742) | const TEXT_ATTACHMENT_W_CONTENTTYPE_NULL: &str = "MIME-Version: 1.0 constant HTML_RAW (line 761) | const HTML_RAW: &str = r#"Email spam Self { method new (line 63) | pub fn new(address: &str) -> Self { method sld_or_default (line 76) | pub fn sld_or_default(&self) -> &str { FILE: crates/store/src/backend/azure/mod.rs type AzureStore (line 20) | pub struct AzureStore { method open (line 26) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option trc::R... method delete_blob (line 173) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { method build_key (line 193) | fn build_key(&self, key: &[u8]) -> String { function into_error (line 207) | fn into_error(err: impl Display) -> trc::Error { FILE: crates/store/src/backend/composite/read_replica.rs type SQLReadReplica (line 23) | pub struct SQLReadReplica { method open (line 30) | pub async fn open( method run_op (line 127) | async fn run_op<'x, F, T, R>(&'x self, f: F) -> trc::Result method get_blob (line 154) | pub async fn get_blob(&self, key: &[u8], range: Range) -> trc::... method put_blob (line 171) | pub async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Result<(... method delete_blob (line 181) | pub async fn delete_blob(&self, key: &[u8]) -> trc::Result { method get_value (line 191) | pub async fn get_value(&self, key: impl Key) -> trc::Result> method iterate (line 211) | pub async fn iterate( method get_counter (line 239) | pub async fn get_counter( method write (line 260) | pub async fn write(&self, batch: Batch<'_>) -> trc::Result { method delete_range (line 270) | pub async fn delete_range(&self, from: impl Key, to: impl Key) -> trc:... method purge_store (line 280) | pub async fn purge_store(&self) -> trc::Result<()> { method index (line 290) | pub async fn index(&self, documents: Vec) -> trc::Resul... method unindex (line 300) | pub async fn unindex(&self, query: SearchQuery) -> trc::Result { method query (line 310) | pub async fn query( FILE: crates/store/src/backend/composite/sharded_blob.rs type ShardedBlob (line 17) | pub struct ShardedBlob { method open (line 22) | pub fn open(config: &mut Config, prefix: impl AsKey, stores: &Stores) ... method get_store (line 52) | fn get_store(&self, key: &[u8]) -> &BlobBackend { method get_blob (line 56) | pub async fn get_blob( method put_blob (line 96) | pub async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Result<(... method delete_blob (line 132) | pub async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/composite/sharded_lookup.rs type ShardedInMemory (line 19) | pub struct ShardedInMemory { method open (line 24) | pub fn open(config: &mut Config, prefix: impl AsKey, stores: &Stores) ... method get_store (line 58) | fn get_store(&self, key: &[u8]) -> &InMemoryStore { method key_set (line 62) | pub async fn key_set(&self, kv: KeyValue>) -> trc::Result<()> { method counter_incr (line 74) | pub async fn counter_incr(&self, kv: KeyValue) -> trc::Result { method key_delete (line 86) | pub async fn key_delete(&self, key: impl Into>) -> trc::... method counter_delete (line 100) | pub async fn counter_delete(&self, key: impl Into>) -> t... method key_delete_prefix (line 115) | pub async fn key_delete_prefix(&self, prefix: &[u8]) -> trc::Result<()> { method key_get (line 133) | pub async fn key_get> + std::fmt:... method counter_get (line 150) | pub async fn counter_get(&self, key: impl Into>) -> trc:... method key_exists (line 164) | pub async fn key_exists(&self, key: impl Into>) -> trc::... FILE: crates/store/src/backend/elastic/main.rs method open (line 19) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option( method drop_indexes (line 138) | pub async fn drop_indexes(&self) -> trc::Result<()> { function assert_success (line 161) | pub(crate) async fn assert_success(response: Result) ->... FILE: crates/store/src/backend/elastic/mod.rs type ElasticSearchStore (line 15) | pub struct ElasticSearchStore { type SearchResponse (line 21) | pub struct SearchResponse { type Hits (line 26) | pub struct Hits { type Total (line 32) | pub struct Total { type Hit (line 37) | pub struct Hit { type DeleteByQueryResponse (line 44) | pub struct DeleteByQueryResponse { method es_schema (line 49) | pub fn es_schema(&self) -> Value { function deserialize_string_to_u64 (line 132) | fn deserialize_string_to_u64<'de, D>(deserializer: D) -> Result) -> trc::Result<... method query (line 57) | pub async fn query( method unindex (line 117) | pub async fn unindex(&self, filter: SearchQuery) -> trc::Result { method refresh_index (line 150) | pub async fn refresh_index(&self, index: SearchIndex) -> trc::Result<()> { function build_query (line 159) | fn build_query(filters: &[SearchFilter]) -> Value { function build_sort (line 294) | fn build_sort(sort: &[SearchComparator], tie_breaker: &str) -> Value { function json_serialize (line 318) | fn json_serialize(request: &mut String, document: &IndexDocument) { function json_serialize_str (line 356) | fn json_serialize_str(request: &mut String, value: &str) { FILE: crates/store/src/backend/foundationdb/blob.rs method get_blob (line 18) | pub(crate) async fn get_blob( method put_blob (line 100) | pub(crate) async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Res... method delete_blob (line 135) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/foundationdb/main.rs method open (line 15) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option Self { method is_expired (line 38) | pub fn is_expired(&self) -> bool { method default (line 44) | fn default() -> Self { function into_error (line 53) | fn into_error(error: FdbError) -> trc::Error { FILE: crates/store/src/backend/foundationdb/read.rs type ChunkedValue (line 21) | pub(crate) enum ChunkedValue { type ChunkedValueCollector (line 27) | struct ChunkedValueCollector { method get_value (line 33) | pub(crate) async fn get_value(&self, key: impl Key) -> trc::Result( method get_counter (line 166) | pub(crate) async fn get_counter( method read_trx (line 184) | pub(crate) async fn read_trx(&self) -> trc::Result { function read_chunked_value (line 202) | pub(crate) async fn read_chunked_value( FILE: crates/store/src/backend/foundationdb/write.rs method write (line 32) | pub(crate) async fn write(&self, batch: Batch<'_>) -> trc::Result... method purge_store (line 295) | pub(crate) async fn purge_store(&self) -> trc::Result<()> { method delete_range (line 346) | pub(crate) async fn delete_range(&self, from: impl Key, to: impl Key) ->... function chunk_value (line 356) | fn chunk_value(trx: &Transaction, key: &mut Vec, value: &[u8]) -> bo... FILE: crates/store/src/backend/fs/mod.rs type FsStore (line 18) | pub struct FsStore { method open (line 24) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option trc::R... method delete_blob (line 102) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { method build_path (line 112) | fn build_path(&self, key: &[u8]) -> PathBuf { function into_error (line 123) | fn into_error(err: std::io::Error) -> trc::Error { FILE: crates/store/src/backend/http/config.rs method parse_http_stores (line 22) | pub fn parse_http_stores(&mut self, config: &mut Config, is_reload: bool) { FILE: crates/store/src/backend/http/lookup.rs constant BROWSER_USER_AGENTS (line 22) | const BROWSER_USER_AGENTS: [&str; 5] = [ type HttpStoreGet (line 30) | pub(crate) trait HttpStoreGet { method get (line 31) | fn get(&self, key: &str) -> Option>; method contains (line 32) | fn contains(&self, key: &str) -> bool; method refresh (line 33) | fn refresh(&self); method get (line 37) | fn get(&self, key: &str) -> Option> { method contains (line 42) | fn contains(&self, key: &str) -> bool { method refresh (line 65) | fn refresh(&self) { method try_refresh (line 91) | async fn try_refresh(&self) -> trc::Result; type KafkaPubSub (line 20) | pub struct KafkaPubSub { method open (line 26) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option) -> std::fmt::Result { type CustomContext (line 95) | pub(super) struct CustomContext; method pre_rebalance (line 100) | fn pre_rebalance(&self, _: &BaseConsumer, _: &Rebalance) {} method post_rebalance (line 102) | fn post_rebalance(&self, _: &BaseConsumer, _: &Rebalance) {} method commit_callback (line 104) | fn commit_callback(&self, _: KafkaResult<()>, _: &TopicPartitionList) {} FILE: crates/store/src/backend/kafka/pubsub.rs type KafkaPubSubStream (line 18) | pub struct KafkaPubSubStream { method next (line 52) | pub async fn next(&mut self) -> Option { method publish (line 23) | pub async fn publish(&self, topic: &'static str, message: Vec) -> tr... method subscribe (line 36) | pub async fn subscribe(&self, topic: &'static str) -> trc::Result Option trc::Result<()> { method create_index (line 69) | async fn create_index(&self) -> trc::Result<()> { method update_index_settings (line 139) | async fn update_index_settings( method drop_indexes (line 160) | pub async fn drop_indexes(&self) -> trc::Result<()> { method wait_for_task (line 197) | pub(crate) async fn wait_for_task(&self, response: Response) -> trc::Res... function assert_success (line 269) | pub(crate) async fn assert_success(response: Result) ->... FILE: crates/store/src/backend/meili/mod.rs type MeiliSearchStore (line 14) | pub struct MeiliSearchStore { type TaskUid (line 23) | pub(crate) struct TaskUid { type TaskError (line 29) | struct TaskError { type Task (line 36) | struct Task { type TaskStatus (line 46) | enum TaskStatus { type MeiliSearchResponse (line 57) | struct MeiliSearchResponse { type MeiliHit (line 65) | struct MeiliHit { FILE: crates/store/src/backend/meili/search.rs method index (line 18) | pub async fn index(&self, documents: Vec) -> trc::Result<... method query (line 70) | pub async fn query( method unindex (line 140) | pub async fn unindex(&self, filter: SearchQuery) -> trc::Result { type FilterGroup (line 171) | struct FilterGroup { function build_query (line 176) | fn build_query(filters: &[SearchFilter]) -> FilterGroup { method write_meli_op (line 322) | fn write_meli_op(&self, query: &mut String, value: impl Display) { function json_serialize (line 343) | fn json_serialize(request: &mut String, document: &IndexDocument) { function json_serialize_str (line 410) | fn json_serialize_str(request: &mut String, value: &str) { method array_pos (line 435) | fn array_pos(&self) -> usize { FILE: crates/store/src/backend/memory/mod.rs type StaticMemoryStore (line 14) | pub type StaticMemoryStore = GlobMap>; method parse_static_stores (line 17) | pub fn parse_static_stores(&mut self, config: &mut Config, is_reload: bo... FILE: crates/store/src/backend/mod.rs constant MAX_TOKEN_LENGTH (line 42) | pub const MAX_TOKEN_LENGTH: usize = (u8::MAX >> 1) as usize; constant MAX_TOKEN_MASK (line 43) | pub const MAX_TOKEN_MASK: usize = MAX_TOKEN_LENGTH - 1; function deserialize_i64_le (line 46) | fn deserialize_i64_le(key: &[u8], bytes: &[u8]) -> trc::Result { FILE: crates/store/src/backend/mysql/blob.rs method get_blob (line 14) | pub(crate) async fn get_blob( method put_blob (line 41) | pub(crate) async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Res... method delete_blob (line 53) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/mysql/lookup.rs method sql_query (line 14) | pub(crate) async fn sql_query( function from (line 45) | fn from(value: crate::Value) -> Self { function from (line 58) | fn from(value: mysql_async::Value) -> Self { method into_rows (line 76) | fn into_rows(self) -> crate::Rows { method into_named_rows (line 92) | fn into_named_rows(self) -> crate::NamedRows { method into_row (line 112) | fn into_row(self) -> Option { method into_row (line 118) | fn into_row(self) -> Option { method into_rows (line 129) | fn into_rows(self) -> crate::Rows { method into_named_rows (line 133) | fn into_named_rows(self) -> crate::NamedRows { FILE: crates/store/src/backend/mysql/main.rs method open (line 26) | pub async fn open( method create_storage_tables (line 106) | pub(crate) async fn create_storage_tables(&self) -> trc::Result<()> { method create_search_tables (line 177) | pub(crate) async fn create_search_tables(&self) -> trc::Result<()> { function create_search_tables (line 190) | async fn create_search_tables trc::Error { method mysql_table (line 34) | pub fn mysql_table(&self) -> &'static str { type MysqlSearchField (line 46) | trait MysqlSearchField { method column (line 47) | fn column(&self) -> &'static str; method column_type (line 48) | fn column_type(&self) -> &'static str; method column (line 52) | fn column(&self) -> &'static str { method column_type (line 69) | fn column_type(&self) -> &'static str { method column (line 87) | fn column(&self) -> &'static str { method column_type (line 99) | fn column_type(&self) -> &'static str { method column (line 108) | fn column(&self) -> &'static str { method column_type (line 124) | fn column_type(&self) -> &'static str { method column (line 133) | fn column(&self) -> &'static str { method column_type (line 140) | fn column_type(&self) -> &'static str { method column (line 148) | fn column(&self) -> &'static str { method column_type (line 156) | fn column_type(&self) -> &'static str { method column (line 166) | fn column(&self) -> &'static str { method column_type (line 179) | fn column_type(&self) -> &'static str { FILE: crates/store/src/backend/mysql/read.rs method get_value (line 13) | pub(crate) async fn get_value(&self, key: impl Key) -> trc::Result( method get_counter (line 106) | pub(crate) async fn get_counter( FILE: crates/store/src/backend/mysql/search.rs method index (line 23) | pub async fn index(&self, documents: Vec) -> trc::Result<... method query (line 78) | pub async fn query( method unindex (line 103) | pub async fn unindex(&self, filter: SearchQuery) -> trc::Result { function build_filter (line 117) | fn build_filter(query: &mut String, filters: &[SearchFilter]) -> Vec Self { function to_mysql (line 311) | fn to_mysql(value: &SearchValue) -> Value { FILE: crates/store/src/backend/mysql/write.rs type CommitError (line 21) | enum CommitError { method from (line 405) | fn from(err: trc::Error) -> Self { method from (line 411) | fn from(err: mysql_async::Error) -> Self { method write (line 28) | pub(crate) async fn write(&self, mut batch: Batch<'_>) -> trc::Result trc::Result<()> { method delete_range (line 388) | pub(crate) async fn delete_range(&self, from: impl Key, to: impl Key) ->... FILE: crates/store/src/backend/nats/mod.rs type NatsPubSub (line 15) | pub struct NatsPubSub { method open (line 20) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option Option { method publish (line 17) | pub async fn publish(&self, topic: &'static str, message: Vec) -> tr... method subscribe (line 24) | pub async fn subscribe(&self, topic: &'static str) -> trc::Result trc::Res... method delete_blob (line 58) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/postgres/lookup.rs method sql_query (line 18) | pub(crate) async fn sql_query( method to_sql (line 58) | fn to_sql( method accepts (line 87) | fn accepts(_: &tokio_postgres::types::Type) -> bool method to_sql_checked (line 94) | fn to_sql_checked( method into_rows (line 122) | fn into_rows(self) -> crate::Rows { method into_named_rows (line 135) | fn into_named_rows(self) -> crate::NamedRows { method into_row (line 152) | fn into_row(self) -> Option { method into_row (line 158) | fn into_row(self) -> Option { method into_rows (line 166) | fn into_rows(self) -> crate::Rows { method into_named_rows (line 170) | fn into_named_rows(self) -> crate::NamedRows { function from_sql (line 176) | fn from_sql( function accepts (line 201) | fn accepts(_: &tokio_postgres::types::Type) -> bool { FILE: crates/store/src/backend/postgres/main.rs method open (line 24) | pub async fn open( method create_storage_tables (line 98) | pub(crate) async fn create_storage_tables(&self) -> trc::Result<()> { method create_search_tables (line 165) | pub(crate) async fn create_search_tables(&self) -> trc::Result<()> { function create_search_tables (line 178) | async fn create_search_tables trc::Error { function into_pool_error (line 48) | fn into_pool_error(err: deadpool::managed::PoolError &'static str { type PsqlSearchField (line 65) | trait PsqlSearchField { method column (line 66) | fn column(&self) -> &'static str; method column_type (line 67) | fn column_type(&self) -> &'static str; method sort_column_type (line 68) | fn sort_column_type(&self) -> Option<&'static str>; method sort_column (line 69) | fn sort_column(&self) -> Option<&'static str>; method column (line 73) | fn column(&self) -> &'static str { method column_type (line 90) | fn column_type(&self) -> &'static str { method sort_column_type (line 100) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 111) | fn sort_column(&self) -> Option<&'static str> { method column (line 126) | fn column(&self) -> &'static str { method column_type (line 138) | fn column_type(&self) -> &'static str { method sort_column_type (line 146) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 150) | fn sort_column(&self) -> Option<&'static str> { method column (line 156) | fn column(&self) -> &'static str { method column_type (line 172) | fn column_type(&self) -> &'static str { method sort_column_type (line 179) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 183) | fn sort_column(&self) -> Option<&'static str> { method column (line 189) | fn column(&self) -> &'static str { method column_type (line 196) | fn column_type(&self) -> &'static str { method sort_column_type (line 200) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 204) | fn sort_column(&self) -> Option<&'static str> { method column (line 209) | fn column(&self) -> &'static str { method column_type (line 217) | fn column_type(&self) -> &'static str { method sort_column_type (line 225) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 229) | fn sort_column(&self) -> Option<&'static str> { method column (line 235) | fn column(&self) -> &'static str { method column_type (line 248) | fn column_type(&self) -> &'static str { method sort_column_type (line 261) | fn sort_column_type(&self) -> Option<&'static str> { method sort_column (line 272) | fn sort_column(&self) -> Option<&'static str> { FILE: crates/store/src/backend/postgres/read.rs method get_value (line 15) | pub(crate) async fn get_value(&self, key: impl Key) -> trc::Result( method get_counter (line 98) | pub(crate) async fn get_counter( FILE: crates/store/src/backend/postgres/search.rs method index (line 23) | pub async fn index(&self, documents: Vec) -> trc::Result<... method query (line 127) | pub async fn query( method unindex (line 151) | pub async fn unindex(&self, filter: SearchQuery) -> trc::Result { method build_filter (line 163) | fn build_filter<'x>( function build_sort (line 283) | fn build_sort(query: &mut String, sort: &[SearchComparator]) { method to_sql (line 309) | fn to_sql( method accepts (line 342) | fn accepts(_: &tokio_postgres::types::Type) -> bool method to_sql_checked (line 349) | fn to_sql_checked( type DocId (line 380) | struct DocId(u64); method from_sql (line 383) | fn from_sql( method accepts (line 394) | fn accepts(typ: &Type) -> bool { method write_pqsql (line 400) | fn write_pqsql(&self, query: &mut String, value_pos: usize) { function pg_lang (line 425) | fn pg_lang(lang: &Language) -> Option<&'static str> { FILE: crates/store/src/backend/postgres/tls.rs type MakeRustlsConnect (line 27) | pub struct MakeRustlsConnect { method new (line 32) | pub fn new(config: ClientConfig) -> Self { type Stream (line 43) | type Stream = RustlsStream; type TlsConnect (line 44) | type TlsConnect = RustlsConnect; type Error (line 45) | type Error = io::Error; method make_tls_connect (line 47) | fn make_tls_connect(&mut self, hostname: &str) -> io::Result); type Stream (line 70) | type Stream = RustlsStream; type Error (line 71) | type Error = io::Error; type Future (line 72) | type Future = Pin>>... method connect (line 74) | fn connect(self, stream: S) -> Self::Future { type RustlsConnectData (line 61) | struct RustlsConnectData { type RustlsStream (line 86) | pub struct RustlsStream(Pin>>); function channel_binding (line 92) | fn channel_binding(&self) -> ChannelBinding { method poll_read (line 108) | fn poll_read( method poll_write (line 121) | fn poll_write( method poll_flush (line 129) | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll, cx: &mut Context) -> Poll Self { method from (line 424) | fn from(err: tokio_postgres::Error) -> Self { method write (line 30) | pub(crate) async fn write(&self, mut batch: Batch<'_>) -> trc::Result trc::Result<()> { method delete_range (line 400) | pub(crate) async fn delete_range(&self, from: impl Key, to: impl Key) ->... FILE: crates/store/src/backend/redis/lookup.rs method key_set (line 14) | pub async fn key_set(&self, key: &[u8], value: &[u8], expires: Option trc::Result<()> { method key_delete_prefix (line 73) | pub async fn key_delete_prefix(&self, prefix: &[u8]) -> trc::Result<()> { method key_get (line 86) | pub async fn key_get( method counter_get (line 102) | pub async fn counter_get(&self, key: &[u8]) -> trc::Result { method key_exists (line 115) | pub async fn key_exists(&self, key: &[u8]) -> trc::Result { method key_get_ (line 128) | async fn key_get_( method counter_get_ (line 145) | async fn counter_get_(&self, conn: &mut impl AsyncCommands, key: &[u8]) ... method key_exists_ (line 154) | async fn key_exists_(&self, conn: &mut impl AsyncCommands, key: &[u8]) -... method key_set_ (line 158) | async fn key_set_( method key_incr_ (line 172) | async fn key_incr_( method key_delete_ (line 194) | async fn key_delete_(&self, conn: &mut impl AsyncCommands, key: &[u8]) -... method key_delete_prefix_ (line 198) | async fn key_delete_prefix_( FILE: crates/store/src/backend/redis/mod.rs type RedisStore (line 24) | pub struct RedisStore { method open (line 44) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option) -> std::fmt::Result { function build_pool (line 157) | fn build_pool( function into_error (line 195) | fn into_error(err: impl Display) -> trc::Error { FILE: crates/store/src/backend/redis/pool.rs type Type (line 16) | type Type = MultiplexedConnection; type Error (line 17) | type Error = trc::Error; method create (line 19) | async fn create(&self) -> Result { method recycle (line 28) | async fn recycle( type Type (line 41) | type Type = ClusterConnection; type Error (line 42) | type Error = trc::Error; method create (line 44) | async fn create(&self) -> Result { method recycle (line 51) | async fn recycle( FILE: crates/store/src/backend/redis/pubsub.rs type RedisPubSubStream (line 13) | pub struct RedisPubSubStream { method next (line 81) | pub async fn next(&mut self) -> Option { type RedisClusterPubSubStream (line 17) | pub struct RedisClusterPubSubStream { method next (line 87) | pub async fn next(&mut self) -> Option { method publish (line 23) | pub async fn publish(&self, topic: &'static str, message: Vec) -> tr... method subscribe (line 44) | pub async fn subscribe(&self, topic: &'static str) -> trc::Result trc::Res... method delete_blob (line 46) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/rocksdb/main.rs method open (line 15) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option(&self, mut f: U) -> trc::Result function numeric_value_merge (line 151) | pub fn numeric_value_merge( FILE: crates/store/src/backend/rocksdb/mod.rs type CfHandle (line 22) | pub(crate) trait CfHandle { method subspace_handle (line 23) | fn subspace_handle(&self, subspace: u8) -> Arc>; method subspace_handle (line 28) | fn subspace_handle(&self, subspace: u8) -> Arc> { type RocksDbStore (line 35) | pub struct RocksDbStore { function into_error (line 41) | fn into_error(err: rocksdb::Error) -> trc::Error { FILE: crates/store/src/backend/rocksdb/read.rs method get_value (line 14) | pub(crate) async fn get_value(&self, key: impl Key) -> trc::Result( method get_counter (line 70) | pub(crate) async fn get_counter( FILE: crates/store/src/backend/rocksdb/write.rs method write (line 29) | pub(crate) async fn write(&self, mut batch: Batch<'_>) -> trc::Result... method purge_store (line 82) | pub(crate) async fn purge_store(&self) -> trc::Result<()> { type RocksDBTransaction (line 123) | struct RocksDBTransaction<'x, 'y> { type CommitError (line 131) | enum CommitError { method from (line 297) | fn from(err: rocksdb::Error) -> Self { method from (line 303) | fn from(err: trc::Error) -> Self { function commit (line 137) | fn commit(&mut self) -> Result { FILE: crates/store/src/backend/s3/mod.rs type S3Store (line 14) | pub struct S3Store { method open (line 21) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option trc::R... method delete_blob (line 155) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { method build_key (line 186) | fn build_key(&self, key: &[u8]) -> String { function into_error (line 200) | fn into_error(err: impl Display) -> trc::Error { FILE: crates/store/src/backend/sqlite/blob.rs method get_blob (line 14) | pub(crate) async fn get_blob( method put_blob (line 44) | pub(crate) async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Res... method delete_blob (line 56) | pub(crate) async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/backend/sqlite/lookup.rs method sql_query (line 14) | pub(crate) async fn sql_query( method to_sql (line 49) | fn to_sql(&self) -> rusqlite::Result> { method column_result (line 64) | fn column_result(value: rusqlite::types::ValueRef<'_>) -> rusqlite::type... method into_rows (line 78) | fn into_rows(mut self) -> crate::Rows { method into_named_rows (line 93) | fn into_named_rows(mut self) -> crate::NamedRows { method into_row (line 123) | fn into_row(self) -> Option { method into_row (line 129) | fn into_row(self) -> Option { method into_rows (line 137) | fn into_rows(self) -> crate::Rows { method into_named_rows (line 141) | fn into_named_rows(self) -> crate::NamedRows { FILE: crates/store/src/backend/sqlite/main.rs method open (line 16) | pub fn open(config: &mut Config, prefix: impl AsKey) -> Option { method open_memory (line 69) | pub fn open_memory() -> trc::Result { method create_tables (line 88) | pub(super) fn create_tables(&self) -> trc::Result<()> { method spawn_worker (line 151) | pub async fn spawn_worker(&self, mut f: U) -> trc::Result FILE: crates/store/src/backend/sqlite/mod.rs type SqliteStore (line 20) | pub struct SqliteStore { function into_error (line 26) | fn into_error(err: impl Display) -> trc::Error { FILE: crates/store/src/backend/sqlite/pool.rs type Source (line 12) | enum Source { type InitFn (line 17) | type InitFn = dyn Fn(&mut Connection) -> Result<(), rusqlite::Error> + S... type SqliteConnectionManager (line 20) | pub struct SqliteConnectionManager { method fmt (line 27) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method file (line 40) | pub fn file>(path: P) -> Self { method memory (line 49) | pub fn memory() -> Self { method with_flags (line 61) | pub fn with_flags(self, flags: OpenFlags) -> Self { method with_init (line 79) | pub fn with_init(self, init: F) -> Self type Connection (line 94) | type Connection = Connection; type Error (line 95) | type Error = rusqlite::Error; method connect (line 97) | fn connect(&self) -> Result { method is_valid (line 111) | fn is_valid(&self, conn: &mut Connection) -> Result<(), Error> { method has_broken (line 115) | fn has_broken(&self, _: &mut Connection) -> bool { function sleeper (line 88) | fn sleeper(_: i32) -> bool { FILE: crates/store/src/backend/sqlite/read.rs method get_value (line 12) | pub(crate) async fn get_value(&self, key: impl Key) -> trc::Result( method get_counter (line 109) | pub(crate) async fn get_counter( FILE: crates/store/src/backend/sqlite/write.rs method write (line 16) | pub(crate) async fn write(&self, batch: Batch<'_>) -> trc::Result trc::Result<()> { method delete_range (line 294) | pub(crate) async fn delete_range(&self, from: impl Key, to: impl Key) ->... FILE: crates/store/src/backend/zenoh/mod.rs type ZenohPubSub (line 11) | pub struct ZenohPubSub { method open (line 16) | pub async fn open(config: &mut Config, prefix: impl AsKey) -> Option Option { method publish (line 16) | pub async fn publish(&self, topic: &'static str, message: Vec) -> tr... method subscribe (line 28) | pub async fn subscribe(&self, topic: &'static str) -> trc::Result Self { method parse (line 32) | pub async fn parse(config: &mut Config) -> Self { method parse_stores (line 38) | pub async fn parse_stores(&mut self, config: &mut Config) { method parse_in_memory (line 369) | pub async fn parse_in_memory(&mut self, config: &mut Config, is_reload: ... type IsActiveStore (line 433) | trait IsActiveStore { method is_active_store (line 434) | fn is_active_store(&self, id: &str) -> bool; method is_active_in_memory_store (line 435) | fn is_active_in_memory_store(&self, id: &str) -> bool; method is_active_search_store (line 436) | fn is_active_search_store(&self, id: &str) -> bool; method is_active_store (line 440) | fn is_active_store(&self, id: &str) -> bool { method is_active_search_store (line 458) | fn is_active_search_store(&self, id: &str) -> bool { method is_active_in_memory_store (line 463) | fn is_active_in_memory_store(&self, id: &str) -> bool { FILE: crates/store/src/dispatch/blob.rs method get_blob (line 15) | pub async fn get_blob(&self, key: &[u8], range: Range) -> trc::Re... method put_blob (line 100) | pub async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Result<()> { method delete_blob (line 155) | pub async fn delete_blob(&self, key: &[u8]) -> trc::Result { method with_compression (line 200) | pub fn with_compression(self, compression: CompressionAlgo) -> Self { constant MAGIC_MARKER (line 208) | const MAGIC_MARKER: u8 = 0xa0; method marker (line 211) | pub fn marker(&self) -> u8 { method parse_value (line 221) | fn parse_value(value: &str) -> Result { FILE: crates/store/src/dispatch/lookup.rs type KeyValue (line 27) | pub struct KeyValue { method key_set (line 34) | pub async fn key_set(&self, kv: KeyValue>) -> trc::Result<()> { method counter_incr (line 64) | pub async fn counter_incr(&self, kv: KeyValue, return_value: bool) ... method key_delete (line 115) | pub async fn key_delete(&self, key: impl Into>) -> trc::Re... method counter_delete (line 140) | pub async fn counter_delete(&self, key: impl Into>) -> trc... method key_delete_prefix (line 165) | pub async fn key_delete_prefix(&self, prefix: &[u8]) -> trc::Result<()> { method key_get (line 210) | pub async fn key_get> + std::fmt::D... method counter_get (line 239) | pub async fn counter_get(&self, key: impl Into>) -> trc::R... method key_exists (line 263) | pub async fn key_exists(&self, key: impl Into>) -> trc::Re... method is_rate_allowed (line 285) | pub async fn is_rate_allowed( method try_lock (line 317) | pub async fn try_lock(&self, prefix: u8, key: &[u8], duration: u64) -> t... method remove_lock (line 393) | pub async fn remove_lock(&self, prefix: u8, key: &[u8]) -> trc::Result<(... method purge_in_memory_store (line 398) | pub async fn purge_in_memory_store(&self) -> trc::Result<()> { method is_sql (line 492) | pub fn is_sql(&self) -> bool { method is_redis (line 499) | pub fn is_redis(&self) -> bool { type LookupKey (line 509) | pub enum LookupKey<'x> { function from (line 517) | fn from(key: &'x str) -> Self { function from (line 523) | fn from(key: &'x String) -> Self { function from (line 529) | fn from(key: &'x [u8]) -> Self { function from (line 535) | fn from(key: Cow<'x, str>) -> Self { function from (line 544) | fn from(key: String) -> Self { function from (line 550) | fn from(key: Vec) -> Self { function as_str (line 556) | pub fn as_str(&self) -> &str { function into_bytes (line 565) | pub fn into_bytes(self) -> Vec { function as_bytes (line 574) | pub fn as_bytes(&self) -> &[u8] { function build_key (line 585) | pub fn build_key(prefix: u8, key: impl AsRef<[u8]>) -> Vec { function with_prefix (line 593) | pub fn with_prefix(prefix: u8, key: impl AsRef<[u8]>, value: T) -> Self { function new (line 601) | pub fn new(key: impl Into>, value: T) -> Self { function expires (line 609) | pub fn expires(mut self, expires: u64) -> Self { function expires_opt (line 614) | pub fn expires_opt(mut self, expires: Option) -> Self { type LookupValue (line 620) | enum LookupValue { method deserialize (line 626) | fn deserialize(bytes: &[u8]) -> trc::Result { function from (line 641) | fn from(value: LookupValue) -> Self { method from (line 650) | fn from(value: Value<'static>) -> Self { FILE: crates/store/src/dispatch/mod.rs method id (line 18) | pub fn id(&self) -> &'static str { type DocumentSet (line 42) | pub trait DocumentSet: Sync + Send { method min (line 43) | fn min(&self) -> u32; method max (line 44) | fn max(&self) -> u32; method contains (line 45) | fn contains(&self, id: u32) -> bool; method len (line 46) | fn len(&self) -> usize; method iterate (line 47) | fn iterate(&self) -> impl Iterator; method min (line 51) | fn min(&self) -> u32 { method max (line 55) | fn max(&self) -> u32 { method contains (line 59) | fn contains(&self, id: u32) -> bool { method len (line 63) | fn len(&self) -> usize { method iterate (line 67) | fn iterate(&self) -> impl Iterator { method contains (line 73) | fn contains(&self, id: u32) -> bool { method min (line 77) | fn min(&self) -> u32 { method max (line 81) | fn max(&self) -> u32 { method len (line 85) | fn len(&self) -> usize { method iterate (line 89) | fn iterate(&self) -> impl Iterator { method min (line 95) | fn min(&self) -> u32 { method max (line 99) | fn max(&self) -> u32 { method contains (line 103) | fn contains(&self, _: u32) -> bool { method len (line 107) | fn len(&self) -> usize { method iterate (line 111) | fn iterate(&self) -> impl Iterator { FILE: crates/store/src/dispatch/pubsub.rs type PubSubStream (line 9) | pub enum PubSubStream { method next (line 73) | pub async fn next(&mut self) -> Option { type Msg (line 24) | pub enum Msg { method payload (line 92) | pub fn payload(&self) -> &[u8] { method topic (line 107) | pub fn topic(&self) -> &str { method publish (line 39) | pub async fn publish(&self, topic: &'static str, message: Vec) -> tr... method subscribe (line 53) | pub async fn subscribe(&self, topic: &'static str) -> trc::Result bool { FILE: crates/store/src/dispatch/search.rs method query_account (line 21) | pub async fn query_account(&self, query: SearchQuery) -> trc::Result trc::Result) -> trc::Result<... method unindex (line 284) | pub async fn unindex(&self, query: SearchQuery) -> trc::Result { method internal_fts (line 304) | pub fn internal_fts(&self) -> Option<&Store> { method is_mysql (line 323) | pub fn is_mysql(&self) -> bool { method is_postgres (line 331) | pub fn is_postgres(&self) -> bool { method is_elasticsearch (line 339) | pub fn is_elasticsearch(&self) -> bool { method is_meilisearch (line 343) | pub fn is_meilisearch(&self) -> bool { method is_external (line 349) | pub fn is_external(&self) -> bool { method is_external (line 355) | pub fn is_external(&self) -> bool { FILE: crates/store/src/dispatch/store.rs method get_value (line 24) | pub async fn get_value(&self, key: impl Key) -> trc::Result> method iterate (line 50) | pub async fn iterate( method get_counter (line 85) | pub async fn get_counter( method sql_query (line 113) | pub async fn sql_query( method write (line 138) | pub async fn write(&self, batch: Batch<'_>) -> trc::Result { method assign_document_ids (line 171) | pub async fn assign_document_ids( method purge_store (line 191) | pub async fn purge_store(&self) -> trc::Result<()> { method delete_range (line 244) | pub async fn delete_range(&self, from: impl Key, to: impl Key) -> trc::R... method delete_documents (line 267) | pub async fn delete_documents( method danger_destroy_account (line 346) | pub async fn danger_destroy_account(&self, account_id: u32) -> trc::Resu... method get_blob (line 392) | pub async fn get_blob(&self, key: &[u8], range: Range) -> trc::Re... method put_blob (line 415) | pub async fn put_blob(&self, key: &[u8], data: &[u8]) -> trc::Result<()> { method delete_blob (line 438) | pub async fn delete_blob(&self, key: &[u8]) -> trc::Result { FILE: crates/store/src/lib.rs type Deserialize (line 30) | pub trait Deserialize: Sized + Sync + Send { method deserialize (line 31) | fn deserialize(bytes: &[u8]) -> trc::Result; method deserialize_owned (line 32) | fn deserialize_owned(bytes: Vec) -> trc::Result { type Serialize (line 37) | pub trait Serialize { method serialize (line 38) | fn serialize(&self) -> trc::Result>; type SerializeInfallible (line 41) | pub trait SerializeInfallible { method serialize (line 42) | fn serialize(&self) -> Vec; constant WITH_SUBSPACE (line 46) | pub(crate) const WITH_SUBSPACE: u32 = 1; type Key (line 48) | pub trait Key: Sync + Send + Clone { method serialize (line 49) | fn serialize(&self, flags: u32) -> Vec; method subspace (line 50) | fn subspace(&self) -> u8; type IndexKey (line 54) | pub struct IndexKey> { type IndexKeyPrefix (line 63) | pub struct IndexKeyPrefix { type ValueKey (line 70) | pub struct ValueKey> { type LogKey (line 78) | pub struct LogKey { constant U64_LEN (line 84) | pub const U64_LEN: usize = std::mem::size_of::(); constant U32_LEN (line 85) | pub const U32_LEN: usize = std::mem::size_of::(); constant U16_LEN (line 86) | pub const U16_LEN: usize = std::mem::size_of::(); constant SUBSPACE_ACL (line 88) | pub const SUBSPACE_ACL: u8 = b'a'; constant SUBSPACE_DIRECTORY (line 89) | pub const SUBSPACE_DIRECTORY: u8 = b'd'; constant SUBSPACE_TASK_QUEUE (line 90) | pub const SUBSPACE_TASK_QUEUE: u8 = b'f'; constant SUBSPACE_INDEXES (line 91) | pub const SUBSPACE_INDEXES: u8 = b'i'; constant SUBSPACE_BLOB_EXTRA (line 92) | pub const SUBSPACE_BLOB_EXTRA: u8 = b'j'; constant SUBSPACE_BLOB_LINK (line 93) | pub const SUBSPACE_BLOB_LINK: u8 = b'k'; constant SUBSPACE_BLOBS (line 94) | pub const SUBSPACE_BLOBS: u8 = b't'; constant SUBSPACE_LOGS (line 95) | pub const SUBSPACE_LOGS: u8 = b'l'; constant SUBSPACE_COUNTER (line 96) | pub const SUBSPACE_COUNTER: u8 = b'n'; constant SUBSPACE_IN_MEMORY_VALUE (line 97) | pub const SUBSPACE_IN_MEMORY_VALUE: u8 = b'm'; constant SUBSPACE_IN_MEMORY_COUNTER (line 98) | pub const SUBSPACE_IN_MEMORY_COUNTER: u8 = b'y'; constant SUBSPACE_PROPERTY (line 99) | pub const SUBSPACE_PROPERTY: u8 = b'p'; constant SUBSPACE_SETTINGS (line 100) | pub const SUBSPACE_SETTINGS: u8 = b's'; constant SUBSPACE_QUEUE_MESSAGE (line 101) | pub const SUBSPACE_QUEUE_MESSAGE: u8 = b'e'; constant SUBSPACE_QUEUE_EVENT (line 102) | pub const SUBSPACE_QUEUE_EVENT: u8 = b'q'; constant SUBSPACE_QUOTA (line 103) | pub const SUBSPACE_QUOTA: u8 = b'u'; constant SUBSPACE_REPORT_OUT (line 104) | pub const SUBSPACE_REPORT_OUT: u8 = b'h'; constant SUBSPACE_REPORT_IN (line 105) | pub const SUBSPACE_REPORT_IN: u8 = b'r'; constant SUBSPACE_TELEMETRY_SPAN (line 106) | pub const SUBSPACE_TELEMETRY_SPAN: u8 = b'o'; constant SUBSPACE_TELEMETRY_METRIC (line 107) | pub const SUBSPACE_TELEMETRY_METRIC: u8 = b'x'; constant SUBSPACE_SEARCH_INDEX (line 108) | pub const SUBSPACE_SEARCH_INDEX: u8 = b'z'; constant LEGACY_SUBSPACE_BITMAP_ID (line 111) | pub const LEGACY_SUBSPACE_BITMAP_ID: u8 = b'b'; constant LEGACY_SUBSPACE_BITMAP_TAG (line 112) | pub const LEGACY_SUBSPACE_BITMAP_TAG: u8 = b'c'; constant LEGACY_SUBSPACE_BITMAP_TEXT (line 113) | pub const LEGACY_SUBSPACE_BITMAP_TEXT: u8 = b'v'; constant LEGACY_SUBSPACE_FTS_INDEX (line 114) | pub const LEGACY_SUBSPACE_FTS_INDEX: u8 = b'g'; constant LEGACY_SUBSPACE_TELEMETRY_INDEX (line 115) | pub const LEGACY_SUBSPACE_TELEMETRY_INDEX: u8 = b'w'; type IterateParams (line 118) | pub struct IterateParams { type Stores (line 127) | pub struct Stores { method disable_enterprise_only (line 797) | pub fn disable_enterprise_only(&mut self) { type Store (line 137) | pub enum Store { method from (line 224) | fn from(store: backend::sqlite::SqliteStore) -> Self { method from (line 231) | fn from(store: backend::foundationdb::FdbStore) -> Self { method from (line 238) | fn from(store: backend::postgres::PostgresStore) -> Self { method from (line 245) | fn from(store: backend::mysql::MysqlStore) -> Self { method from (line 252) | fn from(store: backend::rocksdb::RocksDbStore) -> Self { method is_none (line 687) | pub fn is_none(&self) -> bool { method is_sql (line 692) | pub fn is_sql(&self) -> bool { method is_pg_or_mysql (line 711) | pub fn is_pg_or_mysql(&self) -> bool { method is_foundationdb (line 722) | pub fn is_foundationdb(&self) -> bool { method is_enterprise_store (line 734) | pub fn is_enterprise_store(&self) -> bool { method is_enterprise_store (line 744) | pub fn is_enterprise_store(&self) -> bool { method fmt (line 750) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type BlobStore (line 159) | pub struct BlobStore { method from (line 258) | fn from(store: FsStore) -> Self { method from (line 268) | fn from(store: backend::s3::S3Store) -> Self { method from (line 278) | fn from(store: backend::azure::AzureStore) -> Self { method from (line 312) | fn from(store: Store) -> Self { type CompressionAlgo (line 165) | pub enum CompressionAlgo { type BlobBackend (line 171) | pub enum BlobBackend { type SearchStore (line 187) | pub enum SearchStore { method from (line 287) | fn from(store: ElasticSearchStore) -> Self { method from (line 293) | fn from(store: MeiliSearchStore) -> Self { method from (line 306) | fn from(store: Store) -> Self { type InMemoryStore (line 194) | pub enum InMemoryStore { method from (line 300) | fn from(store: backend::redis::RedisStore) -> Self { method from (line 321) | fn from(store: Store) -> Self { type PubSubStore (line 209) | pub enum PubSubStore { method default (line 327) | fn default() -> Self { method default (line 336) | fn default() -> Self { method default (line 342) | fn default() -> Self { type PurgeStore (line 348) | pub enum PurgeStore { type PurgeSchedule (line 355) | pub struct PurgeSchedule { type Value (line 362) | pub enum Value<'x> { function to_str (line 374) | pub fn to_str<'y: 'x>(&'y self) -> Cow<'x, str> { type Row (line 387) | pub struct Row { type Rows (line 392) | pub struct Rows { type NamedRows (line 397) | pub struct NamedRows { type QueryType (line 403) | pub enum QueryType { type QueryResult (line 410) | pub trait QueryResult: Sync + Send + 'static { method from_exec (line 411) | fn from_exec(items: usize) -> Self; method from_exists (line 412) | fn from_exists(exists: bool) -> Self; method from_query_one (line 413) | fn from_query_one(items: impl IntoRows) -> Self; method from_query_all (line 414) | fn from_query_all(items: impl IntoRows) -> Self; method query_type (line 416) | fn query_type() -> QueryType; method query_type (line 426) | fn query_type() -> QueryType { method from_exec (line 430) | fn from_exec(_: usize) -> Self { method from_exists (line 434) | fn from_exists(_: bool) -> Self { method from_query_all (line 438) | fn from_query_all(_: impl IntoRows) -> Self { method from_query_one (line 442) | fn from_query_one(items: impl IntoRows) -> Self { method query_type (line 448) | fn query_type() -> QueryType { method from_exec (line 452) | fn from_exec(_: usize) -> Self { method from_exists (line 456) | fn from_exists(_: bool) -> Self { method from_query_all (line 460) | fn from_query_all(items: impl IntoRows) -> Self { method from_query_one (line 464) | fn from_query_one(_: impl IntoRows) -> Self { method query_type (line 470) | fn query_type() -> QueryType { method from_exec (line 474) | fn from_exec(_: usize) -> Self { method from_exists (line 478) | fn from_exists(_: bool) -> Self { method from_query_all (line 482) | fn from_query_all(items: impl IntoRows) -> Self { method from_query_one (line 486) | fn from_query_one(_: impl IntoRows) -> Self { method query_type (line 492) | fn query_type() -> QueryType { method from_exec (line 496) | fn from_exec(_: usize) -> Self { method from_exists (line 500) | fn from_exists(exists: bool) -> Self { method from_query_all (line 504) | fn from_query_all(_: impl IntoRows) -> Self { method from_query_one (line 508) | fn from_query_one(_: impl IntoRows) -> Self { method query_type (line 514) | fn query_type() -> QueryType { method from_exec (line 518) | fn from_exec(items: usize) -> Self { method from_exists (line 522) | fn from_exists(_: bool) -> Self { method from_query_all (line 526) | fn from_query_all(_: impl IntoRows) -> Self { method from_query_one (line 530) | fn from_query_one(_: impl IntoRows) -> Self { type IntoRows (line 419) | pub trait IntoRows { method into_row (line 420) | fn into_row(self) -> Option; method into_rows (line 421) | fn into_rows(self) -> Rows; method into_named_rows (line 422) | fn into_named_rows(self) -> NamedRows; function from (line 536) | fn from(value: &'x str) -> Self { function from (line 542) | fn from(value: String) -> Self { function from (line 548) | fn from(value: &'x String) -> Self { function from (line 554) | fn from(value: Cow<'x, str>) -> Self { function from (line 560) | fn from(value: bool) -> Self { function from (line 566) | fn from(value: i64) -> Self { function from (line 572) | fn from(value: Value<'static>) -> Self { function from (line 582) | fn from(value: u64) -> Self { function from (line 588) | fn from(value: u32) -> Self { function from (line 594) | fn from(value: f64) -> Self { function from (line 600) | fn from(value: &'x [u8]) -> Self { function from (line 606) | fn from(value: Vec) -> Self { function into_string (line 612) | pub fn into_string(self) -> String { function into_lower_string (line 623) | pub fn into_lower_string(self) -> String { function from (line 636) | fn from(value: Row) -> Self { function from (line 642) | fn from(value: Row) -> Self { function from (line 658) | fn from(value: Rows) -> Self { function from (line 668) | fn from(value: Rows) -> Self { function from (line 775) | fn from(value: Value) -> Self { function from (line 791) | fn from(_: Value<'static>) -> Self { FILE: crates/store/src/query/acl.rs type AclQuery (line 16) | pub enum AclQuery { type AclItem (line 28) | pub struct AclItem { method with_permissions (line 161) | fn with_permissions(mut self, permissions: u64) -> Self { method acl_query (line 36) | pub async fn acl_query(&self, query: AclQuery) -> trc::Result trc::Result trc::Result { FILE: crates/store/src/query/log.rs type Change (line 17) | pub enum Change { method item_id (line 395) | pub fn item_id(&self) -> Option { method container_id (line 404) | pub fn container_id(&self) -> Option { method try_unwrap_item_id (line 414) | pub fn try_unwrap_item_id(self) -> Option { method try_unwrap_container_id (line 423) | pub fn try_unwrap_container_id(self) -> Option { method is_container_change (line 433) | pub fn is_container_change(&self) -> bool { method is_item_change (line 443) | pub fn is_item_change(&self) -> bool { type Changes (line 28) | pub struct Changes { method deserialize (line 241) | pub fn deserialize(&mut self, bytes: &[u8]) -> Option<(bool, bool)> { method total_container_changes (line 379) | pub fn total_container_changes(&self) -> usize { method total_item_changes (line 386) | pub fn total_item_changes(&self) -> usize { type Query (line 38) | pub enum Query { type DeserializeVanished (line 45) | pub trait DeserializeVanished: Sized + Sync + Send { method deserialize_vanished (line 46) | fn deserialize_vanished<'x>(bytes: &mut impl Iterator) ... method deserialize_vanished (line 452) | fn deserialize_vanished<'x>(bytes: &mut impl Iterator) ... method deserialize_vanished (line 462) | fn deserialize_vanished<'x>(bytes: &mut impl Iterator) ... method deserialize_vanished (line 473) | fn deserialize_vanished<'x>(bytes: &mut impl Iterator) ... method default (line 50) | fn default() -> Self { method changes (line 63) | pub async fn changes( method vanished (line 136) | pub async fn vanished( method get_last_change_id (line 192) | pub async fn get_last_change_id( method from (line 229) | fn from(value: VanishedCollection) -> Self { method from (line 235) | fn from(value: SyncCollection) -> Self { FILE: crates/store/src/query/mod.rs function new (line 13) | pub fn new(begin: T, end: T) -> Self { function set_ascending (line 23) | pub fn set_ascending(mut self, ascending: bool) -> Self { function set_values (line 28) | pub fn set_values(mut self, values: bool) -> Self { function ascending (line 33) | pub fn ascending(mut self) -> Self { function descending (line 38) | pub fn descending(mut self) -> Self { function only_first (line 43) | pub fn only_first(mut self) -> Self { function no_values (line 48) | pub fn no_values(mut self) -> Self { FILE: crates/store/src/search/bm_u32.rs type BitmapCache (line 26) | pub(super) struct BitmapCache { method merge_bitmaps (line 31) | pub async fn merge_bitmaps( function range_to_bitmap (line 121) | pub(crate) async fn range_to_bitmap( function sort_order (line 222) | pub(crate) async fn sort_order( FILE: crates/store/src/search/bm_u64.rs type TreemapCache (line 26) | pub(super) struct TreemapCache { method merge_treemaps (line 31) | pub async fn merge_treemaps( function range_to_treemap (line 114) | pub(crate) async fn range_to_treemap( FILE: crates/store/src/search/document.rs method new (line 10) | pub fn new(index: SearchIndex) -> Self { method with_account_id (line 17) | pub fn with_account_id(mut self, account_id: u32) -> Self { method with_document_id (line 23) | pub fn with_document_id(mut self, document_id: u32) -> Self { method with_id (line 31) | pub fn with_id(mut self, id: u64) -> Self { method index_text (line 36) | pub fn index_text(&mut self, field: impl Into, value: &str,... method index_bool (line 57) | pub fn index_bool(&mut self, field: impl Into, value: bool) { method index_integer (line 62) | pub fn index_integer>(&mut self, field: impl Into>(&mut self, field: impl Into, value: im... method insert_key_value (line 82) | pub fn insert_key_value( method is_empty (line 116) | pub fn is_empty(&self) -> bool { method has_field (line 120) | pub fn has_field(&self, field: &SearchField) -> bool { method fields (line 124) | pub fn fields(&self) -> impl Iterator, value: impl Into) ... method lt (line 160) | pub fn lt(field: impl Into, value: impl Into) ... method le (line 168) | pub fn le(field: impl Into, value: impl Into) ... method gt (line 176) | pub fn gt(field: impl Into, value: impl Into) ... method ge (line 184) | pub fn ge(field: impl Into, value: impl Into) ... method has_text_detect (line 192) | pub fn has_text_detect( method has_text (line 201) | pub fn has_text( method has_english_text (line 239) | pub fn has_english_text(field: impl Into, text: impl Into, text: impl Into Self { method field (line 254) | pub fn field(field: impl Into, ascending: bool) -> Self { method set (line 261) | pub fn set(set: RoaringBitmap, ascending: bool) -> Self { method sorted_set (line 265) | pub fn sorted_set(set: AHashMap, ascending: bool) -> Self { method ascending (line 269) | pub fn ascending(field: impl Into) -> Self { method descending (line 276) | pub fn descending(field: impl Into) -> Self { function write_sanitized (line 285) | fn write_sanitized(out: &mut String, text: &str) { function sanitize_text_to_buf (line 305) | fn sanitize_text_to_buf(out: &mut String, text: &str) { function sanitize_text (line 311) | fn sanitize_text(text: &str) -> String { FILE: crates/store/src/search/fields.rs method index (line 10) | fn index() -> SearchIndex { method primary_keys (line 14) | fn primary_keys() -> &'static [SearchField] { method all_fields (line 18) | fn all_fields() -> &'static [SearchField] { method is_indexed (line 35) | fn is_indexed(&self) -> bool { method is_text (line 67) | fn is_text(&self) -> bool { method index (line 82) | fn index() -> SearchIndex { method primary_keys (line 86) | fn primary_keys() -> &'static [SearchField] { method all_fields (line 90) | fn all_fields() -> &'static [SearchField] { method is_indexed (line 102) | fn is_indexed(&self) -> bool { method is_text (line 106) | fn is_text(&self) -> bool { method index (line 112) | fn index() -> SearchIndex { method primary_keys (line 116) | fn primary_keys() -> &'static [SearchField] { method all_fields (line 120) | fn all_fields() -> &'static [SearchField] { method is_indexed (line 136) | fn is_indexed(&self) -> bool { method is_text (line 140) | fn is_text(&self) -> bool { method index (line 146) | fn index() -> SearchIndex { method primary_keys (line 150) | fn primary_keys() -> &'static [SearchField] { method all_fields (line 154) | fn all_fields() -> &'static [SearchField] { method is_indexed (line 161) | fn is_indexed(&self) -> bool { method is_text (line 165) | fn is_text(&self) -> bool { method index (line 171) | fn index() -> SearchIndex { method primary_keys (line 175) | fn primary_keys() -> &'static [SearchField] { method all_fields (line 179) | fn all_fields() -> &'static [SearchField] { method is_indexed (line 187) | fn is_indexed(&self) -> bool { method is_text (line 194) | fn is_text(&self) -> bool { method is_indexed (line 200) | pub(crate) fn is_indexed(&self) -> bool { method is_text (line 211) | pub(crate) fn is_text(&self) -> bool { method is_json (line 222) | pub(crate) fn is_json(&self) -> bool { method all_fields (line 228) | pub fn all_fields(&self) -> &[SearchField] { method primary_keys (line 239) | pub fn primary_keys(&self) -> &'static [SearchField] { FILE: crates/store/src/search/index.rs method index (line 24) | pub(crate) async fn index(&self, documents: Vec) -> trc::... method unindex (line 93) | pub(crate) async fn unindex(&self, query: SearchQuery) -> trc::Result<()> { FILE: crates/store/src/search/local.rs type State (line 10) | struct State { method new (line 16) | pub fn new(index: SearchIndex) -> Self { method with_filters (line 25) | pub fn with_filters(mut self, filters: Vec) -> Self { method with_comparators (line 34) | pub fn with_comparators(mut self, comparators: Vec) ->... method with_filter (line 43) | pub fn with_filter(mut self, filter: SearchFilter) -> Self { method add_filter (line 48) | pub fn add_filter(&mut self, filter: SearchFilter) -> &mut Self { method with_comparator (line 53) | pub fn with_comparator(mut self, comparator: SearchComparator) -> Self { method with_mask (line 58) | pub fn with_mask(mut self, mask: RoaringBitmap) -> Self { method with_account_id (line 63) | pub fn with_account_id(mut self, account_id: u32) -> Self { method filter (line 72) | pub fn filter(self) -> QueryResults { method new (line 166) | pub fn new(results: RoaringBitmap, comparators: Vec) -... method with_comparators (line 173) | pub fn with_comparators(mut self, comparators: Vec) ->... method results (line 182) | pub fn results(&self) -> &RoaringBitmap { method update_results (line 186) | pub fn update_results(&mut self, results: RoaringBitmap) { method into_bitmap (line 190) | pub fn into_bitmap(self) -> RoaringBitmap { method into_sorted (line 194) | pub fn into_sorted(self) -> Vec { FILE: crates/store/src/search/mod.rs type SearchOperator (line 29) | pub enum SearchOperator { type SearchField (line 39) | pub enum SearchField { method from (line 171) | fn from(field: EmailSearchField) -> Self { method from (line 177) | fn from(field: CalendarSearchField) -> Self { method from (line 183) | fn from(field: ContactSearchField) -> Self { method from (line 189) | fn from(field: FileSearchField) -> Self { method from (line 195) | fn from(field: TracingSearchField) -> Self { method field_name (line 342) | pub fn field_name(&self) -> &'static str { type EmailSearchField (line 51) | pub enum EmailSearchField { type CalendarSearchField (line 67) | pub enum CalendarSearchField { type ContactSearchField (line 78) | pub enum ContactSearchField { type FileSearchField (line 93) | pub enum FileSearchField { type TracingSearchField (line 99) | pub enum TracingSearchField { type SearchValue (line 106) | pub enum SearchValue { method from (line 201) | fn from(value: u64) -> Self { method from (line 207) | fn from(value: i64) -> Self { method from (line 213) | fn from(value: u32) -> Self { method from (line 219) | fn from(value: i32) -> Self { method from (line 225) | fn from(value: usize) -> Self { method from (line 231) | fn from(value: bool) -> Self { method from (line 237) | fn from(value: String) -> Self { type SearchDocumentId (line 114) | pub trait SearchDocumentId: Sized + Copy + Display { method from_u64 (line 115) | fn from_u64(id: u64) -> Self; method field (line 116) | fn field() -> SearchField; method from_u64 (line 246) | fn from_u64(id: u64) -> Self { method field (line 250) | fn field() -> SearchField { method from_u64 (line 256) | fn from_u64(id: u64) -> Self { method field (line 260) | fn field() -> SearchField { type SearchQuery (line 120) | pub struct SearchQuery { type SearchFilter (line 128) | pub enum SearchFilter { type SearchComparator (line 143) | pub enum SearchComparator { type IndexDocument (line 159) | pub struct IndexDocument { type QueryResults (line 165) | pub struct QueryResults { type SearchableField (line 265) | pub trait SearchableField: Sized { method index (line 266) | fn index() -> SearchIndex; method primary_keys (line 267) | fn primary_keys() -> &'static [SearchField]; method all_fields (line 268) | fn all_fields() -> &'static [SearchField]; method is_indexed (line 269) | fn is_indexed(&self) -> bool; method is_text (line 270) | fn is_text(&self) -> bool; method parse_value (line 274) | fn parse_value(value: &str) -> utils::config::Result { method index_name (line 329) | pub fn index_name(&self) -> &'static str { FILE: crates/store/src/search/query.rs method query_account (line 24) | pub(crate) async fn query_account(&self, query: SearchQuery) -> trc::Res... method query_global (line 292) | pub(crate) async fn query_global(&self, query: SearchQuery) -> trc::Resu... FILE: crates/store/src/search/split.rs type SplitFilter (line 10) | pub(crate) enum SplitFilter { function split_filters (line 15) | pub(crate) fn split_filters(filters_in: Vec) -> Option SearchFilter { function other_op (line 613) | fn other_op(value: &str) -> SearchFilter { function doc_set (line 624) | fn doc_set(ids: &[u32]) -> SearchFilter { function print_split_filter_code (line 632) | fn print_split_filter_code(splits: &[SplitFilter]) { function print_search_filter_code (line 655) | fn print_search_filter_code(filter: &SearchFilter, indent_level: usize) { FILE: crates/store/src/search/term.rs type TermIndex (line 27) | pub(crate) struct TermIndex { method write_index (line 198) | pub fn write_index( method merge_index (line 251) | pub fn merge_index( type Term (line 33) | pub(crate) struct Term { type TermIndexBuilder (line 38) | pub(crate) struct TermIndexBuilder { method build (line 44) | pub fn build(document: IndexDocument, truncate_at: usize) -> Self { method delete_index (line 343) | pub fn delete_index(&self, batch: &mut BatchBuilder, index: SearchIndex,... method as_u8 (line 386) | pub(crate) fn as_u8(&self) -> u8 { method u8_id (line 399) | pub(crate) fn u8_id(&self) -> u8 { FILE: crates/store/src/write/assert.rs type AssertValue (line 11) | pub enum AssertValue { method matches (line 60) | pub fn matches(&self, bytes: &[u8]) -> bool { method is_none (line 83) | pub fn is_none(&self) -> bool { type ToAssertValue (line 19) | pub trait ToAssertValue { method to_assert_value (line 20) | fn to_assert_value(&self) -> AssertValue; method to_assert_value (line 24) | fn to_assert_value(&self) -> AssertValue { method to_assert_value (line 30) | fn to_assert_value(&self) -> AssertValue { method to_assert_value (line 36) | fn to_assert_value(&self) -> AssertValue { method to_assert_value (line 42) | fn to_assert_value(&self) -> AssertValue { method to_assert_value (line 48) | fn to_assert_value(&self) -> AssertValue { method to_assert_value (line 54) | fn to_assert_value(&self) -> AssertValue { FILE: crates/store/src/write/batch.rs method new (line 22) | pub fn new() -> Self { method with_account_id (line 37) | pub fn with_account_id(&mut self, account_id: u32) -> &mut Self { method with_collection (line 48) | pub fn with_collection(&mut self, collection: Collection) -> &mut Self { method with_document (line 57) | pub fn with_document(&mut self, document_id: u32) -> &mut Self { method assert_value (line 64) | pub fn assert_value( method index (line 78) | pub fn index(&mut self, field: impl FieldType, value: impl Into>... method unindex (line 93) | pub fn unindex(&mut self, field: impl FieldType, value: impl Into &mut Self { method untag (line 114) | pub fn untag(&mut self, field: impl FieldType) -> &mut Self { method add (line 118) | pub fn add(&mut self, class: impl Into, value: i64) -> &mut ... method add_and_get (line 129) | pub fn add_and_get(&mut self, class: impl Into, value: i64) ... method set (line 140) | pub fn set(&mut self, class: impl Into, value: impl Into) -> &mut Self { method acl_grant (line 189) | pub fn acl_grant(&mut self, grant_account_id: u32, op: Vec) -> &mut ... method acl_revoke (line 199) | pub fn acl_revoke(&mut self, grant_account_id: u32) -> &mut Self { method log_item_insert (line 209) | pub fn log_item_insert( method log_item_update (line 226) | pub fn log_item_update( method log_item_delete (line 243) | pub fn log_item_delete( method log_container_insert (line 260) | pub fn log_container_insert(&mut self, collection: SyncCollection) -> &m... method log_container_update (line 271) | pub fn log_container_update(&mut self, collection: SyncCollection) -> &m... method log_container_delete (line 282) | pub fn log_container_delete(&mut self, collection: SyncCollection) -> &m... method log_container_property_change (line 293) | pub fn log_container_property_change( method log_vanished_item (line 306) | pub fn log_vanished_item( method log_share_notification (line 321) | pub fn log_share_notification( method serialize_changes (line 339) | fn serialize_changes(&mut self) { method commit_point (line 371) | pub fn commit_point(&mut self) -> &mut Self { method is_large_batch (line 388) | pub fn is_large_batch(&self) -> bool { method any_op (line 392) | pub fn any_op(&mut self, op: Operation) -> &mut Self { method custom (line 398) | pub fn custom(&mut self, value: impl IntoOperations) -> trc::Result<&mut... method last_account_id (line 403) | pub fn last_account_id(&self) -> Option { method last_collection (line 407) | pub fn last_collection(&self) -> Option { method last_document_id (line 411) | pub fn last_document_id(&self) -> Option { method commit_points (line 415) | pub fn commit_points(&mut self) -> CommitPointIterator { method build_one (line 424) | pub fn build_one(&mut self, commit_point: CommitPoint) -> Batch<'_> { method build_all (line 431) | pub fn build_all(&mut self) -> Batch<'_> { method changes (line 439) | pub fn changes(self) -> Option> { method has_changes (line 447) | pub fn has_changes(&self) -> bool { method ops (line 451) | pub fn ops(&self) -> &[Operation] { method len (line 455) | pub fn len(&self) -> usize { method is_empty (line 459) | pub fn is_empty(&self) -> bool { type CommitPointIterator (line 464) | pub struct CommitPointIterator { method iter (line 476) | pub fn iter(&mut self) -> impl Iterator { type CommitPoint (line 470) | pub struct CommitPoint { function is_atomic (line 493) | pub fn is_atomic(&self) -> bool { function first_account_id (line 506) | pub fn first_account_id(&self) -> Option { method default (line 515) | fn default() -> Self { FILE: crates/store/src/write/bitpack.rs type BitpackIterator (line 13) | pub struct BitpackIterator<'x> { type BitBlockPacker (line 22) | pub(crate) struct BitBlockPacker { method with_block_len (line 140) | pub fn with_block_len(block_len: usize) -> Self { method block_len (line 149) | pub fn block_len(&mut self, num: usize) { method bitpack_sorted (line 30) | pub fn bitpack_sorted(self, items: &[u32]) -> Self { function from_bytes_and_offset (line 75) | pub fn from_bytes_and_offset(bytes: &'x [u8], bytes_offset: usize, items... function new (line 84) | pub fn new(bytes: &'x [u8]) -> Option { type Item (line 97) | type Item = u32; method next (line 99) | fn next(&mut self) -> Option { constant BLOCK_LEN (line 155) | const BLOCK_LEN: usize = 0; method new (line 157) | fn new() -> Self { method compress (line 166) | fn compress(&self, decompressed: &[u32], compressed: &mut [u8], num_bits... method compress_sorted (line 180) | fn compress_sorted( method decompress (line 202) | fn decompress(&self, compressed: &[u8], decompressed: &mut [u32], num_bi... method decompress_sorted (line 218) | fn decompress_sorted( method num_bits (line 240) | fn num_bits(&self, decompressed: &[u32]) -> u8 { method num_bits_sorted (line 248) | fn num_bits_sorted(&self, initial: u32, decompressed: &[u32]) -> u8 { method compress_strictly_sorted (line 256) | fn compress_strictly_sorted( method decompress_strictly_sorted (line 285) | fn decompress_strictly_sorted( method num_bits_strictly_sorted (line 314) | fn num_bits_strictly_sorted(&self, initial: Option, decompressed: &... function bitpack_roundtrip (line 335) | fn bitpack_roundtrip() { FILE: crates/store/src/write/blob.rs type BlobQuota (line 21) | pub struct BlobQuota { method blob_exists (line 27) | pub async fn blob_exists(&self, hash: impl AsRef + Sync + Send... method blob_quota (line 41) | pub async fn blob_quota(&self, account_id: u32) -> trc::Result { method blob_has_access (line 84) | pub async fn blob_has_access( method purge_blobs (line 121) | pub async fn purge_blobs(&self, blob_store: BlobStore) -> trc::Result<()> { type BlobPurgeState (line 219) | struct BlobPurgeState { method new (line 230) | fn new() -> Self { method update_hash (line 242) | pub fn update_hash(&mut self, hash: BlobHash) { method finalize (line 249) | pub fn finalize(&mut self, new_hash: BlobHash) { method process_key (line 300) | pub fn process_key(&mut self, key: &[u8], value: &[u8]) -> trc::Result... FILE: crates/store/src/write/key.rs type KeySerializer (line 25) | pub struct KeySerializer { method new (line 40) | pub fn new(capacity: usize) -> Self { method write (line 46) | pub fn write(mut self, value: T) -> Self { method write_leb128 (line 51) | pub fn write_leb128(mut self, value: T) -> Self { method finalize (line 56) | pub fn finalize(self) -> Vec { type KeySerialize (line 29) | pub trait KeySerialize { method serialize (line 30) | fn serialize(&self, buf: &mut Vec); method serialize (line 62) | fn serialize(&self, buf: &mut Vec) { method serialize (line 68) | fn serialize(&self, buf: &mut Vec) { method serialize (line 74) | fn serialize(&self, buf: &mut Vec) { method serialize (line 80) | fn serialize(&self, buf: &mut Vec) { method serialize (line 86) | fn serialize(&self, buf: &mut Vec) { method serialize (line 92) | fn serialize(&self, buf: &mut Vec) { method serialize (line 98) | fn serialize(&self, buf: &mut Vec) { type DeserializeBigEndian (line 33) | pub trait DeserializeBigEndian { method deserialize_be_u16 (line 34) | fn deserialize_be_u16(&self, index: usize) -> trc::Result; method deserialize_be_u32 (line 35) | fn deserialize_be_u32(&self, index: usize) -> trc::Result; method deserialize_be_u64 (line 36) | fn deserialize_be_u64(&self, index: usize) -> trc::Result; method deserialize_be_u16 (line 104) | fn deserialize_be_u16(&self, index: usize) -> trc::Result { method deserialize_be_u32 (line 121) | fn deserialize_be_u32(&self, index: usize) -> trc::Result { method deserialize_be_u64 (line 138) | fn deserialize_be_u64(&self, index: usize) -> trc::Result { function with_document_id (line 157) | pub fn with_document_id(self, document_id: u32) -> Self { function is_counter (line 164) | pub fn is_counter(&self) -> bool { function property (line 170) | pub fn property( function archive (line 184) | pub fn archive( method serialize (line 199) | fn serialize(&self, flags: u32) -> Vec { method subspace (line 214) | fn subspace(&self) -> u8 { method len (line 220) | pub fn len() -> usize { method subspace (line 226) | fn subspace(&self) -> u8 { method serialize (line 230) | fn serialize(&self, flags: u32) -> Vec { method subspace (line 246) | fn subspace(&self) -> u8 { method serialize (line 250) | fn serialize(&self, flags: u32) -> Vec { method serialize (line 258) | pub fn serialize( constant QUOTA_LINK (line 525) | pub const QUOTA_LINK: u8 = 0; constant UNDELETE_LINK (line 526) | pub const UNDELETE_LINK: u8 = 1; constant SPAM_SAMPLE_LINK (line 527) | pub const SPAM_SAMPLE_LINK: u8 = 2; method subspace (line 531) | fn subspace(&self) -> u8 { method serialize (line 535) | fn serialize(&self, flags: u32) -> Vec { method serialize (line 555) | fn serialize(&self, flags: u32) -> Vec { method subspace (line 566) | fn subspace(&self) -> u8 { method serialized_size (line 572) | pub fn serialized_size(&self) -> usize { method subspace (line 647) | pub fn subspace(&self, collection: u8) -> u8 { method is_counter (line 695) | pub fn is_counter(&self, collection: u8) -> bool { function from (line 709) | fn from(class: ValueClass) -> Self { function from (line 720) | fn from(value: DirectoryClass) -> Self { method from (line 731) | fn from(value: DirectoryClass) -> Self { method from (line 737) | fn from(value: BlobOp) -> Self { method deserialize (line 743) | fn deserialize(key: &[u8]) -> trc::Result { method to_u8 (line 762) | pub fn to_u8(&self) -> u8 { method try_from_u8 (line 773) | pub fn try_from_u8(value: u8) -> Option { method name (line 784) | pub fn name(&self) -> &'static str { method try_from_str (line 795) | pub fn try_from_str(value: &str) -> Option { FILE: crates/store/src/write/log.rs type ChangeLogBuilder (line 15) | pub(crate) struct ChangeLogBuilder { method log_container_insert (line 43) | pub fn log_container_insert(&mut self, collection: SyncCollection, doc... method log_item_insert (line 52) | pub fn log_item_insert( method log_container_update (line 67) | pub fn log_container_update(&mut self, collection: SyncCollection, doc... method log_container_property_update (line 74) | pub fn log_container_property_update(&mut self, collection: SyncCollec... method log_item_update (line 81) | pub fn log_item_update( method log_container_delete (line 93) | pub fn log_container_delete(&mut self, collection: SyncCollection, doc... method log_item_delete (line 101) | pub fn log_item_delete( method log_vanished_item (line 113) | pub fn log_vanished_item( type VanishedItem (line 21) | pub enum VanishedItem { method from (line 192) | fn from(value: String) -> Self { method from (line 198) | fn from(value: u64) -> Self { method from (line 204) | fn from(value: (u32, u32)) -> Self { method serialized_size (line 210) | pub fn serialized_size(&self) -> usize { type VanishedItems (line 28) | pub(crate) struct VanishedItems(Vec); type Changes (line 31) | pub struct Changes { method has_container_changes (line 135) | pub fn has_container_changes(&self) -> bool { method has_item_changes (line 142) | pub fn has_item_changes(&self) -> bool { function build_id (line 126) | fn build_id(prefix: Option, document_id: u32) -> u64 { method serialize (line 150) | fn serialize(&self) -> Vec { method serialize (line 219) | fn serialize(&self) -> Vec { FILE: crates/store/src/write/mod.rs constant ARCHIVE_ALIGNMENT (line 38) | pub(crate) const ARCHIVE_ALIGNMENT: usize = 16; type Archive (line 41) | pub struct Archive { type ArchiveVersion (line 47) | pub enum ArchiveVersion { method hash (line 506) | pub fn hash(&self) -> Option { method change_id (line 514) | pub fn change_id(&self) -> Option { type AlignedBytes (line 54) | pub enum AlignedBytes { type Archiver (line 59) | pub struct Archiver type AssignedIds (line 75) | pub struct AssignedIds { method push_counter_id (line 431) | pub fn push_counter_id(&mut self, id: i64) { method push_change_id (line 435) | pub fn push_change_id(&mut self, account_id: u32, change_id: u64) { method last_change_id (line 442) | pub fn last_change_id(&self, account_id: u32) -> trc::Result { method current_change_id (line 459) | pub fn current_change_id(&self) -> trc::Result { method set_current_change_id (line 467) | pub(crate) fn set_current_change_id(&mut self, account_id: u32) -> trc... method last_counter_id (line 473) | pub fn last_counter_id(&self) -> trc::Result { type AssignedId (line 81) | pub enum AssignedId { type ChangeId (line 87) | pub struct ChangeId { constant MAX_COMMIT_ATTEMPTS (line 93) | pub(crate) const MAX_COMMIT_ATTEMPTS: u32 = 10; constant MAX_COMMIT_TIME (line 95) | pub(crate) const MAX_COMMIT_TIME: Duration = Duration::from_secs(10); constant MAX_COMMIT_ATTEMPTS (line 98) | pub(crate) const MAX_COMMIT_ATTEMPTS: u32 = 1000; constant MAX_COMMIT_TIME (line 100) | pub(crate) const MAX_COMMIT_TIME: Duration = Duration::from_secs(3600); type Batch (line 103) | pub struct Batch<'x> { type BatchBuilder (line 109) | pub struct BatchBuilder { type ChangedCollection (line 123) | pub struct ChangedCollection { type Operation (line 130) | pub enum Operation { type LogCollection (line 160) | pub enum LogCollection { type ValueClass (line 166) | pub enum ValueClass { method as_ref (line 425) | fn as_ref(&self) -> &ValueClass { method from (line 532) | fn from(value: ContactField) -> Self { method from (line 538) | fn from(value: CalendarEventField) -> Self { method from (line 544) | fn from(value: CalendarNotificationField) -> Self { method from (line 550) | fn from(value: EmailField) -> Self { method from (line 556) | fn from(value: MailboxField) -> Self { method from (line 562) | fn from(value: PrincipalField) -> Self { method from (line 568) | fn from(value: SieveField) -> Self { method from (line 574) | fn from(value: EmailSubmissionField) -> Self { method from (line 580) | fn from(value: Field) -> Self { type IndexPropertyClass (line 189) | pub enum IndexPropertyClass { type SearchIndexClass (line 195) | pub struct SearchIndexClass { type SearchIndexType (line 202) | pub enum SearchIndexType { constant SEARCH_INDEX_MAX_FIELD_LEN (line 208) | pub(crate) const SEARCH_INDEX_MAX_FIELD_LEN: usize = 128; type SearchIndexField (line 211) | pub struct SearchIndexField { type SearchIndexId (line 217) | pub enum SearchIndexId { type TaskQueueClass (line 223) | pub enum TaskQueueClass { type TaskEpoch (line 246) | pub struct TaskEpoch(pub(crate) u64); constant EPOCH_OFFSET (line 732) | const EPOCH_OFFSET: u64 = 1632280000; method now (line 734) | pub fn now() -> Self { method new (line 738) | pub fn new(timestamp: u64) -> Self { method with_attempt (line 742) | pub fn with_attempt(mut self, attempt: u16) -> Self { method with_sequence_id (line 747) | pub fn with_sequence_id(mut self, sequence_id: u16) -> Self { method with_random_sequence_id (line 752) | pub fn with_random_sequence_id(self) -> Self { method due (line 756) | pub fn due(&self) -> u64 { method attempt (line 760) | pub fn attempt(&self) -> u16 { method sequence_id (line 764) | pub fn sequence_id(&self) -> u16 { method inner (line 768) | pub fn inner(&self) -> u64 { method from_inner (line 772) | pub fn from_inner(inner: u64) -> Self { type SearchIndex (line 249) | pub enum SearchIndex { type AnyClass (line 259) | pub struct AnyClass { type InMemoryClass (line 265) | pub enum InMemoryClass { type DirectoryClass (line 271) | pub enum DirectoryClass { type QueueClass (line 282) | pub enum QueueClass { method due (line 490) | pub fn due(&self) -> Option { type ReportClass (line 294) | pub enum ReportClass { type TelemetryClass (line 301) | pub enum TelemetryClass { type QueueEvent (line 313) | pub struct QueueEvent { type ReportEvent (line 320) | pub struct ReportEvent { type ValueOp (line 328) | pub enum ValueOp { type MergeResult (line 338) | pub enum MergeResult { type Param (line 345) | pub enum Param { type Params (line 355) | pub struct Params(Vec); method with_capacity (line 626) | pub fn with_capacity(capacity: usize) -> Self { method new (line 630) | pub fn new() -> Self { method with_i64 (line 634) | pub fn with_i64(mut self, value: i64) -> Self { method with_u64 (line 639) | pub fn with_u64(mut self, value: u64) -> Self { method with_string (line 644) | pub fn with_string(mut self, value: String) -> Self { method with_str (line 649) | pub fn with_str(mut self, value: &str) -> Self { method with_bytes (line 654) | pub fn with_bytes(mut self, value: Vec) -> Self { method with_bool (line 659) | pub fn with_bool(mut self, value: bool) -> Self { method i64 (line 664) | pub fn i64(&self, idx: usize) -> i64 { method u64 (line 671) | pub fn u64(&self, idx: usize) -> u64 { method string (line 678) | pub fn string(&self, idx: usize) -> &str { method bytes (line 685) | pub fn bytes(&self, idx: usize) -> &[u8] { method bool (line 692) | pub fn bool(&self, idx: usize) -> bool { method len (line 699) | pub fn len(&self) -> usize { method is_empty (line 703) | pub fn is_empty(&self) -> bool { method as_slice (line 707) | pub fn as_slice(&self) -> &[Param] { method as_ref (line 719) | fn as_ref(&self) -> &[Param] { type SetFnc (line 357) | pub type SetFnc = fn(&Params, &AssignedIds) -> trc::Result>; type MergeFnc (line 358) | pub type MergeFnc = fn(&Params, &AssignedIds, Option<&[u8]>) -> trc::Res... type MergeOperation (line 361) | pub struct MergeOperation { method params (line 620) | pub fn params(&self) -> &Params { type SetOperation (line 367) | pub struct SetOperation { method params (line 614) | pub fn params(&self) -> &Params { type BlobOp (line 373) | pub enum BlobOp { type BlobLink (line 382) | pub enum BlobLink { type AnyKey (line 389) | pub struct AnyKey> { type TokenizeText (line 394) | pub trait TokenizeText { method tokenize_into (line 395) | fn tokenize_into(&self, tokens: &mut HashSet); method to_tokens (line 396) | fn to_tokens(&self) -> HashSet; method tokenize_into (line 400) | fn tokenize_into(&self, tokens: &mut HashSet) { method to_tokens (line 406) | fn to_tokens(&self) -> HashSet { type IntoOperations (line 413) | pub trait IntoOperations { method build (line 414) | fn build(self, batch: &mut BatchBuilder) -> trc::Result<()>; function now (line 418) | pub fn now() -> u64 { function as_ref (line 500) | fn as_ref(&self) -> &[u8] { function from (line 523) | fn from(value: LogCollection) -> Self { method eq (line 586) | fn eq(&self, other: &Self) -> bool { method eq (line 594) | fn eq(&self, other: &Self) -> bool { method hash (line 602) | fn hash(&self, state: &mut H) { method hash (line 608) | fn hash(&self, state: &mut H) { method default (line 713) | fn default() -> Self { FILE: crates/store/src/write/serialize.rs constant MAGIC_MARKER (line 13) | const MAGIC_MARKER: u8 = 1 << 7; constant VERSIONED (line 14) | const VERSIONED: u8 = 1 << 6; constant HASHED (line 15) | const HASHED: u8 = 1 << 5; constant LZ4_COMPRESSED (line 16) | const LZ4_COMPRESSED: u8 = 1 << 4; constant COMPRESS_WATERMARK (line 18) | const COMPRESS_WATERMARK: usize = 8192; function validate_marker_and_contents (line 20) | fn validate_marker_and_contents(bytes: &[u8]) -> Option<(bool, &[u8], Ar... method deserialize (line 65) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize_owned (line 87) | fn deserialize_owned(mut bytes: Vec) -> trc::Result { function aligned_lz4_deflate (line 119) | fn aligned_lz4_deflate(archive: &[u8]) -> trc::Result { method serialize (line 149) | fn serialize(&self) -> trc::Result> { function as_bytes (line 219) | pub fn as_bytes(&self) -> &[u8] { function unarchive (line 226) | pub fn unarchive(&self) -> trc::Result<&::Archived> function unarchive_untrusted (line 260) | pub fn unarchive_untrusted(&self) -> trc::Result<&(&self) -> trc::Result function deserialize_untrusted (line 306) | pub fn deserialize_untrusted(&self) -> trc::Result function to_unarchived (line 323) | pub fn to_unarchived(&self) -> trc::Result(&self) -> trc::Result> function into_inner (line 349) | pub fn into_inner(self) -> Vec { function extract_hash (line 371) | pub fn extract_hash(bytes: &[u8]) -> Option { function new (line 398) | pub fn new(inner: T) -> Self { function into_inner (line 405) | pub fn into_inner(self) -> T { function with_version (line 409) | pub fn with_version(self) -> Self { function untrusted (line 416) | pub fn untrusted(self) -> Self { function serialize_versioned (line 423) | pub fn serialize_versioned(self) -> trc::Result<(u64, Vec)> { function to_deserialized (line 437) | pub fn to_deserialized(&self) -> trc::Result> function deserialize (line 453) | pub fn deserialize(&self) -> trc::Result function rkyv_deserialize (line 466) | pub fn rkyv_deserialize(input: &T) -> trc::Result function rkyv_unarchive (line 481) | pub fn rkyv_unarchive(input: &[u8]) -> trc::Result<& Vec { method serialize (line 502) | fn serialize(&self) -> Vec { method serialize (line 508) | fn serialize(&self) -> Vec { method serialize (line 514) | fn serialize(&self) -> Vec { method serialize (line 520) | fn serialize(&self) -> Vec { method serialize (line 526) | fn serialize(&self) -> Vec { method deserialize (line 532) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize_owned (line 536) | fn deserialize_owned(bytes: Vec) -> trc::Result { method deserialize (line 543) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize (line 551) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize (line 559) | fn deserialize(bytes: &[u8]) -> trc::Result { method deserialize (line 567) | fn deserialize(_bytes: &[u8]) -> trc::Result { function from (line 573) | fn from(_: Value<'static>) -> Self { method default (line 579) | fn default() -> Self { method serialize (line 588) | fn serialize(&self) -> trc::Result> { method deserialize (line 601) | fn deserialize(bytes: &[u8]) -> trc::Result { method serialize (line 611) | fn serialize(&self) -> trc::Result> { method deserialize (line 624) | fn deserialize(bytes: &[u8]) -> trc::Result { FILE: crates/trc/event-macro/src/lib.rs function event_type (line 16) | pub fn event_type(_attr: TokenStream, item: TokenStream) -> TokenStream { function event_family (line 95) | pub fn event_family(_attr: TokenStream, item: TokenStream) -> TokenStream { function key_names (line 172) | pub fn key_names(_attr: TokenStream, item: TokenStream) -> TokenStream { function total_event_count (line 237) | pub fn total_event_count(_item: TokenStream) -> TokenStream { function to_snake_case (line 245) | fn to_snake_case(name: &str) -> String { type EventMacroInput (line 260) | struct EventMacroInput { method parse (line 267) | fn parse(input: syn::parse::ParseStream) -> syn::Result { function event (line 294) | pub fn event(input: TokenStream) -> TokenStream { type IsMetricKey (line 351) | trait IsMetricKey { method is_metric_key (line 352) | fn is_metric_key(&self) -> bool; method is_metric_key (line 356) | fn is_metric_key(&self) -> bool { FILE: crates/trc/src/atomics/array.rs type AtomicU32Array (line 9) | pub struct AtomicU32Array([AtomicU32; N]); type AtomicU64Array (line 10) | pub struct AtomicU64Array([AtomicU64; N]); function new (line 15) | pub const fn new() -> Self { function get (line 29) | pub fn get(&self, index: usize) -> u32 { function set (line 34) | pub fn set(&self, index: usize, value: u32) { function add (line 39) | pub fn add(&self, index: usize, value: u32) { function inner (line 43) | pub fn inner(&self) -> &[AtomicU32; N] { function new (line 51) | pub const fn new() -> Self { function get (line 65) | pub fn get(&self, index: usize) -> u64 { function set (line 70) | pub fn set(&self, index: usize, value: u64) { function add (line 75) | pub fn add(&self, index: usize, value: u64) { function inner (line 79) | pub fn inner(&self) -> &[AtomicU64; N] { FILE: crates/trc/src/atomics/bitset.rs type AtomicBitset (line 11) | pub struct AtomicBitset([AtomicUsize; N]); function new (line 16) | pub const fn new() -> Self { function set (line 30) | pub fn set(&self, index: impl Into) { function clear (line 36) | pub fn clear(&self, index: impl Into) { function get (line 42) | pub fn get(&self, index: impl Into) -> bool { function update (line 47) | pub fn update(&self, bitset: impl AsRef>) { function union (line 54) | pub fn union(&self, bitset: impl AsRef>) { function clear_all (line 61) | pub fn clear_all(&self) { function is_empty (line 67) | pub fn is_empty(&self) -> bool { constant TEST_SIZE (line 81) | const TEST_SIZE: usize = 1000; type TestBitset (line 82) | type TestBitset = AtomicBitset<{ TEST_SIZE.div_ceil(USIZE_BITS) }>; function test_atomic_bitset (line 86) | fn test_atomic_bitset() { FILE: crates/trc/src/atomics/counter.rs type AtomicCounter (line 9) | pub struct AtomicCounter { method new (line 17) | pub const fn new(id: &'static str, description: &'static str, unit: &'... method increment (line 27) | pub fn increment(&self) { method increment_by (line 32) | pub fn increment_by(&self, value: u64) { method decrement (line 37) | pub fn decrement(&self) { method decrement_by (line 42) | pub fn decrement_by(&self, value: u64) { method get (line 47) | pub fn get(&self) -> u64 { method id (line 51) | pub fn id(&self) -> &'static str { method description (line 55) | pub fn description(&self) -> &'static str { method unit (line 59) | pub fn unit(&self) -> &'static str { method is_active (line 63) | pub fn is_active(&self) -> bool { FILE: crates/trc/src/atomics/gauge.rs type AtomicGauge (line 11) | pub struct AtomicGauge { method new (line 17) | pub const fn new(id: MetricType) -> Self { method increment (line 25) | pub fn increment(&self) { method set (line 30) | pub fn set(&self, value: u64) { method decrement (line 35) | pub fn decrement(&self) { method get (line 40) | pub fn get(&self) -> u64 { method add (line 45) | pub fn add(&self, value: u64) { method subtract (line 50) | pub fn subtract(&self, value: u64) { method id (line 54) | pub fn id(&self) -> MetricType { FILE: crates/trc/src/atomics/histogram.rs type AtomicHistogram (line 13) | pub struct AtomicHistogram { function new (line 24) | pub const fn new(id: MetricType, upper_bounds: [u64; N]) -> Self { function observe (line 36) | pub fn observe(&self, value: u64) { function id (line 52) | pub fn id(&self) -> MetricType { function sum (line 56) | pub fn sum(&self) -> u64 { function count (line 60) | pub fn count(&self) -> u64 { function average (line 64) | pub fn average(&self) -> f64 { function min (line 74) | pub fn min(&self) -> Option { function max (line 79) | pub fn max(&self) -> Option { function buckets_iter (line 84) | pub fn buckets_iter(&self) -> impl IntoIterator + '_ { function buckets_vec (line 91) | pub fn buckets_vec(&self) -> Vec { function buckets_len (line 99) | pub fn buckets_len(&self) -> usize { function upper_bounds_iter (line 103) | pub fn upper_bounds_iter(&self) -> impl IntoIterator + '_ { function upper_bounds_vec (line 107) | pub fn upper_bounds_vec(&self) -> Vec { function is_active (line 115) | pub fn is_active(&self) -> bool { function new_message_sizes (line 119) | pub const fn new_message_sizes(id: MetricType) -> AtomicHistogram<12> { function new_short_durations (line 139) | pub const fn new_short_durations(id: MetricType) -> AtomicHistogram<12> { function new_medium_durations (line 159) | pub const fn new_medium_durations(id: MetricType) -> AtomicHistogram<12> { function new_long_durations (line 179) | pub const fn new_long_durations(id: MetricType) -> AtomicHistogram<12> { FILE: crates/trc/src/event/conv.rs method as_ref (line 15) | fn as_ref(&self) -> &EventType { method from (line 21) | fn from(value: &'static str) -> Self { method from (line 27) | fn from(value: String) -> Self { method from (line 33) | fn from(value: CompactString) -> Self { method from (line 39) | fn from(value: Box) -> Self { method from (line 45) | fn from(value: u64) -> Self { method from (line 51) | fn from(value: i64) -> Self { method from (line 57) | fn from(value: f64) -> Self { method from (line 63) | fn from(value: f32) -> Self { method from (line 69) | fn from(value: u16) -> Self { method from (line 75) | fn from(value: i32) -> Self { method from (line 81) | fn from(value: u32) -> Self { method from (line 87) | fn from(value: usize) -> Self { method from (line 93) | fn from(value: bool) -> Self { method from (line 99) | fn from(value: IpAddr) -> Self { method from (line 108) | fn from(value: Option) -> Self { method from (line 117) | fn from(value: Duration) -> Self { method from (line 123) | fn from(value: Error) -> Self { method from (line 129) | fn from(value: EventType) -> Self { method from (line 135) | fn from(value: StoreEvent) -> Self { method from (line 141) | fn from(value: AuthEvent) -> Self { method from (line 147) | fn from(value: Vec) -> Self { method from (line 153) | fn from(value: &[u8]) -> Self { method from (line 159) | fn from(value: Cow<'static, str>) -> Self { method from (line 171) | fn from(value: &crate::Result) -> Self { method from (line 183) | fn from(value: Vec) -> Self { method from (line 192) | fn from(value: &[T]) -> Self { method from_io_error (line 198) | pub fn from_io_error(self, err: std::io::Error) -> Error { method from_json_error (line 202) | pub fn from_json_error(self, err: serde_json::Error) -> Error { method from_base64_error (line 206) | pub fn from_base64_error(self, err: base64::DecodeError) -> Error { method from_http_error (line 210) | pub fn from_http_error(self, err: reqwest::Error) -> Error { method from_http_str_error (line 220) | pub fn from_http_str_error(self, err: reqwest::header::ToStrError) -> Er... method from (line 227) | fn from(err: mail_auth::Error) -> Self { method from (line 304) | fn from(value: &mail_auth::DkimResult) -> Self { method from (line 325) | fn from(value: &mail_auth::DmarcResult) -> Self { method from (line 343) | fn from(value: &mail_auth::DkimOutput<'_>) -> Self { method from (line 352) | fn from(value: &mail_auth::IprevOutput) -> Self { method from (line 378) | fn from(value: &mail_auth::SpfOutput) -> Self { method from (line 396) | fn from(value: rkyv::rancor::Error) -> Self { type AssertSuccess (line 403) | pub trait AssertSuccess method assert_success (line 407) | fn assert_success( method assert_success (line 414) | async fn assert_success(self, cause: EventType) -> crate::Result { type Err (line 428) | type Err = (); method from_str (line 430) | fn from_str(s: &str) -> std::result::Result { type Err (line 436) | type Err = (); method from_str (line 438) | fn from_str(s: &str) -> std::result::Result { FILE: crates/trc/src/event/description.rs method description (line 10) | pub fn description(&self) -> &'static str { method explain (line 60) | pub fn explain(&self) -> &'static str { method description (line 112) | pub fn description(&self) -> &'static str { method explain (line 124) | pub fn explain(&self) -> &'static str { method description (line 138) | pub fn description(&self) -> &'static str { method explain (line 153) | pub fn explain(&self) -> &'static str { method description (line 172) | pub fn description(&self) -> &'static str { method explain (line 181) | pub fn explain(&self) -> &'static str { method description (line 192) | pub fn description(&self) -> &'static str { method explain (line 203) | pub fn explain(&self) -> &'static str { method description (line 216) | pub fn description(&self) -> &'static str { method explain (line 258) | pub fn explain(&self) -> &'static str { method description (line 302) | pub fn description(&self) -> &'static str { method explain (line 325) | pub fn explain(&self) -> &'static str { method description (line 350) | pub fn description(&self) -> &'static str { method explain (line 374) | pub fn explain(&self) -> &'static str { method description (line 400) | pub fn description(&self) -> &'static str { method explain (line 487) | pub fn explain(&self) -> &'static str { method description (line 610) | pub fn description(&self) -> &'static str { method explain (line 653) | pub fn explain(&self) -> &'static str { method description (line 712) | pub fn description(&self) -> &'static str { method explain (line 729) | pub fn explain(&self) -> &'static str { method description (line 752) | pub fn description(&self) -> &'static str { method explain (line 772) | pub fn explain(&self) -> &'static str { method description (line 802) | pub fn description(&self) -> &'static str { method explain (line 824) | pub fn explain(&self) -> &'static str { method description (line 850) | pub fn description(&self) -> &'static str { method explain (line 861) | pub fn explain(&self) -> &'static str { method description (line 874) | pub fn description(&self) -> &'static str { method explain (line 882) | pub fn explain(&self) -> &'static str { method description (line 892) | pub fn description(&self) -> &'static str { method explain (line 907) | pub fn explain(&self) -> &'static str { method description (line 924) | pub fn description(&self) -> &'static str { method explain (line 946) | pub fn explain(&self) -> &'static str { method description (line 972) | pub fn description(&self) -> &'static str { method explain (line 982) | pub fn explain(&self) -> &'static str { method description (line 994) | pub fn description(&self) -> &'static str { method explain (line 1002) | pub fn explain(&self) -> &'static str { method description (line 1012) | pub fn description(&self) -> &'static str { method explain (line 1029) | pub fn explain(&self) -> &'static str { method description (line 1050) | pub fn description(&self) -> &'static str { method explain (line 1067) | pub fn explain(&self) -> &'static str { method description (line 1088) | pub fn description(&self) -> &'static str { method explain (line 1099) | pub fn explain(&self) -> &'static str { method description (line 1112) | pub fn description(&self) -> &'static str { method explain (line 1130) | pub fn explain(&self) -> &'static str { method description (line 1150) | pub fn description(&self) -> &'static str { method explain (line 1164) | pub fn explain(&self) -> &'static str { method description (line 1176) | pub fn description(&self) -> &'static str { method explain (line 1188) | pub fn explain(&self) -> &'static str { method description (line 1208) | pub fn description(&self) -> &'static str { method explain (line 1240) | pub fn explain(&self) -> &'static str { method description (line 1274) | pub fn description(&self) -> &'static str { method explain (line 1286) | pub fn explain(&self) -> &'static str { method description (line 1300) | pub fn description(&self) -> &'static str { method explain (line 1309) | pub fn explain(&self) -> &'static str { method description (line 1322) | pub fn description(&self) -> &'static str { method explain (line 1339) | pub fn explain(&self) -> &'static str { method description (line 1358) | pub fn description(&self) -> &'static str { method explain (line 1369) | pub fn explain(&self) -> &'static str { method description (line 1382) | pub fn description(&self) -> &'static str { method explain (line 1405) | pub fn explain(&self) -> &'static str { method description (line 1430) | pub fn description(&self) -> &'static str { method explain (line 1442) | pub fn explain(&self) -> &'static str { method description (line 1456) | pub fn description(&self) -> &'static str { method explain (line 1466) | pub fn explain(&self) -> &'static str { method description (line 1478) | pub fn description(&self) -> &'static str { method explain (line 1488) | pub fn explain(&self) -> &'static str { method description (line 1500) | pub fn description(&self) -> &'static str { method explain (line 1515) | pub fn explain(&self) -> &'static str { method description (line 1532) | pub fn description(&self) -> &'static str { method explain (line 1574) | pub fn explain(&self) -> &'static str { method description (line 1618) | pub fn description(&self) -> &'static str { method explain (line 1630) | pub fn explain(&self) -> &'static str { method description (line 1644) | pub fn description(&self) -> &'static str { method explain (line 1671) | pub fn explain(&self) -> &'static str { method description (line 1702) | pub fn description(&self) -> &'static str { method explain (line 1717) | pub fn explain(&self) -> &'static str { method description (line 1734) | pub fn description(&self) -> &'static str { method explain (line 1745) | pub fn explain(&self) -> &'static str { method description (line 1758) | pub fn description(&self) -> &'static str { method explain (line 1770) | pub fn explain(&self) -> &'static str { method description (line 1784) | pub fn description(&self) -> &'static str { method explain (line 1794) | pub fn explain(&self) -> &'static str { method description (line 1806) | pub fn description(&self) -> &'static str { method explain (line 1817) | pub fn explain(&self) -> &'static str { method description (line 1834) | pub fn description(&self) -> &'static str { method explain (line 1841) | pub fn explain(&self) -> &'static str { method description (line 1850) | pub fn description(&self) -> &'static str { method explain (line 1873) | pub fn explain(&self) -> &'static str { method description (line 1901) | pub fn description(&self) -> &'static str { method explain (line 1914) | pub fn explain(&self) -> &'static str { FILE: crates/trc/src/event/level.rs method level (line 12) | pub fn level(&self) -> Level { method partial_cmp (line 559) | fn partial_cmp(&self, other: &Level) -> Option { method lt (line 564) | fn lt(&self, other: &Level) -> bool { method le (line 569) | fn le(&self, other: &Level) -> bool { method gt (line 574) | fn gt(&self, other: &Level) -> bool { method ge (line 579) | fn ge(&self, other: &Level) -> bool { method cmp (line 586) | fn cmp(&self, other: &Self) -> Ordering { type Err (line 592) | type Err = String; method from_str (line 594) | fn from_str(s: &str) -> std::result::Result { method as_str (line 608) | pub fn as_str(&self) -> &'static str { method is_contained (line 619) | pub fn is_contained(&self, other: Self) -> bool { method fmt (line 625) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/trc/src/event/metrics.rs method name (line 10) | pub fn name(&self) -> &'static str { method description (line 42) | pub fn description(&self) -> &'static str { method unit (line 74) | pub fn unit(&self) -> &'static str { method code (line 106) | pub fn code(&self) -> u64 { method from_code (line 138) | pub fn from_code(code: u64) -> Option { method try_parse (line 171) | pub fn try_parse(name: &str) -> Option { method variants (line 204) | pub fn variants() -> &'static [Self] { FILE: crates/trc/src/event/mod.rs function with_capacity (line 18) | pub fn with_capacity(inner: T, capacity: usize) -> Self { function with_keys (line 25) | pub fn with_keys(inner: T, keys: Vec<(Key, Value)>) -> Self { function new (line 29) | pub fn new(inner: T) -> Self { function value (line 36) | pub fn value(&self, key: Key) -> Option<&Value> { function value_as_str (line 42) | pub fn value_as_str(&self, key: Key) -> Option<&str> { function value_as_uint (line 46) | pub fn value_as_uint(&self, key: Key) -> Option { function take_value (line 50) | pub fn take_value(&mut self, key: Key) -> Option { function into_boxed (line 60) | pub fn into_boxed(self) -> Box { method new (line 67) | pub fn new(inner: EventType) -> Self { method set_ctx (line 72) | pub fn set_ctx(&mut self, key: Key, value: impl Into) { method ctx (line 77) | pub fn ctx(mut self, key: Key, value: impl Into) -> Self { method ctx_unique (line 83) | pub fn ctx_unique(mut self, key: Key, value: impl Into) -> Self { method ctx_opt (line 91) | pub fn ctx_opt(self, key: Key, value: Option>) -> Self { method matches (line 99) | pub fn matches(&self, inner: EventType) -> bool { method event_type (line 104) | pub fn event_type(&self) -> EventType { method span_id (line 109) | pub fn span_id(self, session_id: u64) -> Self { method caused_by (line 114) | pub fn caused_by(self, error: impl Into) -> Self { method details (line 119) | pub fn details(self, error: impl Into) -> Self { method code (line 124) | pub fn code(self, error: impl Into) -> Self { method id (line 129) | pub fn id(self, error: impl Into) -> Self { method reason (line 134) | pub fn reason(self, error: impl Display) -> Self { method document_id (line 139) | pub fn document_id(self, id: u32) -> Self { method account_id (line 144) | pub fn account_id(self, id: u32) -> Self { method collection (line 149) | pub fn collection(self, id: impl Into) -> Self { method wrap (line 154) | pub fn wrap(self, cause: EventType) -> Self { method keys (line 159) | pub fn keys(&self) -> &[(Key, Value)] { method value (line 164) | pub fn value(&self, key: Key) -> Option<&Value> { method value_as_str (line 169) | pub fn value_as_str(&self, key: Key) -> Option<&str> { method value_as_uint (line 174) | pub fn value_as_uint(&self, key: Key) -> Option { method take_value (line 179) | pub fn take_value(&mut self, key: Key) -> Option { method is_assertion_failure (line 184) | pub fn is_assertion_failure(&self) -> bool { method key (line 188) | pub fn key(&self, key: Key) -> Option<&Value> { method is_jmap_method_error (line 196) | pub fn is_jmap_method_error(&self) -> bool { method must_disconnect (line 206) | pub fn must_disconnect(&self) -> bool { method should_write_err (line 217) | pub fn should_write_err(&self) -> bool { method corrupted_key (line 221) | pub fn corrupted_key(key: &[u8], value: Option<&[u8]>, caused_by: &'stat... function span_id (line 230) | pub fn span_id(&self) -> Option { method is_span_start (line 245) | pub fn is_span_start(&self) -> bool { method is_span_end (line 258) | pub fn is_span_end(&self) -> bool { method is_raw_io (line 270) | pub fn is_raw_io(&self) -> bool { method ctx (line 283) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 288) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 293) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 298) | pub fn into_err(self) -> Error { method message (line 302) | pub fn message(&self) -> &'static str { method ctx (line 324) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 329) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 334) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 339) | pub fn into_err(self) -> Error { method message (line 343) | pub fn message(&self) -> &'static str { method into_err (line 374) | pub fn into_err(self) -> Error { method ctx (line 381) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 386) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 391) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 396) | pub fn into_err(self) -> Error { method message (line 400) | pub fn message(&self) -> &'static str { method ctx (line 415) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 420) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 425) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 430) | pub fn into_err(self) -> Error { method message (line 434) | pub fn message(&self) -> &'static str { method ctx (line 448) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 453) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 458) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 463) | pub fn into_err(self) -> Error { method message (line 467) | pub fn message(&self) -> &'static str { method ctx (line 494) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 499) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 504) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 509) | pub fn into_err(self) -> Error { method message (line 513) | pub fn message(&self) -> &'static str { method ctx (line 531) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method caused_by (line 536) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 541) | pub fn reason(self, error: impl Display) -> Error { method into_err (line 546) | pub fn into_err(self) -> Error { method message (line 550) | pub fn message(&self) -> &'static str { method ctx (line 562) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 567) | pub fn into_err(self) -> Error { method ctx (line 574) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 579) | pub fn into_err(self) -> Error { method ctx (line 586) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 591) | pub fn into_err(self) -> Error { method ctx (line 598) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 603) | pub fn into_err(self) -> Error { method caused_by (line 608) | pub fn caused_by(self, error: impl Into) -> Error { method reason (line 613) | pub fn reason(self, error: impl Display) -> Error { method ctx (line 620) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 625) | pub fn into_err(self) -> Error { method ctx (line 632) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 637) | pub fn into_err(self) -> Error { method ctx (line 644) | pub fn ctx(self, key: Key, value: impl Into) -> Error { method into_err (line 649) | pub fn into_err(self) -> Error { method from_maybe_string (line 655) | pub fn from_maybe_string(value: &[u8]) -> Self { method to_uint (line 663) | pub fn to_uint(&self) -> Option { method as_str (line 671) | pub fn as_str(&self) -> Option<&str> { method into_string (line 678) | pub fn into_string(self) -> Option { function caused_by (line 688) | fn caused_by(self, location: &'static str) -> Result { function add_context (line 699) | fn add_context(self, f: F) -> Result method eq (line 713) | fn eq(&self, other: &Self) -> bool { method eq (line 729) | fn eq(&self, other: &Self) -> bool { function from (line 749) | fn from(value: EventType) -> Self { function as_ref (line 755) | fn as_ref(&self) -> &Event { FILE: crates/trc/src/ipc/bitset.rs type Bitset (line 10) | pub struct Bitset(pub(crate) [usize; N]); function new (line 14) | pub const fn new() -> Self { function all (line 18) | pub const fn all() -> Self { function set (line 23) | pub fn set(&mut self, index: impl Into) { function clear (line 29) | pub fn clear(&mut self, index: impl Into) { function get (line 35) | pub fn get(&self, index: impl Into) -> bool { function union (line 40) | pub fn union(&mut self, other: &Self) { function intersection (line 46) | pub fn intersection(&mut self, other: &Self) { function difference (line 52) | pub fn difference(&mut self, other: &Self) { function clear_all (line 58) | pub fn clear_all(&mut self) { function is_empty (line 64) | pub fn is_empty(&self) -> bool { function inner (line 73) | pub fn inner(&self) -> &[usize; N] { method default (line 79) | fn default() -> Self { FILE: crates/trc/src/ipc/channel.rs constant CHANNEL_SIZE (line 25) | pub(crate) const CHANNEL_SIZE: usize = 10240; constant CHANNEL_UPDATE_MARKER (line 26) | pub(crate) const CHANNEL_UPDATE_MARKER: u64 = 1 << 63; type Sender (line 50) | pub struct Sender { method send (line 64) | pub fn send(&mut self, event: Event) -> Result<(), ChannelE... type Receiver (line 56) | pub struct Receiver { method try_recv (line 85) | pub fn try_recv(&mut self) -> Result>, Channel... type ChannelError (line 61) | pub struct ChannelError; function send (line 100) | pub fn send(self) { function send_with_metrics (line 111) | pub fn send_with_metrics(self) { method send (line 118) | pub fn send(self) { FILE: crates/trc/src/ipc/collector.rs type GlobalInterests (line 24) | pub(crate) type GlobalInterests = AtomicBitset<{ TOTAL_EVENT_COUNT.div_c... type CollectorThread (line 27) | pub(crate) type CollectorThread = JoinHandle<()>; constant EVENT_TYPES (line 31) | pub(crate) const EVENT_TYPES: [EventType; TOTAL_EVENT_COUNT] = EventType... type Update (line 34) | pub(crate) enum Update { type Collector (line 55) | pub struct Collector { method collect (line 91) | fn collect(&mut self) { method update (line 236) | fn update(&mut self) -> bool { method set_interests (line 280) | pub fn set_interests(mut interests: Interests) { method union_interests (line 292) | pub fn union_interests(interests: Interests) { method has_interest (line 297) | pub fn has_interest(event: impl Into) -> bool { method get_subscribers (line 301) | pub fn get_subscribers() -> Vec { method update_custom_levels (line 305) | pub fn update_custom_levels(levels: AHashMap) { method update_subscriber (line 311) | pub fn update_subscriber(id: String, interests: Interests, lossy: bool) { method remove_subscriber (line 319) | pub fn remove_subscriber(id: String) { method shutdown (line 325) | pub fn shutdown() { method is_enabled (line 330) | pub fn is_enabled() -> bool { method reload (line 334) | pub fn reload() { constant HTTP_CONN_START (line 62) | const HTTP_CONN_START: usize = EventType::Http(HttpEvent::ConnectionStar... constant HTTP_CONN_END (line 63) | const HTTP_CONN_END: usize = EventType::Http(HttpEvent::ConnectionEnd).i... constant IMAP_CONN_START (line 64) | const IMAP_CONN_START: usize = EventType::Imap(ImapEvent::ConnectionStar... constant IMAP_CONN_END (line 65) | const IMAP_CONN_END: usize = EventType::Imap(ImapEvent::ConnectionEnd).i... constant POP3_CONN_START (line 66) | const POP3_CONN_START: usize = EventType::Pop3(Pop3Event::ConnectionStar... constant POP3_CONN_END (line 67) | const POP3_CONN_END: usize = EventType::Pop3(Pop3Event::ConnectionEnd).i... constant SMTP_CONN_START (line 68) | const SMTP_CONN_START: usize = EventType::Smtp(SmtpEvent::ConnectionStar... constant SMTP_CONN_END (line 69) | const SMTP_CONN_END: usize = EventType::Smtp(SmtpEvent::ConnectionEnd).i... constant MANAGE_SIEVE_CONN_START (line 70) | const MANAGE_SIEVE_CONN_START: usize = constant MANAGE_SIEVE_CONN_END (line 72) | const MANAGE_SIEVE_CONN_END: usize = EventType::ManageSieve(ManageSieveE... constant EV_ATTEMPT_START (line 73) | const EV_ATTEMPT_START: usize = EventType::Delivery(DeliveryEvent::Attem... constant EV_ATTEMPT_END (line 74) | const EV_ATTEMPT_END: usize = EventType::Delivery(DeliveryEvent::Attempt... constant STALE_SPAN_CHECK_WATERMARK (line 76) | const STALE_SPAN_CHECK_WATERMARK: usize = 8000; constant SPAN_MAX_HOLD (line 77) | const SPAN_MAX_HOLD: u64 = 60 * 60 * 24; method default (line 341) | fn default() -> Self { FILE: crates/trc/src/ipc/metrics.rs constant CONN_SMTP_IN (line 53) | const CONN_SMTP_IN: usize = 0; constant CONN_SMTP_OUT (line 54) | const CONN_SMTP_OUT: usize = 1; constant CONN_IMAP (line 55) | const CONN_IMAP: usize = 2; constant CONN_POP3 (line 56) | const CONN_POP3: usize = 3; constant CONN_HTTP (line 57) | const CONN_HTTP: usize = 4; constant CONN_SIEVE (line 58) | const CONN_SIEVE: usize = 5; constant TOTAL_CONN_TYPES (line 59) | const TOTAL_CONN_TYPES: usize = 6; type ConnectionMetrics (line 61) | pub struct ConnectionMetrics { method new (line 359) | pub const fn new() -> Self { type EventCounter (line 66) | pub struct EventCounter { method id (line 348) | pub fn id(&self) -> EventType { method value (line 352) | pub fn value(&self) -> u64 { method record_metric (line 72) | pub fn record_metric(event: EventType, event_id: usize, keys: &[(Key, Va... method is_metric (line 202) | pub fn is_metric(event: impl Into) -> bool { method set_metrics (line 206) | pub fn set_metrics(interests: Interests) { method collect_counters (line 210) | pub fn collect_counters(_is_enterprise: bool) -> impl Iterator impl Iterator u32 { method read_metric (line 277) | pub fn read_metric(metric_type: MetricType) -> f64 { method update_gauge (line 321) | pub fn update_gauge(metric_type: MetricType, value: u64) { method update_event_counter (line 331) | pub fn update_event_counter(event_type: EventType, value: u32) { method update_histogram (line 335) | pub fn update_histogram(metric_type: MetricType, value: u64) { function init_conn_metrics (line 368) | const fn init_conn_metrics() -> [ConnectionMetrics; TOTAL_CONN_TYPES] { method is_metric (line 411) | pub fn is_metric(&self) -> bool { FILE: crates/trc/src/ipc/mod.rs constant USIZE_BITS (line 13) | pub(crate) const USIZE_BITS: usize = std::mem::size_of::() * 8; constant USIZE_BITS_MASK (line 14) | pub(crate) const USIZE_BITS_MASK: usize = USIZE_BITS - 1; FILE: crates/trc/src/ipc/subscriber.rs constant MAX_BATCH_SIZE (line 20) | const MAX_BATCH_SIZE: usize = 32768; type Interests (line 22) | pub type Interests = Box>>; type Subscriber (line 26) | pub(crate) struct Subscriber { method push_event (line 42) | pub fn push_event(&mut self, event_id: usize, trace: Arc Result<(), ChannelError> { type SubscriberBuilder (line 34) | pub struct SubscriberBuilder { method new (line 74) | pub fn new(id: String) -> Self { method with_default_interests (line 82) | pub fn with_default_interests(mut self, level: Level) -> Self { method with_interests (line 91) | pub fn with_interests(mut self, interests: Interests) -> Self { method set_interests (line 96) | pub fn set_interests(mut self, interest: impl IntoIterator Self { method register (line 108) | pub fn register(self) -> (mpsc::Sender, mpsc::Receiver = std::result::Result; type Error (line 28) | pub struct Error(Box>); type Event (line 31) | pub struct Event { type EventDetails (line 37) | pub struct EventDetails { type Level (line 46) | pub enum Level { type Value (line 56) | pub enum Value { type Key (line 75) | pub enum Key { type EventType (line 147) | pub enum EventType { type HttpEvent (line 196) | pub enum HttpEvent { type SecurityEvent (line 207) | pub enum SecurityEvent { type ClusterEvent (line 217) | pub enum ClusterEvent { type HousekeeperEvent (line 231) | pub enum HousekeeperEvent { type TaskQueueEvent (line 239) | pub enum TaskQueueEvent { type ImapEvent (line 249) | pub enum ImapEvent { type Pop3Event (line 296) | pub enum Pop3Event { type ManageSieveEvent (line 324) | pub enum ManageSieveEvent { type SmtpEvent (line 353) | pub enum SmtpEvent { type DeliveryEvent (line 439) | pub enum DeliveryEvent { type QueueEvent (line 481) | pub enum QueueEvent { type IncomingReportEvent (line 497) | pub enum IncomingReportEvent { type OutgoingReportEvent (line 516) | pub enum OutgoingReportEvent { type MtaStsEvent (line 535) | pub enum MtaStsEvent { type TlsRptEvent (line 545) | pub enum TlsRptEvent { type DaneEvent (line 552) | pub enum DaneEvent { type MilterEvent (line 566) | pub enum MilterEvent { type MtaHookEvent (line 587) | pub enum MtaHookEvent { type PushSubscriptionEvent (line 596) | pub enum PushSubscriptionEvent { type SpamEvent (line 603) | pub enum SpamEvent { type SieveEvent (line 619) | pub enum SieveEvent { type TlsEvent (line 635) | pub enum TlsEvent { type NetworkEvent (line 645) | pub enum NetworkEvent { type ServerEvent (line 662) | pub enum ServerEvent { type TelemetryEvent (line 671) | pub enum TelemetryEvent { type AcmeEvent (line 682) | pub enum AcmeEvent { type PurgeEvent (line 713) | pub enum PurgeEvent { type EvalEvent (line 724) | pub enum EvalEvent { type ConfigEvent (line 732) | pub enum ConfigEvent { type ArcEvent (line 748) | pub enum ArcEvent { type DkimEvent (line 758) | pub enum DkimEvent { type SpfEvent (line 780) | pub enum SpfEvent { type DmarcEvent (line 791) | pub enum DmarcEvent { type IprevEvent (line 800) | pub enum IprevEvent { type MailAuthEvent (line 809) | pub enum MailAuthEvent { type StoreEvent (line 823) | pub enum StoreEvent { type MessageIngestEvent (line 871) | pub enum MessageIngestEvent { type JmapEvent (line 883) | pub enum JmapEvent { type LimitEvent (line 916) | pub enum LimitEvent { type ManageEvent (line 930) | pub enum ManageEvent { type AuthEvent (line 940) | pub enum AuthEvent { type ResourceEvent (line 951) | pub enum ResourceEvent { type AiEvent (line 960) | pub enum AiEvent { type WebDavEvent (line 966) | pub enum WebDavEvent { type CalendarEvent (line 991) | pub enum CalendarEvent { type MetricType (line 1003) | pub enum MetricType { constant TOTAL_EVENT_COUNT (line 1033) | pub const TOTAL_EVENT_COUNT: usize = total_event_count!(); type AddContext (line 1035) | pub trait AddContext { method caused_by (line 1036) | fn caused_by(self, location: &'static str) -> Result; method add_context (line 1037) | fn add_context(self, f: F) -> Result FILE: crates/trc/src/serializers/binary.rs constant VERSION (line 15) | const VERSION: u8 = 1; function serialize_events (line 17) | pub fn serialize_events<'x>( function deserialize_events (line 30) | pub fn deserialize_events(bytes: &[u8]) -> crate::Result crate::Result) { function deserialize (line 96) | pub fn deserialize<'x>(iter: &mut impl Iterator) -> Optio... method serialize (line 128) | fn serialize(&self, buf: &mut Vec) { method deserialize (line 196) | fn deserialize<'x>(iter: &mut impl Iterator) -> Option, mut value: u64) { function leb128_read (line 290) | fn leb128_read<'x>(iter: &mut impl Iterator) -> Option u64 { method from_code (line 904) | pub fn from_code(code: u64) -> Option { method code (line 1543) | fn code(&self) -> u64 { method from_code (line 1614) | fn from_code(code: u64) -> Option { FILE: crates/trc/src/serializers/json.rs type Keys (line 16) | struct Keys<'x> { type JsonEventSerializer (line 21) | pub struct JsonEventSerializer { function new (line 30) | pub fn new(inner: T) -> Self { function with_id (line 40) | pub fn with_id(mut self) -> Self { function with_spans (line 45) | pub fn with_spans(mut self) -> Self { function with_description (line 50) | pub fn with_description(mut self) -> Self { function with_explanation (line 55) | pub fn with_explanation(mut self) -> Self { function into_inner (line 60) | pub fn into_inner(self) -> T { method serialize (line 66) | fn serialize(&self, serializer: S) -> Result method serialize (line 85) | fn serialize(&self, serializer: S) -> Result method serialize (line 131) | fn serialize(&self, serializer: S) -> Result method serialize (line 160) | fn serialize(&self, serializer: S) -> Result method serialize (line 190) | fn serialize(&self, serializer: S) -> Result method serialize (line 229) | fn serialize(&self, serializer: S) -> Result FILE: crates/trc/src/serializers/text.rs type FmtWriter (line 15) | pub struct FmtWriter { type Color (line 22) | enum Color { method as_code (line 289) | pub fn as_code(&self) -> &'static str { method as_code_bold (line 302) | pub fn as_code_bold(&self) -> &'static str { method reset (line 315) | pub fn reset() -> &'static str { function new (line 34) | pub fn new(writer: T) -> Self { function with_ansi (line 42) | pub fn with_ansi(self, ansi: bool) -> Self { function with_multiline (line 46) | pub fn with_multiline(self, multiline: bool) -> Self { function write (line 50) | pub async fn write(&mut self, event: &Event) -> std::io::R... function write_keys (line 129) | async fn write_keys( function write_value (line 176) | async fn write_value(&mut self, value: &Value, indent: usize) -> std::io... function flush (line 279) | pub async fn flush(&mut self) -> std::io::Result<()> { function update_writer (line 283) | pub fn update_writer(&mut self, writer: T) { method fmt (line 321) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 354) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function to_camel_case (line 381) | fn to_camel_case(name: &str) -> String { function event_to_class (line 400) | fn event_to_class(name: &str) -> String { function event_to_webadmin_class (line 412) | fn event_to_webadmin_class(name: &str) -> String { function print_all_events (line 418) | fn print_all_events() { FILE: crates/types/src/acl.rs type Acl (line 25) | pub enum Acl { method as_str (line 63) | fn as_str(&self) -> &'static str { method serialize (line 93) | fn serialize(&self, serializer: S) -> Result method from (line 118) | fn from(value: u64) -> Self { type AclGrant (line 57) | pub struct AclGrant { method from (line 142) | fn from(value: &ArchivedAclGrant) -> Self { method fmt (line 87) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method max (line 102) | fn max() -> u64 { method is_valid (line 106) | fn is_valid(&self) -> bool { function from (line 112) | fn from(value: Acl) -> Self { FILE: crates/types/src/blob.rs constant B_LINKED (line 16) | const B_LINKED: u8 = 0x10; constant B_RESERVED (line 17) | const B_RESERVED: u8 = 0x20; type BlobClass (line 20) | pub enum BlobClass { method as_ref (line 42) | fn as_ref(&self) -> &BlobClass { method account_id (line 48) | pub fn account_id(&self) -> u32 { method is_valid (line 56) | pub fn is_valid(&self) -> bool { method default (line 33) | fn default() -> Self { type BlobId (line 70) | pub struct BlobId { method new (line 92) | pub fn new(hash: BlobHash, class: BlobClass) -> Self { method new_section (line 100) | pub fn new_section( method with_section_size (line 119) | pub fn with_section_size(mut self, size: usize) -> Self { method from_base32 (line 125) | pub fn from_base32(value: impl AsRef<[u8]>) -> Option { method from_iter (line 130) | pub fn from_iter(it: &mut T) -> Option method serialize_as (line 173) | fn serialize_as(&self, writer: &mut impl Leb128Writer) { method start_offset (line 218) | pub fn start_offset(&self) -> usize { method serialize (line 228) | fn serialize(&self, serializer: S) -> Result method fmt (line 238) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type BlobSection (line 77) | pub struct BlobSection { type Err (line 84) | type Err = (); method from_str (line 86) | fn from_str(s: &str) -> Result { function from (line 246) | fn from(id: BlobId) -> Self { FILE: crates/types/src/blob_hash.rs constant BLOB_HASH_LEN (line 7) | pub const BLOB_HASH_LEN: usize = 32; type BlobHash (line 26) | pub struct BlobHash(pub [u8; BLOB_HASH_LEN]); method new_max (line 29) | pub fn new_max() -> Self { method generate (line 33) | pub fn generate(value: impl AsRef<[u8]>) -> Self { method try_from_hash_slice (line 37) | pub fn try_from_hash_slice(value: &[u8]) -> Result &[u8] { method to_hex (line 45) | pub fn to_hex(&self) -> String { method is_empty (line 53) | pub fn is_empty(&self) -> bool { method from (line 59) | fn from(value: &ArchivedBlobHash) -> Self { method as_ref (line 65) | fn as_ref(&self) -> &BlobHash { method as_ref (line 77) | fn as_ref(&self) -> &[u8] { method as_mut (line 83) | fn as_mut(&mut self) -> &mut [u8] { function from (line 71) | fn from(value: BlobHash) -> Self { FILE: crates/types/src/collection.rs type Collection (line 28) | pub enum Collection { constant MAX (line 74) | pub const MAX: usize = Collection::None as usize; method main_collection (line 76) | pub fn main_collection(&self) -> Collection { method parent_collection (line 85) | pub fn parent_collection(&self) -> Option { method child_collection (line 96) | pub fn child_collection(&self) -> Option { method from (line 176) | fn from(v: u8) -> Self { method from (line 234) | fn from(v: u64) -> Self { type Error (line 310) | type Error = (); method try_from (line 312) | fn try_from(value: DataType) -> Result { method as_str (line 340) | pub fn as_str(&self) -> &'static str { method as_config_case (line 360) | pub fn as_config_case(&self) -> &'static str { type SyncCollection (line 49) | pub enum SyncCollection { method collection (line 109) | pub fn collection(&self, is_container: bool) -> Collection { method vanished_collection (line 142) | pub fn vanished_collection(&self) -> Option { method from (line 154) | fn from(v: Collection) -> Self { method from (line 198) | fn from(v: u8) -> Self { method from (line 216) | fn from(v: u64) -> Self { method as_str (line 432) | pub fn as_str(&self) -> &'static str { type VanishedCollection (line 66) | pub enum VanishedCollection { function from (line 256) | fn from(v: Collection) -> Self { function from (line 262) | fn from(v: SyncCollection) -> Self { function from (line 268) | fn from(v: SyncCollection) -> Self { function from (line 274) | fn from(v: VanishedCollection) -> Self { function from (line 280) | fn from(collection: Collection) -> u64 { type Error (line 286) | type Error = (); method try_from (line 288) | fn try_from(value: Collection) -> Result { method fmt (line 334) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { type Err (line 382) | type Err = (); method from_str (line 384) | fn from_str(s: &str) -> Result { function from (line 406) | fn from(value: Collection) -> Self { method max (line 412) | fn max() -> u64 { method is_valid (line 416) | fn is_valid(&self) -> bool { method max (line 422) | fn max() -> u64 { method is_valid (line 426) | fn is_valid(&self) -> bool { FILE: crates/types/src/dead_property.rs type DeadPropertyTag (line 11) | pub enum DeadPropertyTag { method from (line 39) | fn from(tag: &ArchivedDeadPropertyTag) -> Self { type DeadElementTag (line 20) | pub struct DeadElementTag { method from (line 49) | fn from(tag: &ArchivedDeadElementTag) -> Self { method new (line 172) | pub fn new(name: String, attrs: Option) -> Self { method size (line 176) | pub fn size(&self) -> usize { type DeadProperty (line 30) | pub struct DeadProperty(pub Vec); method from (line 33) | fn from(value: &ArchivedDeadProperty) -> Self { method remove_element (line 101) | pub fn remove_element(&mut self, element: &DeadElementTag) { method add_element (line 126) | pub fn add_element(&mut self, element: DeadElementTag, values: Vec usize { method find_tag (line 58) | pub fn find_tag(&self, needle: &str) -> Option { method size (line 152) | pub fn size(&self) -> usize { method size (line 182) | pub fn size(&self) -> usize { method default (line 188) | fn default() -> Self { FILE: crates/types/src/field.rs constant ARCHIVE_FIELD (line 7) | const ARCHIVE_FIELD: u8 = 50; type FieldType (line 9) | pub trait FieldType: Into + Copy + std::fmt::Debug + PartialEq + Eq {} type Field (line 13) | pub struct Field(u8); method from (line 186) | fn from(value: ContactField) -> Self { method from (line 192) | fn from(value: CalendarEventField) -> Self { method from (line 198) | fn from(value: CalendarNotificationField) -> Self { method from (line 204) | fn from(value: EmailField) -> Self { method from (line 210) | fn from(value: MailboxField) -> Self { method from (line 216) | fn from(value: PrincipalField) -> Self { method from (line 222) | fn from(value: SieveField) -> Self { method from (line 228) | fn from(value: EmailSubmissionField) -> Self { method from (line 234) | fn from(value: IdentityField) -> Self { constant ARCHIVE (line 240) | pub const ARCHIVE: Field = Field(ARCHIVE_FIELD); method new (line 242) | pub fn new(value: u8) -> Self { method inner (line 246) | pub fn inner(&self) -> u8 { type ContactField (line 17) | pub enum ContactField { type CalendarEventField (line 26) | pub enum CalendarEventField { type CalendarNotificationField (line 33) | pub enum CalendarNotificationField { type EmailField (line 40) | pub enum EmailField { type MailboxField (line 49) | pub enum MailboxField { type SieveField (line 56) | pub enum SieveField { type EmailSubmissionField (line 64) | pub enum EmailSubmissionField { type IdentityField (line 71) | pub enum IdentityField { type PrincipalField (line 78) | pub enum PrincipalField { function from (line 89) | fn from(value: ContactField) -> Self { function from (line 100) | fn from(value: CalendarEventField) -> Self { function from (line 109) | fn from(value: CalendarNotificationField) -> Self { function from (line 118) | fn from(value: EmailField) -> Self { function from (line 129) | fn from(value: MailboxField) -> Self { function from (line 138) | fn from(value: SieveField) -> Self { function from (line 148) | fn from(value: EmailSubmissionField) -> Self { function from (line 157) | fn from(value: PrincipalField) -> Self { function from (line 171) | fn from(value: IdentityField) -> Self { function from (line 180) | fn from(value: Field) -> Self { FILE: crates/types/src/id.rs type Id (line 14) | pub struct Id(u64); method new (line 42) | pub fn new(id: u64) -> Self { method singleton (line 46) | pub fn singleton() -> Self { method as_string (line 52) | pub fn as_string(&self) -> String { method from_parts (line 104) | pub fn from_parts(prefix_id: DocumentId, doc_id: DocumentId) -> Id { method id (line 109) | pub fn id(&self) -> u64 { method document_id (line 114) | pub fn document_id(&self) -> DocumentId { method prefix_id (line 119) | pub fn prefix_id(&self) -> DocumentId { method is_singleton (line 124) | pub fn is_singleton(&self) -> bool { method is_valid (line 129) | pub fn is_valid(&self) -> bool { method from (line 135) | fn from(id: u64) -> Self { method from (line 141) | fn from(id: u32) -> Self { method from (line 159) | fn from(id: (u32, u32)) -> Self { method as_ref (line 173) | fn as_ref(&self) -> &u64 { method serialize (line 191) | fn serialize(&self, serializer: S) -> Result method deserialize (line 200) | fn deserialize(deserializer: D) -> Result method fmt (line 210) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 17) | fn default() -> Self { type Err (line 23) | type Err = (); method from_str (line 25) | fn from_str(s: &str) -> Result { function from (line 147) | fn from(id: Id) -> Self { function from (line 153) | fn from(id: &Id) -> Self { type Target (line 165) | type Target = u64; method deref (line 167) | fn deref(&self) -> &Self::Target { function from (line 179) | fn from(id: Id) -> Self { method from (line 185) | fn from(id: Id) -> Self { function from (line 216) | fn from(id: Id) -> Self { function parse_jmap_id (line 228) | fn parse_jmap_id() { FILE: crates/types/src/keyword.rs constant SEEN (line 10) | pub const SEEN: usize = 0; constant DRAFT (line 11) | pub const DRAFT: usize = 1; constant FLAGGED (line 12) | pub const FLAGGED: usize = 2; constant ANSWERED (line 13) | pub const ANSWERED: usize = 3; constant RECENT (line 14) | pub const RECENT: usize = 4; constant IMPORTANT (line 15) | pub const IMPORTANT: usize = 5; constant PHISHING (line 16) | pub const PHISHING: usize = 6; constant JUNK (line 17) | pub const JUNK: usize = 7; constant NOTJUNK (line 18) | pub const NOTJUNK: usize = 8; constant DELETED (line 19) | pub const DELETED: usize = 9; constant FORWARDED (line 20) | pub const FORWARDED: usize = 10; constant MDN_SENT (line 21) | pub const MDN_SENT: usize = 11; constant AUTOSENT (line 22) | pub const AUTOSENT: usize = 12; constant CANUNSUBSCRIBE (line 23) | pub const CANUNSUBSCRIBE: usize = 13; constant FOLLOWED (line 24) | pub const FOLLOWED: usize = 14; constant HASATTACHMENT (line 25) | pub const HASATTACHMENT: usize = 15; constant HASMEMO (line 26) | pub const HASMEMO: usize = 16; constant HASNOATTACHMENT (line 27) | pub const HASNOATTACHMENT: usize = 17; constant IMPORTED (line 28) | pub const IMPORTED: usize = 18; constant ISTRUSTED (line 29) | pub const ISTRUSTED: usize = 19; constant MAILFLAGBIT0 (line 30) | pub const MAILFLAGBIT0: usize = 20; constant MAILFLAGBIT1 (line 31) | pub const MAILFLAGBIT1: usize = 21; constant MAILFLAGBIT2 (line 32) | pub const MAILFLAGBIT2: usize = 22; constant MASKEDEMAIL (line 33) | pub const MASKEDEMAIL: usize = 23; constant MEMO (line 34) | pub const MEMO: usize = 24; constant MUTED (line 35) | pub const MUTED: usize = 25; constant NEW (line 36) | pub const NEW: usize = 26; constant NOTIFY (line 37) | pub const NOTIFY: usize = 27; constant UNSUBSCRIBED (line 38) | pub const UNSUBSCRIBED: usize = 28; constant OTHER (line 39) | pub const OTHER: usize = 29; type Keyword (line 57) | pub enum Keyword { constant MAX_LENGTH (line 121) | pub const MAX_LENGTH: usize = 128; method parse (line 123) | pub fn parse(value: &str) -> Self { method from_other (line 128) | pub fn from_other(value: String) -> Self { method from_boxed_other (line 136) | pub fn from_boxed_other(value: Box) -> Self { method try_parse (line 144) | pub fn try_parse(value: &str) -> Option { method id (line 183) | pub fn id(&self) -> Result { method into_id (line 218) | pub fn into_id(self) -> Result> { method try_from_id (line 253) | pub fn try_from_id(id: usize) -> Result { method from (line 290) | fn from(value: String) -> Self { method from (line 487) | fn from(value: &ArchivedKeyword) -> Self { method deserialize (line 524) | fn deserialize(deserializer: D) -> Result method fmt (line 296) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 333) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 370) | fn from(keyword: Keyword) -> Self { type Err (line 407) | type Err = (); method from_str (line 409) | fn from_str(s: &str) -> Result { method id (line 415) | pub fn id(&self) -> Result { method to_native (line 450) | pub fn to_native(&self) -> Keyword { function from (line 533) | fn from(id: Keyword) -> Self { FILE: crates/types/src/lib.rs type DocumentId (line 19) | pub type DocumentId = u32; type ChangeId (line 20) | pub type ChangeId = u64; type TimeRange (line 24) | pub struct TimeRange { method new (line 30) | pub fn new(start: i64, end: i64) -> Self { method is_in_range (line 34) | pub fn is_in_range(&self, match_overlap: bool, start: i64, end: i64) -... method default (line 46) | fn default() -> Self { FILE: crates/types/src/semver.rs type Semver (line 11) | pub struct Semver(u64); method current (line 14) | pub fn current() -> Self { method new (line 18) | pub fn new(major: u16, minor: u16, patch: u16) -> Self { method unpack (line 26) | pub fn unpack(&self) -> (u16, u16, u16) { method major (line 34) | pub fn major(&self) -> u16 { method minor (line 38) | pub fn minor(&self) -> u16 { method patch (line 42) | pub fn patch(&self) -> u16 { method is_valid (line 46) | pub fn is_valid(&self) -> bool { method as_ref (line 52) | fn as_ref(&self) -> &u64 { method from (line 58) | fn from(value: u64) -> Self { type Error (line 64) | type Error = (); method try_from (line 66) | fn try_from(value: &str) -> Result { method fmt (line 76) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crates/types/src/special_use.rs type SpecialUse (line 24) | pub enum SpecialUse { method parse (line 40) | pub fn parse(s: &str) -> Option { method as_str (line 56) | pub fn as_str(&self) -> Option<&'static str> { method from (line 94) | fn from(value: &ArchivedSpecialUse) -> Self { method as_str (line 75) | pub fn as_str(&self) -> Option<&'static str> { method parse_value (line 113) | fn parse_value(value: &str) -> Result { function from (line 119) | fn from(id: SpecialUse) -> Self { FILE: crates/types/src/type_state.rs type DataType (line 15) | pub enum DataType { method from (line 111) | fn from(value: u64) -> Self { method try_from_sync (line 151) | pub fn try_from_sync(value: SyncCollection, is_container: bool) -> Opt... method parse (line 170) | pub fn parse(value: &str) -> Option { method as_str (line 198) | pub fn as_str(&self) -> &'static str { method deserialize (line 243) | fn deserialize(deserializer: D) -> Result type StateChange (line 66) | pub struct StateChange { method new (line 73) | pub fn new(account_id: u32) -> Self { method set_change (line 81) | pub fn set_change(&mut self, type_state: DataType) { method with_change (line 85) | pub fn with_change(mut self, type_state: DataType) -> Self { method with_change_id (line 90) | pub fn with_change_id(mut self, change_id: u64) -> Self { method has_changes (line 95) | pub fn has_changes(&self) -> bool { method max (line 101) | fn max() -> u64 { method is_valid (line 105) | fn is_valid(&self) -> bool { function from (line 145) | fn from(type_state: DataType) -> u64 { type Err (line 229) | type Err = (); method from_str (line 231) | fn from_str(s: &str) -> Result { method fmt (line 237) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 253) | fn from(id: DataType) -> Self { FILE: crates/utils/proc-macros/src/lib.rs function enum_id (line 12) | pub fn enum_id(input: TokenStream) -> TokenStream { function to_snake_case (line 64) | fn to_snake_case(s: &str) -> String { FILE: crates/utils/src/bimap.rs type StringRef (line 13) | struct StringRef(Rc); type IdRef (line 17) | struct IdRef(Rc); type IdBimap (line 20) | pub struct IdBimap { function with_capacity (line 26) | pub fn with_capacity(capacity: usize) -> Self { function insert (line 33) | pub fn insert(&mut self, item: T) { function by_name (line 39) | pub fn by_name(&self, name: &str) -> Option<&T> { function by_id (line 43) | pub fn by_id(&self, id: u32) -> Option<&T> { function iter (line 47) | pub fn iter(&self) -> impl Iterator { function is_empty (line 51) | pub fn is_empty(&self) -> bool { type IdBimapItem (line 60) | pub trait IdBimapItem: std::fmt::Debug { method id (line 61) | fn id(&self) -> &u32; method name (line 62) | fn name(&self) -> &str; function borrow (line 66) | fn borrow(&self) -> &str { function borrow (line 72) | fn borrow(&self) -> &u32 { method eq (line 78) | fn eq(&self, other: &Self) -> bool { method eq (line 86) | fn eq(&self, other: &Self) -> bool { method hash (line 94) | fn hash(&self, state: &mut H) { method hash (line 100) | fn hash(&self, state: &mut H) { FILE: crates/utils/src/cache.rs type Cache (line 21) | pub struct Cache { function from_config (line 36) | pub fn from_config( function new (line 52) | pub fn new(estimated_items_capacity: usize, weight_capacity: u64) -> Self { function get (line 61) | pub fn get(&self, key: &Q) -> Option function get_value_or_guard_async (line 69) | pub async fn get_value_or_guard_async<'a, Q>( function insert (line 83) | pub fn insert(&self, key: K, value: V) { function remove (line 88) | pub fn remove(&self, key: &Q) -> Option function clear (line 96) | pub fn clear(&self) { function from_config (line 102) | pub fn from_config( function new (line 118) | pub fn new(estimated_items_capacity: usize, weight_capacity: u64) -> Self { function get (line 127) | pub fn get(&self, key: &Q) -> Option function get_value_or_guard_async (line 142) | pub async fn get_value_or_guard_async<'a, Q>( function insert (line 173) | pub fn insert(&self, key: K, value: V, expires: Duration) { function insert_with_expiry (line 178) | pub fn insert_with_expiry(&self, key: K, value: V, expires: Instant) { function remove (line 183) | pub fn remove(&self, key: &Q) -> Option function clear (line 191) | pub fn clear(&self) { type CacheItemWeighter (line 197) | pub struct CacheItemWeighter; method weight (line 200) | fn weight(&self, key: &K, val: &V) -> u64 { type CacheItemWeight (line 205) | pub trait CacheItemWeight { method weight (line 206) | fn weight(&self) -> u64; method weight (line 210) | fn weight(&self) -> u64 { method weight (line 216) | fn weight(&self) -> u64 { method weight (line 225) | fn weight(&self) -> u64 { method weight (line 231) | fn weight(&self) -> u64 { method weight (line 237) | fn weight(&self) -> u64 { method weight (line 243) | fn weight(&self) -> u64 { method weight (line 249) | fn weight(&self) -> u64 { method weight (line 256) | fn weight(&self) -> u64 { method weight (line 263) | fn weight(&self) -> u64 { method weight (line 270) | fn weight(&self) -> u64 { method weight (line 284) | fn weight(&self) -> u64 { method weight (line 291) | fn weight(&self) -> u64 { method weight (line 297) | fn weight(&self) -> u64 { method weight (line 303) | fn weight(&self) -> u64 { function new (line 309) | pub fn new(value: T, expires: Duration) -> Self { function with_expiry (line 316) | pub fn with_expiry(value: T, expires: Instant) -> Self { function get (line 324) | fn get(&self, key: &Q) -> Option function remove (line 332) | fn remove(&self, key: &Q) -> Option function insert (line 340) | fn insert(&self, key: K, value: V, expires: Instant) { FILE: crates/utils/src/chained_bytes.rs type ChainedBytes (line 10) | pub struct ChainedBytes<'x> { type SliceRange (line 16) | pub enum SliceRange<'x> { function new (line 23) | pub fn new(first: &'x [u8]) -> Self { function append (line 27) | pub fn append(&mut self, bytes: &'x [u8]) { function with_last (line 31) | pub fn with_last(mut self, bytes: &'x [u8]) -> Self { function get (line 36) | pub fn get(&self, index: Range) -> Option> { function get_slice_range (line 59) | pub fn get_slice_range(&self, index: Range) -> SliceRange<'x> { function get_full_range (line 80) | pub fn get_full_range(&self) -> SliceRange<'x> { function to_bytes (line 88) | pub fn to_bytes(&self) -> Vec { function len (line 95) | pub fn len(&self) -> usize { function is_empty (line 99) | pub fn is_empty(&self) -> bool { function len (line 105) | pub fn len(&self) -> usize { function try_into_bytes (line 113) | pub fn try_into_bytes(self) -> Option> { function is_empty (line 126) | pub fn is_empty(&self) -> bool { function into_pairs (line 130) | fn into_pairs(self) -> (&'x [u8], &'x [u8]) { function is_none (line 138) | pub fn is_none(&self) -> bool { function is_some (line 142) | pub fn is_some(&self) -> bool { type Item (line 148) | type Item = &'x u8; type IntoIter (line 149) | type IntoIter = std::iter::Chain, std::slice::I... method into_iter (line 151) | fn into_iter(self) -> Self::IntoIter { FILE: crates/utils/src/cheeky_hash.rs type CheekyHash (line 19) | pub struct CheekyHash([u8; HASH_SIZE]); constant HASH_SIZE (line 29) | pub const HASH_SIZE: usize = HASH_SIZE; constant NULL (line 30) | pub const NULL: CheekyHash = CheekyHash([0u8; HASH_SIZE]); constant FULL (line 31) | pub const FULL: CheekyHash = CheekyHash([u8::MAX; HASH_SIZE]); method new (line 33) | pub fn new(bytes: impl AsRef<[u8]>) -> Self { method deserialize (line 52) | pub fn deserialize(bytes: &[u8]) -> Option { method len (line 64) | pub fn len(&self) -> usize { method as_bytes (line 69) | pub fn as_bytes(&self) -> &[u8] { method as_raw_bytes (line 74) | pub fn as_raw_bytes(&self) -> &[u8; HASH_SIZE] { method into_inner (line 78) | pub fn into_inner(self) -> [u8; HASH_SIZE] { method payload (line 82) | pub fn payload(&self) -> &[u8] { method payload_len (line 91) | pub fn payload_len(&self) -> u8 { method as_ref (line 97) | fn as_ref(&self) -> &[u8] { constant HASH_SIZE (line 21) | const HASH_SIZE: usize = std::mem::size_of::() * 2; constant HASH_PAYLOAD (line 22) | const HASH_PAYLOAD: usize = HASH_SIZE - 1; type CheekyHashSet (line 24) | pub type CheekyHashSet = HashSet = HashMap = BTreeMap; method hash (line 103) | fn hash(&self, state: &mut H) { method as_raw_bytes (line 121) | pub fn as_raw_bytes(&self) -> &[u8; HASH_SIZE] { method as_bytes (line 126) | pub fn as_bytes(&self) -> &[u8] { method to_native (line 132) | pub fn to_native(&self) -> CheekyHash { method fmt (line 138) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_cheeky_hash_all (line 159) | fn test_cheeky_hash_all() { FILE: crates/utils/src/codec/base32_custom.rs type Base32Writer (line 28) | pub struct Base32Writer { method from_bytes (line 35) | pub fn from_bytes(bytes: impl AsRef<[u8]>) -> Self { method with_capacity (line 42) | pub fn with_capacity(capacity: usize) -> Self { method with_raw_capacity (line 46) | pub fn with_raw_capacity(capacity: usize) -> Self { method push_char (line 54) | pub fn push_char(&mut self, ch: char) { method push_string (line 58) | pub fn push_string(&mut self, string: &str) { method push_byte (line 62) | fn push_byte(&mut self, byte: u8, is_remainder: bool) { method finalize (line 94) | pub fn finalize(mut self) -> String { method write (line 104) | fn write(&mut self, bytes: &[u8]) -> std::io::Result { method flush (line 114) | fn flush(&mut self) -> std::io::Result<()> { type Base32Reader (line 120) | pub struct Base32Reader<'x> { function new (line 127) | pub fn new(bytes: &'x [u8]) -> Self { function from_iter (line 136) | pub fn from_iter(bytes: Iter<'x, u8>) -> Self { function map_byte (line 145) | fn map_byte(&mut self) -> Option { type Item (line 160) | type Item = u8; method next (line 161) | fn next(&mut self) -> Option { function base32_roundtrip (line 188) | fn base32_roundtrip() { FILE: crates/utils/src/codec/leb128.rs type Leb128_ (line 11) | pub trait Leb128_ { method to_leb128_writer (line 12) | fn to_leb128_writer(self, out: &mut impl Write) -> std::io::Result); method from_leb128_bytes_pos (line 14) | fn from_leb128_bytes_pos(slice: &[u8]) -> Option<(Self, usize)> method from_leb128_bytes (line 17) | fn from_leb128_bytes(slice: &[u8]) -> Option method from_leb128_it (line 20) | fn from_leb128_it(it: T) -> Option type Leb128Vec (line 27) | pub trait Leb128Vec { method push_leb128 (line 28) | fn push_leb128(&mut self, value: T); type Leb128Writer (line 31) | pub trait Leb128Writer: Write + Sized { method write_leb128 (line 33) | fn write_leb128(&mut self, value: T) -> std::io::Result(&mut self, value: T) -> std::io::Result: Iterator method next_leb128 (line 50) | fn next_leb128(&mut self) -> Option { method skip_leb128 (line 55) | fn skip_leb128(&mut self) -> Option<()> { type Leb128Reader (line 65) | pub trait Leb128Reader: AsRef<[u8]> { method read_leb128 (line 67) | fn read_leb128(&self) -> Option<(T, usize)> { method skip_leb128 (line 72) | fn skip_leb128(&self) -> Option { FILE: crates/utils/src/config/cron.rs type SimpleCron (line 14) | pub enum SimpleCron { method time_to_next (line 21) | pub fn time_to_next(&self) -> Duration { method as_duration (line 65) | pub fn as_duration(&self) -> Duration { method parse_value (line 75) | fn parse_value(value: &str) -> super::Result { method default (line 136) | fn default() -> Self { FILE: crates/utils/src/config/http.rs function build_http_client (line 15) | pub fn build_http_client( function parse_http_headers (line 50) | pub fn parse_http_headers(config: &mut Config, prefix: impl AsKey) -> He... FILE: crates/utils/src/config/ipmask.rs type IpAddrMask (line 14) | pub enum IpAddrMask { method matches (line 26) | pub fn matches(&self, remote: &IpAddr) -> bool { type IpAddrOrMask (line 20) | pub enum IpAddrOrMask { method parse_value (line 77) | fn parse_value(value: &str) -> super::Result { method parse_value (line 121) | fn parse_value(ip: &str) -> super::Result { method parse_value (line 131) | fn parse_value(value: &str) -> super::Result { method parse_value (line 139) | fn parse_value(value: &str) -> super::Result { function test_ipaddrmask (line 166) | fn test_ipaddrmask() { FILE: crates/utils/src/config/mod.rs type Config (line 19) | pub struct Config { method resolve_macros (line 64) | pub async fn resolve_macros(&mut self, classes: &[&str]) { method resolve_all_macros (line 70) | pub async fn resolve_all_macros(&mut self) { method resolve_macro_type (line 74) | async fn resolve_macro_type(&mut self, class: &str) { method update (line 173) | pub fn update(&mut self, settings: Vec<(String, String)>) { method log_errors (line 177) | pub fn log_errors(&self) { method log_warnings (line 202) | pub fn log_warnings(&mut self) { type ConfigWarning (line 32) | pub enum ConfigWarning { type ConfigError (line 43) | pub enum ConfigError { type ConfigKey (line 50) | pub struct ConfigKey { method from (line 260) | fn from((key, value): (String, String)) -> Self { method from (line 266) | fn from((key, value): (&str, &str)) -> Self { method from (line 275) | fn from((key, value): (&str, String)) -> Self { method from (line 284) | fn from((key, value): (String, &str)) -> Self { type Rate (line 56) | pub struct Rate { type Result (line 61) | pub type Result = std::result::Result; method clone (line 240) | fn clone(&self) -> Self { method eq (line 252) | fn eq(&self, other: &Self) -> bool { FILE: crates/utils/src/config/parser.rs constant MAX_NEST_LEVEL (line 16) | const MAX_NEST_LEVEL: usize = 10; method new (line 20) | pub fn new(toml: impl AsRef) -> Result { method parse (line 26) | pub fn parse(&mut self, toml: &str) -> Result<()> { type TomlParser (line 120) | struct TomlParser<'x, 'y> { function new (line 127) | fn new(keys: &'y mut BTreeMap, toml: &'x str) -> Self { function seek_next_char (line 135) | fn seek_next_char(&mut self) -> bool { function peek_char (line 157) | fn peek_char(&mut self) -> Result<&char> { function next_char (line 161) | fn next_char(&mut self, skip_wsp: bool, allow_lf: bool) -> Result { function skip_line (line 182) | fn skip_line(&mut self) { function key (line 192) | fn key(&mut self, mut key: String, in_curly: bool) -> Result<(String, ch... function value (line 253) | fn value(&mut self, key: String, stop_chars: &[char], nest_level: usize)... function insert_key (line 423) | fn insert_key(&mut self, key: String, mut value: String) -> Result<()> { function toml_parse (line 446) | fn toml_parse() { FILE: crates/utils/src/config/utils.rs method property (line 24) | pub fn property(&mut self, key: impl AsKey) -> Option { method property_or_default (line 43) | pub fn property_or_default( method property_or_else (line 66) | pub fn property_or_else( method property_require (line 87) | pub fn property_require(&mut self, key: impl AsKey) -> Op... method sub_keys (line 107) | pub fn sub_keys(&self, prefix: impl AsKey, suffix: &str) -> Vec { method sub_keys_with_suffixes (line 132) | pub fn sub_keys_with_suffixes(&self, prefix: impl AsKey, suffixes: &[&st... method prefix (line 154) | pub fn prefix<'x, 'y: 'x>(&'y self, prefix: impl AsKey) -> impl Iterator... method set_values (line 161) | pub fn set_values<'x, 'y: 'x>( method properties (line 175) | pub fn properties(&mut self, prefix: impl AsKey) -> Vec<(... method value (line 200) | pub fn value(&self, key: impl AsKey) -> Option<&str> { method contains_key (line 209) | pub fn contains_key(&self, key: impl AsKey) -> bool { method value_require (line 213) | pub fn value_require(&mut self, key: impl AsKey) -> Option<&str> { method value_require_non_empty (line 232) | pub fn value_require_non_empty(&mut self, key: impl AsKey) -> Option<&st... method try_parse_value (line 254) | pub fn try_parse_value(&mut self, key: impl AsKey, value:... method value_or_else (line 265) | pub fn value_or_else(&self, key: impl AsKey, or_else: impl AsKey) -> Opt... method values (line 280) | pub fn values(&self, prefix: impl AsKey) -> impl Iterator impl Iterator bool { method new_parse_error (line 333) | pub fn new_parse_error(&mut self, key: impl AsKey, details: impl Into super::Result; method parse_value (line 397) | fn parse_value(value: &str) -> super::Result { method parse_value (line 413) | fn parse_value(value: &str) -> super::Result { method parse_value (line 419) | fn parse_value(value: &str) -> super::Result { method parse_value (line 427) | fn parse_value(value: &str) -> super::Result { method parse_value (line 435) | fn parse_value(value: &str) -> super::Result { method parse_value (line 443) | fn parse_value(value: &str) -> super::Result { method parse_value (line 451) | fn parse_value(value: &str) -> super::Result { method parse_value (line 459) | fn parse_value(value: &str) -> super::Result { method parse_value (line 467) | fn parse_value(value: &str) -> super::Result { method parse_value (line 475) | fn parse_value(value: &str) -> super::Result { method parse_value (line 483) | fn parse_value(value: &str) -> super::Result { method parse_value (line 491) | fn parse_value(value: &str) -> super::Result { method parse_value (line 499) | fn parse_value(value: &str) -> super::Result { method parse_value (line 507) | fn parse_value(value: &str) -> super::Result { method parse_value (line 515) | fn parse_value(value: &str) -> super::Result { method parse_value (line 527) | fn parse_value(value: &str) -> super::Result { method parse_value (line 538) | fn parse_value(value: &str) -> super::Result { method parse_value (line 548) | fn parse_value(value: &str) -> super::Result { method parse_value (line 561) | fn parse_value(value: &str) -> super::Result { method parse_value (line 572) | fn parse_value(value: &str) -> super::Result { method parse_value (line 582) | fn parse_value(value: &str) -> super::Result { method parse_value (line 618) | fn parse_value(value: &str) -> super::Result { method parse_value (line 638) | fn parse_value(value: &str) -> super::Result { method parse_value (line 644) | fn parse_value(value: &str) -> super::Result { method parse_value (line 650) | fn parse_value(_: &str) -> super::Result { type AsKey (line 655) | pub trait AsKey: Clone { method as_key (line 656) | fn as_key(&self) -> String; method as_prefix (line 657) | fn as_prefix(&self) -> String; method as_key (line 661) | fn as_key(&self) -> String { method as_prefix (line 665) | fn as_prefix(&self) -> String { method as_key (line 671) | fn as_key(&self) -> String { method as_prefix (line 675) | fn as_prefix(&self) -> String { method as_key (line 681) | fn as_key(&self) -> String { method as_prefix (line 685) | fn as_prefix(&self) -> String { method as_key (line 695) | fn as_key(&self) -> String { method as_prefix (line 699) | fn as_prefix(&self) -> String { method as_key (line 710) | fn as_key(&self) -> String { method as_prefix (line 719) | fn as_prefix(&self) -> String { method as_key (line 736) | fn as_key(&self) -> String { method as_prefix (line 746) | fn as_prefix(&self) -> String { method as_key (line 765) | fn as_key(&self) -> String { method as_prefix (line 776) | fn as_prefix(&self) -> String { function toml_utils (line 795) | fn toml_utils() { FILE: crates/utils/src/glob.rs type GlobPattern (line 13) | pub struct GlobPattern { method compile (line 26) | pub fn compile(pattern: &str, to_lower: bool) -> Self { method try_compile (line 69) | pub fn try_compile(pattern: &str, to_lower: bool) -> Result bool { method deserialize (line 215) | fn deserialize(deserializer: D) -> Result type PatternChar (line 19) | pub enum PatternChar { type GlobSet (line 148) | pub struct GlobSet { method new (line 160) | pub fn new() -> Self { method insert (line 164) | pub fn insert(&mut self, pattern: &str) { method contains (line 175) | pub fn contains(&self, key: &str) -> bool { type GlobMap (line 154) | pub struct GlobMap { function new (line 181) | pub fn new() -> Self { function insert (line 188) | pub fn insert(&mut self, pattern: &str, value: V) { function get (line 199) | pub fn get(&self, key: &str) -> Option<&V> { method default (line 209) | fn default() -> Self { FILE: crates/utils/src/lib.rs type HttpLimitResponse (line 30) | pub trait HttpLimitResponse: Sync + Send { method bytes_with_limit (line 31) | fn bytes_with_limit( method bytes_with_limit (line 38) | async fn bytes_with_limit(self, limit: usize) -> reqwest::Result { method failed (line 62) | fn failed(self, action: &str) -> T; function failed (line 66) | fn failed(self, message: &str) -> T { function failed (line 82) | fn failed(self, message: &str) -> T { function failed (line 105) | pub fn failed(message: &str) -> ! { function wait_for_shutdown (line 114) | pub async fn wait_for_shutdown() { function rustls_client_config (line 146) | pub fn rustls_client_config(allow_invalid_certs: bool) -> ClientConfig { type DomainPart (line 169) | pub trait DomainPart { method to_lowercase_domain (line 170) | fn to_lowercase_domain(&self) -> String; method domain_part (line 171) | fn domain_part(&self) -> &str; method try_domain_part (line 172) | fn try_domain_part(&self) -> Option<&str>; method try_local_part (line 173) | fn try_local_part(&self) -> Option<&str>; method to_lowercase_domain (line 177) | fn to_lowercase_domain(&self) -> String { method try_domain_part (line 195) | fn try_domain_part(&self) -> Option<&str> { method try_local_part (line 200) | fn try_local_part(&self) -> Option<&str> { method domain_part (line 205) | fn domain_part(&self) -> &str { type DummyVerifier (line 214) | struct DummyVerifier; method verify_server_cert (line 217) | fn verify_server_cert( method verify_tls12_signature (line 228) | fn verify_tls12_signature( method verify_tls13_signature (line 237) | fn verify_tls13_signature( method supported_verify_schemes (line 246) | fn supported_verify_schemes(&self) -> Vec { function sanitize_email (line 266) | pub fn sanitize_email(email: &str) -> Option { FILE: crates/utils/src/map/bitmap.rs type Bitmap (line 26) | pub struct Bitmap { type BitmapItem (line 33) | pub trait BitmapItem: From + Into + Sized + Copy { method max (line 34) | fn max() -> u64; method is_valid (line 35) | fn is_valid(&self) -> bool; type BitPop (line 38) | pub trait BitPop { method bit_push (line 39) | fn bit_push(&mut self, item: u8); method bit_pop (line 40) | fn bit_pop(&mut self) -> Option; method bit_push (line 156) | fn bit_push(&mut self, item: u8) { method bit_pop (line 160) | fn bit_pop(&mut self) -> Option { method bit_push (line 172) | fn bit_push(&mut self, item: u8) { method bit_pop (line 176) | fn bit_pop(&mut self) -> Option { function new (line 44) | pub fn new() -> Self { function all (line 49) | pub fn all() -> Self { function union (line 57) | pub fn union(&mut self, items: &Bitmap) { function union_raw (line 62) | pub fn union_raw(&mut self, items: impl Into) { function intersection (line 67) | pub fn intersection(&mut self, items: &Bitmap) { function insert (line 72) | pub fn insert(&mut self, item: T) { function insert_many (line 77) | pub fn insert_many(&mut self, items: impl IntoIterator) { function with_item (line 84) | pub fn with_item(mut self, item: T) -> Self { function remove (line 90) | pub fn remove(&mut self, item: T) { function pop (line 96) | pub fn pop(&mut self) -> Option { function contains (line 107) | pub fn contains(&self, item: T) -> bool { function contains_any (line 112) | pub fn contains_any(&self, items: impl Iterator) -> bool { function contains_all (line 122) | pub fn contains_all(&self, items: impl Iterator) -> bool { function is_empty (line 136) | pub fn is_empty(&self) -> bool { function clear (line 141) | pub fn clear(&mut self) -> Self { function into_inner (line 150) | pub fn into_inner(self) -> u64 { function from (line 188) | fn from(value: ArchivedBitmap) -> Self { function from (line 197) | fn from(value: &ArchivedBitmap) -> Self { function from (line 206) | fn from(value: u64) -> Self { function as_ref (line 215) | fn as_ref(&self) -> &u64 { type Target (line 221) | type Target = u64; method deref (line 223) | fn deref(&self) -> &Self::Target { function from (line 229) | fn from(value: Bitmap) -> Self { type Item (line 235) | type Item = T; method next (line 237) | fn next(&mut self) -> Option { function from (line 249) | fn from(values: Vec) -> Self { function from_iter (line 261) | fn from_iter>(iter: U) -> Self { function from (line 273) | fn from(values: &Vec) -> Self { function from (line 285) | fn from(value: T) -> Self { function from (line 293) | fn from(values: Bitmap) -> Self { method default (line 303) | fn default() -> Self { FILE: crates/utils/src/map/mutex_map.rs type MutexMap (line 13) | pub struct MutexMap { type MutexMapLockError (line 19) | pub struct MutexMapLockError; type Result (line 20) | pub type Result = std::result::Result; function with_capacity (line 24) | pub fn with_capacity(size: usize) -> MutexMap { function lock (line 36) | pub async fn lock(&self, key: U) -> MutexGuard<'_, T> function lock_hash (line 52) | pub async fn lock_hash(&self, key: U) -> MutexGuard<'_, T> FILE: crates/utils/src/map/vec_map.rs type VecMap (line 16) | pub struct VecMap { type KeyValue (line 21) | pub struct KeyValue { method default (line 27) | fn default() -> Self { function new (line 33) | pub fn new() -> Self { function with_capacity (line 37) | pub fn with_capacity(capacity: usize) -> Self { function set (line 44) | pub fn set(&mut self, key: K, value: V) -> bool { function append (line 55) | pub fn append(&mut self, key: K, value: V) { function with_append (line 60) | pub fn with_append(mut self, key: K, value: V) -> Self { function insert (line 66) | pub fn insert(&mut self, idx: usize, key: K, value: V) { function get (line 71) | pub fn get(&self, key: &Q) -> Option<&V> function get_mut (line 85) | pub fn get_mut(&mut self, key: &K) -> Option<&mut V> { function contains_key (line 96) | pub fn contains_key(&self, key: &K) -> bool { function remove (line 101) | pub fn remove(&mut self, key: &Q) -> Option function remove_all (line 112) | pub fn remove_all(&mut self, key: &K) { function remove_entry (line 117) | pub fn remove_entry(&mut self, key: &K) -> Option<(K, V)> { function swap_remove (line 125) | pub fn swap_remove(&mut self, index: usize) -> V { function is_empty (line 130) | pub fn is_empty(&self) -> bool { function len (line 135) | pub fn len(&self) -> usize { function clear (line 140) | pub fn clear(&mut self) { function iter (line 145) | pub fn iter(&self) -> impl Iterator { function iter_by_key (line 150) | pub fn iter_by_key<'x, 'y: 'x>(&'x self, key: &'y K) -> impl Iterator impl Iterator { function iter_mut_by_key (line 166) | pub fn iter_mut_by_key<'x, 'y: 'x>( function keys (line 180) | pub fn keys(&self) -> impl Iterator { function values (line 185) | pub fn values(&self) -> impl Iterator { function values_mut (line 190) | pub fn values_mut(&mut self) -> impl Iterator { function get_mut_or_insert_with (line 194) | pub fn get_mut_or_insert_with(&mut self, key: K, fnc: impl FnOnce() -> V... function with_key_value (line 203) | pub fn with_key_value(mut self, key: K, value: V) -> Self { function sort_unstable (line 208) | pub fn sort_unstable(&mut self) function get_mut_or_insert (line 221) | pub fn get_mut_or_insert(&mut self, key: K) -> &mut V { function len (line 235) | pub fn len(&self) -> usize { function is_empty (line 239) | pub fn is_empty(&self) -> bool { function iter (line 244) | pub fn iter( type Item (line 257) | type Item = (K, V); type IntoIter (line 259) | type IntoIter = method into_iter (line 262) | fn into_iter(self) -> Self::IntoIter { type Item (line 268) | type Item = (&'x K, &'x V); type IntoIter (line 270) | type IntoIter = std::iter::Map< method into_iter (line 275) | fn into_iter(self) -> Self::IntoIter { method hash (line 285) | fn hash(&self, state: &mut H) { function from_iter (line 291) | fn from_iter(iter: T) -> Self type VecMapVisitor (line 303) | struct VecMapVisitor { type Value (line 310) | type Value = VecMap; function expecting (line 312) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { function visit_map (line 316) | fn visit_map(self, mut map: A) -> Result function deserialize (line 332) | fn deserialize(deserializer: D) -> Result method serialize (line 343) | fn serialize(&self, serializer: S) -> Result FILE: crates/utils/src/snowflake.rs type SnowflakeIdGenerator (line 13) | pub struct SnowflakeIdGenerator { method new (line 39) | pub fn new() -> Self { method from_duration (line 43) | pub fn from_duration(period: Duration) -> Option { method from_timestamp (line 51) | pub fn from_timestamp(timestamp: u64) -> Option { method from_sequence_and_node_id (line 59) | pub fn from_sequence_and_node_id(sequence: u64, node_id: Option) ... method to_timestamp (line 73) | pub fn to_timestamp(id: u64) -> u64 { method with_node_id (line 77) | pub fn with_node_id(node_id: u64) -> Self { method past_id (line 86) | pub fn past_id(&self, period: Duration) -> Option { method is_valid (line 94) | pub fn is_valid(&self) -> bool { method generate (line 99) | pub fn generate(&self) -> u64 { constant SEQUENCE_LEN (line 19) | const SEQUENCE_LEN: u64 = 12; constant NODE_ID_LEN (line 20) | const NODE_ID_LEN: u64 = 9; constant SEQUENCE_MASK (line 22) | const SEQUENCE_MASK: u64 = (1 << SEQUENCE_LEN) - 1; constant NODE_ID_MASK (line 23) | const NODE_ID_MASK: u64 = (1 << NODE_ID_LEN) - 1; constant DEFAULT_EPOCH (line 25) | const DEFAULT_EPOCH: u64 = 1632280000; method default (line 114) | fn default() -> Self { method clone (line 120) | fn clone(&self) -> Self { FILE: crates/utils/src/suffixlist.rs type PublicSuffix (line 15) | pub struct PublicSuffix { method contains (line 29) | pub fn contains(&self, suffix: &str) -> bool { method domain_part (line 35) | pub fn domain_part(&self, domain: &str, part: DomainPart) -> Option Self { method parse (line 99) | pub async fn parse(config: &mut Config, key: &str) -> PublicSuffix { type DomainPart (line 22) | pub enum DomainPart { FILE: crates/utils/src/template.rs type Template (line 11) | pub struct Template { type TemplateItem (line 17) | pub enum TemplateItem { type Variable (line 25) | pub enum Variable> { type Variables (line 31) | pub struct Variables> { function parse (line 36) | pub fn parse(mut template: &str) -> Result { function eval (line 128) | pub fn eval(&self, variables: &Variables) -> String function html_escape (line 201) | fn html_escape(result: &mut String, input: &str) { function new (line 215) | pub fn new() -> Self { function insert_single (line 221) | pub fn insert_single(&mut self, key: T, value: V) { function insert_block (line 225) | pub fn insert_block(&mut self, key: T, value: V1) method default (line 238) | fn default() -> Self { function test_simple_variable_substitution (line 248) | fn test_simple_variable_substitution() { function test_multiple_variables (line 258) | fn test_multiple_variables() { function test_missing_variable (line 270) | fn test_missing_variable() { function test_static_text_only (line 279) | fn test_static_text_only() { function test_empty_template (line 288) | fn test_empty_template() { function test_if_block_with_existing_variable (line 297) | fn test_if_block_with_existing_variable() { function test_if_block_with_missing_variable (line 308) | fn test_if_block_with_missing_variable() { function test_if_block_with_content_and_variables (line 318) | fn test_if_block_with_content_and_variables() { function test_foreach_block_basic (line 332) | fn test_foreach_block_basic() { function test_foreach_block_multiple_variables (line 348) | fn test_foreach_block_multiple_variables() { function test_foreach_block_empty (line 372) | fn test_foreach_block_empty() { function test_foreach_block_missing_variable (line 382) | fn test_foreach_block_missing_variable() { function test_complex_template_example (line 391) | fn test_complex_template_example() { function test_complex_template_no_notifications (line 429) | fn test_complex_template_no_notifications() { function test_whitespace_handling (line 453) | fn test_whitespace_handling() { function test_whitespace_in_blocks (line 463) | fn test_whitespace_in_blocks() { function test_unmatched_opening_brace (line 474) | fn test_unmatched_opening_brace() { function test_invalid_block_start (line 481) | fn test_invalid_block_start() { function test_invalid_block_end (line 488) | fn test_invalid_block_end() { function test_mismatched_block_names (line 495) | fn test_mismatched_block_names() { function test_mismatched_block_types (line 506) | fn test_mismatched_block_types() { function test_consecutive_braces (line 517) | fn test_consecutive_braces() { function test_foreach_with_missing_inner_variables (line 526) | fn test_foreach_with_missing_inner_variables() { FILE: crates/utils/src/topological.rs type TopologicalSort (line 11) | pub struct TopologicalSort { function with_capacity (line 17) | pub fn with_capacity(capacity: usize) -> Self { function insert (line 24) | pub fn insert(&mut self, from: T, to: T) { function into_iterator (line 30) | pub fn into_iterator(mut self) -> TopologicalSortIterator { type TopologicalSortIterator (line 50) | pub struct TopologicalSortIterator { type Item (line 57) | type Item = T; method next (line 59) | fn next(&mut self) -> Option { function is_valid (line 79) | pub fn is_valid(&self) -> bool { function test_topological_sort (line 89) | fn test_topological_sort() { function test_topological_sort_cycle (line 110) | fn test_topological_sort_cycle() { FILE: crates/utils/src/url_params.rs type UrlParams (line 10) | pub struct UrlParams<'x> { function new (line 15) | pub fn new(query: Option<&'x str>) -> Self { function get (line 27) | pub fn get(&self, key: &str) -> Option<&str> { function has_key (line 31) | pub fn has_key(&self, key: &str) -> bool { function parse (line 35) | pub fn parse(&self, key: &str) -> Option function into_inner (line 42) | pub fn into_inner(self) -> HashMap, Cow<'x, str>> { FILE: resources/scripts/ossify.py function find_first_comment_block (line 20) | def find_first_comment_block(content: str) -> Optional[str]: function should_remove_file (line 64) | def should_remove_file(file_path: str) -> bool: function remove_proprietary_snippets (line 83) | def remove_proprietary_snippets(content: str) -> Tuple[str, int]: function process_rust_file (line 133) | def process_rust_file(file_path: str, dry_run: bool = False) -> dict: function find_rust_files (line 173) | def find_rust_files(directory: str) -> List[str]: function main (line 185) | def main(): FILE: tests/resources/scripts/imap-log-parser.py function unescape_imap_content (line 12) | def unescape_imap_content(content): function parse_imap_log_line (line 35) | def parse_imap_log_line(line): function group_by_connection (line 57) | def group_by_connection(log_entries): function format_imap_transaction (line 74) | def format_imap_transaction(entries): function write_output_file (line 93) | def write_output_file(connections, output_file): function main (line 113) | def main(): FILE: tests/resources/scripts/imap_import.py function append_message (line 9) | def append_message(thread_id, start, end): FILE: tests/resources/scripts/stress_test.py function read_credentials (line 17) | def read_credentials(file_path): function allow_invalid_certificates (line 22) | def allow_invalid_certificates(): function generate_random_string (line 29) | def generate_random_string(min_size, max_size): function generate_email (line 35) | def generate_email(username, recipient): function smtp_send_message (line 46) | def smtp_send_message(username, password, recipient): function imap_append_message (line 57) | def imap_append_message(username, password, recipient): function imap_list_fetch (line 68) | def imap_list_fetch(username, password): function imap_delete_message (line 84) | def imap_delete_message(username, password): function perform_random_action (line 101) | def perform_random_action(credentials): function thread_function (line 111) | def thread_function(credentials): function main (line 119) | def main(): FILE: tests/resources/scripts/stress_test_prepare.py function generate_password (line 17) | def generate_password(): function create_domain (line 21) | def create_domain(): function create_user_accounts (line 31) | def create_user_accounts(): function main (line 52) | def main(): FILE: tests/src/cluster/broadcast.rs function test (line 17) | pub async fn test(cluster: &ClusterTest) { FILE: tests/src/cluster/mod.rs constant NUM_NODES (line 43) | pub const NUM_NODES: usize = 3; function cluster_tests (line 46) | pub async fn cluster_tests() { type ClusterTest (line 53) | pub struct ClusterTest { method jmap_client (line 127) | pub async fn jmap_client(&self, login: &str, node_id: u32) -> Client { method imap_client (line 137) | pub async fn imap_client(&self, login: &str, node_id: u32) -> ImapConn... method server (line 144) | pub fn server(&self, node_id: usize) -> &Server { method account_id (line 150) | pub fn account_id(&self, login: &str) -> u32 { function init_cluster_tests (line 59) | async fn init_cluster_tests(delete_if_exists: bool) -> ClusterTest { function find_account_secret (line 158) | fn find_account_secret(login: &str) -> &str { function build_server (line 166) | async fn build_server(mut config: Config, stores: Stores) -> (Server, wa... constant SERVER (line 251) | const SERVER: &str = r#" constant SERVER_NATS (line 362) | const SERVER_NATS: &str = r#" constant SERVER_REDIS (line 368) | const SERVER_REDIS: &str = r#" FILE: tests/src/cluster/stress.rs constant TEST_USER_ID (line 29) | const TEST_USER_ID: u32 = 1; constant NUM_PASSES (line 30) | const NUM_PASSES: usize = 1; function test (line 32) | pub async fn test(server: Server, mut client: Client) { function email_tests (line 47) | async fn email_tests(server: Server, client: Arc) { function mailbox_tests (line 274) | async fn mailbox_tests(server: Server, client: Arc) { function create_mailbox (line 368) | async fn create_mailbox(client: &Client, mailbox: &str) -> Vec { function query_mailboxes (line 389) | async fn query_mailboxes(client: &Client) -> Vec { function delete_mailbox (line 417) | async fn delete_mailbox(client: &Client, mailbox_id: &str) { FILE: tests/src/directory/imap.rs function imap_directory (line 25) | async fn imap_directory() { function spawn_mock_imap_server (line 111) | pub fn spawn_mock_imap_server(max_concurrency: u64) -> watch::Sender, in_f... FILE: tests/src/directory/internal.rs function internal_directory (line 35) | async fn internal_directory() { type TestInternalDirectory (line 780) | pub trait TestInternalDirectory { method create_test_user (line 781) | async fn create_test_user(&self, login: &str, secret: &str, name: &str... method create_test_group (line 783) | async fn create_test_group(&self, login: &str, name: &str, emails: &[&... method create_test_list (line 784) | async fn create_test_list(&self, login: &str, name: &str, emails: &[&s... method set_test_quota (line 785) | async fn set_test_quota(&self, login: &str, quota: u32); method add_permissions (line 786) | async fn add_permissions(&self, login: &str, permissions: impl IntoIte... method remove_permissions (line 787) | async fn remove_permissions( method add_to_group (line 792) | async fn add_to_group(&self, login: &str, group: &str) -> ChangedPrinc... method remove_from_group (line 793) | async fn remove_from_group(&self, login: &str, group: &str) -> Changed... method remove_test_alias (line 794) | async fn remove_test_alias(&self, login: &str, alias: &str); method create_test_domains (line 795) | async fn create_test_domains(&self, domains: &[&str]); method create_test_user (line 799) | async fn create_test_user( method create_test_group (line 870) | async fn create_test_group(&self, login: &str, name: &str, emails: &[&... method create_test_list (line 900) | async fn create_test_list(&self, login: &str, name: &str, members: &[&... method set_test_quota (line 930) | async fn set_test_quota(&self, login: &str, quota: u32) { method add_permissions (line 938) | async fn add_permissions( method remove_permissions (line 960) | async fn remove_permissions( method add_to_group (line 982) | async fn add_to_group(&self, login: &str, group: &str) -> ChangedPrinc... method remove_from_group (line 993) | async fn remove_from_group(&self, login: &str, group: &str) -> Changed... method remove_test_alias (line 1004) | async fn remove_test_alias(&self, login: &str, alias: &str) { method create_test_domains (line 1015) | async fn create_test_domains(&self, domains: &[&str]) { function account_has_emails (line 1036) | async fn account_has_emails(store: &Store, account_id: u32) -> bool { function assert_list_members (line 1065) | async fn assert_list_members( FILE: tests/src/directory/ldap.rs function ldap_directory (line 20) | async fn ldap_directory() { function compare_sorted (line 271) | fn compare_sorted(v1: Vec, v2: Vec) { FILE: tests/src/directory/mod.rs constant CONFIG (line 29) | const CONFIG: &str = r#" type DirectoryStore (line 353) | pub struct DirectoryStore { type DirectoryTest (line 357) | pub struct DirectoryTest { method new (line 379) | pub async fn new(id_store: Option<&str>) -> DirectoryTest { type TestPrincipal (line 365) | pub struct TestPrincipal { method into_sorted (line 554) | pub fn into_sorted(mut self) -> Self { method from (line 562) | fn from(mut value: PrincipalSet) -> Self { method from (line 589) | fn from(value: Principal) -> Self { constant CERT (line 429) | const CERT: &str = "-----BEGIN CERTIFICATE----- constant PK (line 459) | const PK: &str = "-----BEGIN PRIVATE KEY----- function dummy_tls_acceptor (line 513) | pub fn dummy_tls_acceptor() -> Arc { type IntoTestPrincipal (line 537) | trait IntoTestPrincipal { method into_test (line 538) | fn into_test(self) -> TestPrincipal; method into_test (line 542) | fn into_test(self) -> TestPrincipal { method into_test (line 548) | fn into_test(self) -> TestPrincipal { method from (line 615) | fn from(value: TestPrincipal) -> Self { type Item (line 628) | pub enum Item { method append (line 643) | pub fn append(&self, append: usize) -> Self { method as_credentials (line 664) | pub fn as_credentials(&self) -> &Credentials { method fmt (line 709) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LookupResult (line 636) | pub enum LookupResult { method append (line 673) | fn append(&self, append: usize) -> Self { method from (line 693) | fn from(b: bool) -> Self { method from (line 703) | fn from(v: Vec) -> Self { function address_mappings (line 720) | async fn address_mappings() { function map_account_ids (line 778) | async fn map_account_ids(store: &Store, names: Vec>) -> ... function map_account_id (line 786) | async fn map_account_id(store: &Store, name: impl AsRef) -> u32 { FILE: tests/src/directory/oidc.rs function oidc_directory (line 27) | async fn oidc_directory() { FILE: tests/src/directory/smtp.rs function lmtp_directory (line 22) | async fn lmtp_directory() { function spawn_mock_lmtp_server (line 206) | pub fn spawn_mock_lmtp_server(max_concurrency: u64) -> watch::Sender bool { method is_postgresql (line 558) | fn is_postgresql(&self) -> bool { method is_sqlite (line 570) | fn is_sqlite(&self) -> bool { FILE: tests/src/http_server.rs constant MOCK_HTTP_SERVER (line 19) | const MOCK_HTTP_SERVER: &str = r#" type HttpSessionManager (line 41) | pub struct HttpSessionManager { method handle (line 99) | fn handle( method shutdown (line 135) | fn shutdown(&self) -> impl std::future::Future + Send { type HttpRequestHandler (line 45) | pub type HttpRequestHandler = Arc HttpResponse + ... type HttpMessage (line 48) | pub struct HttpMessage { method get_url_encoded (line 56) | pub fn get_url_encoded(&self, key: &str) -> Option { function spawn_mock_http_server (line 63) | pub async fn spawn_mock_http_server( FILE: tests/src/imap/acl.rs function test (line 12) | pub async fn test(mut imap_john: &mut ImapConnection, _imap_check: &mut ... FILE: tests/src/imap/antispam.rs function test (line 18) | pub async fn test(handle: &IMAPTest) { type TrainingSamples (line 129) | pub struct TrainingSamples { type TrainingSample (line 138) | pub struct TrainingSample { function spam_classifier_model (line 146) | pub async fn spam_classifier_model(server: &Server) -> SpamTrainer { function spam_delete_samples (line 161) | pub async fn spam_delete_samples(server: &Server) { function spam_training_samples (line 183) | pub async fn spam_training_samples(server: &Server) -> TrainingSamples { method append (line 249) | async fn append(&mut self, mailbox: &str, message: &str) { method send_ok (line 259) | async fn send_ok(&mut self, cmd: &str) { constant SPAM (line 265) | pub const SPAM: [&str; 10] = [ constant HAM (line 578) | pub const HAM: [&str; 10] = [ constant TEST (line 769) | const TEST: [&str; 3] = [ FILE: tests/src/imap/append.rs function test (line 15) | pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConne... function assert_append_message (line 70) | pub async fn assert_append_message( function build_message (line 83) | fn build_message(message: usize, in_reply_to: Option, thread_num:... function build_messages (line 97) | pub fn build_messages() -> Vec { FILE: tests/src/imap/basic.rs function test (line 14) | pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConne... FILE: tests/src/imap/body_structure.rs function test (line 22) | pub fn test() { FILE: tests/src/imap/condstore.rs function test (line 16) | pub async fn test(imap: &mut ImapConnection, imap_check: &mut ImapConnec... FILE: tests/src/imap/copy_move.rs function test (line 11) | pub async fn test(_imap: &mut ImapConnection, imap_check: &mut ImapConne... FILE: tests/src/imap/fetch.rs function test (line 11) | pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConne... FILE: tests/src/imap/idle.rs constant SLEEP (line 13) | const SLEEP: Duration = Duration::from_millis(200); function test (line 15) | pub async fn test( FILE: tests/src/imap/mailbox.rs function test (line 12) | pub async fn test(mut imap: &mut ImapConnection, mut imap_check: &mut Im... function mailbox_matches_pattern (line 376) | fn mailbox_matches_pattern() { FILE: tests/src/imap/managesieve.rs function test (line 20) | pub async fn test() { type SieveConnection (line 143) | pub struct SieveConnection { method connect (line 149) | pub async fn connect() -> Self { method assert_read (line 165) | pub async fn assert_read(&mut self, rt: ResponseType) -> Vec { method read (line 180) | pub async fn read(&mut self) -> Vec { method send (line 204) | pub async fn send(&mut self, text: &str) { method send_raw (line 210) | pub async fn send_raw(&mut self, text: &str) { method send_literal (line 215) | pub async fn send_literal(&mut self, text: &str, literal: &str) { FILE: tests/src/imap/mod.rs function imap_tests (line 63) | pub async fn imap_tests() { type IMAPTest (line 139) | pub struct IMAPTest { function init_imap_tests (line 145) | async fn init_imap_tests(delete_if_exists: bool) -> IMAPTest { type ImapConnection (line 306) | pub struct ImapConnection { method connect (line 321) | pub async fn connect(tag: &'static [u8]) -> Self { method connect_to (line 325) | pub async fn connect_to(tag: &'static [u8], addr: impl AsRef) -> ... method assert_read (line 334) | pub async fn assert_read(&mut self, t: Type, rt: ResponseType) -> Vec<... method assert_disconnect (line 356) | pub async fn assert_disconnect(&mut self) { method read (line 369) | pub async fn read(&mut self, t: Type) -> Vec { method authenticate (line 396) | pub async fn authenticate(&mut self, user: &str, pass: &str) { method send (line 406) | pub async fn send(&mut self, text: &str) { method send_untagged (line 413) | pub async fn send_untagged(&mut self, text: &str) { method send_raw (line 419) | pub async fn send_raw(&mut self, text: &str) { type Type (line 313) | pub enum Type { type AssertResult (line 425) | pub trait AssertResult: Sized { method assert_folders (line 426) | fn assert_folders<'x>( method assert_response_code (line 432) | fn assert_response_code(self, code: &str) -> Self; method assert_contains (line 433) | fn assert_contains(self, text: &str) -> Self; method assert_count (line 434) | fn assert_count(self, text: &str, occurrences: usize) -> Self; method assert_equals (line 435) | fn assert_equals(self, text: &str) -> Self; method into_response_code (line 436) | fn into_response_code(self) -> String; method into_highest_modseq (line 437) | fn into_highest_modseq(self) -> String; method into_uid_validity (line 438) | fn into_uid_validity(self) -> String; method into_append_uid (line 439) | fn into_append_uid(self) -> String; method into_copy_uid (line 440) | fn into_copy_uid(self) -> String; method into_modseq (line 441) | fn into_modseq(self) -> String; method assert_folders (line 445) | fn assert_folders<'x>( method assert_response_code (line 476) | fn assert_response_code(self, code: &str) -> Self { method assert_contains (line 487) | fn assert_contains(self, text: &str) -> Self { method assert_count (line 496) | fn assert_count(self, text: &str, occurrences: usize) -> Self { method assert_equals (line 509) | fn assert_equals(self, text: &str) -> Self { method into_response_code (line 518) | fn into_response_code(self) -> String { method into_append_uid (line 527) | fn into_append_uid(self) -> String { method into_copy_uid (line 537) | fn into_copy_uid(self) -> String { method into_highest_modseq (line 549) | fn into_highest_modseq(self) -> String { method into_modseq (line 564) | fn into_modseq(self) -> String { method into_uid_validity (line 577) | fn into_uid_validity(self) -> String { function expand_uid_list (line 593) | pub fn expand_uid_list(list: &str) -> AHashSet { function resources_dir (line 610) | fn resources_dir() -> PathBuf { constant SERVER (line 617) | const SERVER: &str = r#" FILE: tests/src/imap/pop.rs function test (line 17) | pub async fn test() { type ResponseType (line 192) | pub enum ResponseType { type Pop3Connection (line 198) | pub struct Pop3Connection { method connect (line 204) | pub async fn connect() -> Self { method connect_and_login (line 220) | pub async fn connect_and_login() -> Self { method assert_read (line 229) | pub async fn assert_read(&mut self, rt: ResponseType) -> Vec { method read (line 242) | pub async fn read(&mut self, is_multiline: bool) -> Vec { method send (line 267) | pub async fn send(&mut self, text: &str) { method send_raw (line 273) | pub async fn send_raw(&mut self, text: &str) { FILE: tests/src/imap/search.rs function test (line 11) | pub async fn test(imap: &mut ImapConnection, imap_check: &mut ImapConnec... FILE: tests/src/imap/store.rs function test (line 13) | pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConne... FILE: tests/src/imap/thread.rs function test (line 13) | pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConne... FILE: tests/src/jmap/auth/limits.rs function test (line 27) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/auth/oauth.rs type OAuthCodeResponse (line 37) | struct OAuthCodeResponse { function test (line 43) | pub async fn test(params: &mut JMAPTest) { function post_bytes (line 393) | async fn post_bytes( function post_json (line 419) | async fn post_json( function post (line 448) | async fn post(url: &str, params: &AHashMap( function get_bytes (line 459) | async fn get_bytes(url: &str) -> Bytes { function get (line 474) | async fn get(url: &str) -> T { function assert_unauthorized (line 478) | async fn assert_unauthorized(base_url: &str, token: &str) { function unwrap_token_response (line 494) | fn unwrap_token_response(response: TokenResponse) -> (String, Option (String, Optio... FILE: tests/src/jmap/auth/permissions.rs function test (line 20) | pub async fn test(params: &JMAPTest) { constant TENANT_QUOTA (line 782) | const TENANT_QUOTA: u64 = TEST_MESSAGE.len() as u64; constant TEST_MESSAGE (line 783) | const TEST_MESSAGE: &str = concat!( type ValidatePrincipalList (line 792) | trait ValidatePrincipalList { method assert_exists (line 793) | fn assert_exists<'x>( method assert_count (line 799) | fn assert_count(self, count: usize) -> Self; method assert_exists (line 803) | fn assert_exists<'x>( method assert_count (line 819) | fn assert_count(self, count: usize) -> Self { type ValidatePrincipal (line 826) | trait ValidatePrincipal { method validate (line 827) | fn validate<'x>( method validate (line 835) | fn validate<'x>( type ValidatePermissions (line 863) | trait ValidatePermissions { method validate_permissions (line 864) | fn validate_permissions( method validate_tenant (line 868) | fn validate_tenant(self, tenant_id: u32, tenant_quota: u64) -> Self; method validate_permissions (line 872) | fn validate_permissions( method validate_tenant (line 903) | fn validate_tenant(self, tenant_id: u32, tenant_quota: u64) -> Self { FILE: tests/src/jmap/auth/quota.rs function test (line 25) | pub async fn test(params: &mut JMAPTest) { function assert_over_quota (line 352) | fn assert_over_quota(result: Result Value { function test_jscalendar_2 (line 735) | pub fn test_jscalendar_2() -> Value { function test_jscalendar_3 (line 765) | pub fn test_jscalendar_3() -> Value { function test_jscalendar_4 (line 795) | pub fn test_jscalendar_4() -> Value { constant TEST_ICAL_1 (line 808) | const TEST_ICAL_1: &str = r#"BEGIN:VCALENDAR FILE: tests/src/jmap/calendar/identity.rs function test (line 15) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/calendar/notification.rs function test (line 18) | pub async fn test(params: &mut JMAPTest) { function test_event (line 394) | fn test_event() -> Value { FILE: tests/src/jmap/contacts/acl.rs function test (line 16) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/contacts/addressbook.rs function test (line 12) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/contacts/contact.rs function test (line 19) | pub async fn test(params: &mut JMAPTest) { function test_jscontact_1 (line 502) | fn test_jscontact_1() -> Value { function test_jscontact_2 (line 739) | fn test_jscontact_2() -> Value { function test_jscontact_3 (line 1003) | fn test_jscontact_3() -> Value { function test_jscontact_4 (line 1200) | fn test_jscontact_4() -> Value { constant TEST_VCARD_1 (line 1211) | const TEST_VCARD_1: &str = r#"BEGIN:VCARD FILE: tests/src/jmap/core/blob.rs function test (line 12) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/core/event_source.rs function test (line 20) | pub async fn test(params: &mut JMAPTest) { function assert_state (line 121) | async fn assert_state( function assert_ping (line 143) | async fn assert_ping(event_rx: &mut mpsc::Receiver) { FILE: tests/src/jmap/core/push_subscription.rs constant SERVER (line 29) | const SERVER: &str = r#" function test (line 50) | pub async fn test(params: &mut JMAPTest) { type SessionManager (line 211) | pub struct SessionManager { method from (line 216) | fn from(inner: Arc) -> Self { method handle (line 267) | fn handle( method shutdown (line 323) | fn shutdown(&self) -> impl std::future::Future + Send { type PushServer (line 220) | pub struct PushServer { type PushMessage (line 229) | enum PushMessage { method unwrap_state_change (line 235) | pub fn unwrap_state_change(self) -> VecMap> { method unwrap_verification (line 242) | pub fn unwrap_verification(self) -> PushVerification { type PushVerificationType (line 251) | enum PushVerificationType { type PushVerification (line 256) | struct PushVerification { function expect_push (line 328) | async fn expect_push(event_rx: &mut mpsc::Receiver) -> Push... function expect_nothing (line 340) | async fn expect_nothing(event_rx: &mut mpsc::Receiver) { function assert_state (line 349) | async fn assert_state(event_rx: &mut mpsc::Receiver, id: &I... function ece_roundtrip (line 363) | fn ece_roundtrip() { FILE: tests/src/jmap/core/websocket.rs function test (line 21) | pub async fn test(params: &mut JMAPTest) { function expect_response (line 103) | async fn expect_response( function assert_state (line 117) | async fn assert_state( function expect_nothing (line 142) | async fn expect_nothing(stream_rx: &mut mpsc::Receiver) { FILE: tests/src/jmap/files/acl.rs function test (line 14) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/files/node.rs function test (line 12) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mail/acl.rs function test (line 22) | pub async fn test(params: &mut JMAPTest) { function assert_forbidden (line 724) | pub fn assert_forbidden(result: Result) { FILE: tests/src/jmap/mail/antispam.rs function test (line 15) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mail/changes.rs function test (line 16) | pub async fn test(params: &mut JMAPTest) { type LogAction (line 320) | pub enum LogAction { type ParseState (line 328) | pub trait ParseState: Sized { method parse_str (line 329) | fn parse_str(state: &str) -> Option; method parse_str (line 333) | fn parse_str(state: &str) -> Option { FILE: tests/src/jmap/mail/copy.rs function test (line 11) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mail/crypto.rs function test (line 18) | pub async fn test(params: &mut JMAPTest) { function import_certs_and_encrypt (line 164) | pub async fn import_certs_and_encrypt() { function check_is_encrypted (line 229) | pub fn check_is_encrypted() { FILE: tests/src/jmap/mail/delivery.rs function test (line 40) | pub async fn test(params: &mut JMAPTest) { function assert_message_headers_contains (line 453) | async fn assert_message_headers_contains( function message_headers (line 468) | async fn message_headers(server: &Server, account_id: u32, document_id: ... function message_metadata (line 479) | async fn message_metadata(server: &Server, account_id: u32, document_id:... type SmtpConnection (line 495) | pub struct SmtpConnection { method ingest_with_code (line 501) | pub async fn ingest_with_code( method ingest (line 518) | pub async fn ingest(&mut self, from: &str, recipients: &[&str], messag... method ingest_chunked (line 522) | async fn ingest_chunked( method connect (line 540) | pub async fn connect() -> Self { method connect_port (line 544) | pub async fn connect_port(port: u16) -> Self { method lhlo (line 559) | pub async fn lhlo(&mut self) -> Vec { method mail_from (line 564) | pub async fn mail_from(&mut self, sender: &str, code: u8) -> Vec Vec { method vrfy (line 574) | pub async fn vrfy(&mut self, rcpt: &str, code: u8) -> Vec { method expn (line 579) | pub async fn expn(&mut self, rcpt: &str, code: u8) -> Vec { method data (line 584) | pub async fn data(&mut self, code: u8) -> Vec { method data_bytes (line 589) | pub async fn data_bytes( method bdat (line 600) | pub async fn bdat(&mut self, chunk: &str, code: u8) -> Vec { method bdat_last (line 606) | pub async fn bdat_last(&mut self, chunk: &str, num_responses: usize, c... method rset (line 612) | pub async fn rset(&mut self) -> Vec { method noop (line 617) | pub async fn noop(&mut self) -> Vec { method quit (line 622) | pub async fn quit(&mut self) -> Vec { method read (line 627) | pub async fn read(&mut self, mut num_responses: usize, code: u8) -> Ve... method send (line 662) | pub async fn send(&mut self, text: &str) { method send_raw (line 669) | pub async fn send_raw(&mut self, text: &str) { type AssertResult (line 675) | pub trait AssertResult: Sized { method assert_contains (line 676) | fn assert_contains(self, text: &str) -> Self; method assert_count (line 677) | fn assert_count(self, text: &str, occurrences: usize) -> Self; method assert_equals (line 678) | fn assert_equals(self, text: &str) -> Self; method assert_contains (line 682) | fn assert_contains(self, text: &str) -> Self { method assert_count (line 691) | fn assert_count(self, text: &str, occurrences: usize) -> Self { method assert_equals (line 703) | fn assert_equals(self, text: &str) -> Self { FILE: tests/src/jmap/mail/get.rs function test (line 14) | pub async fn test(params: &mut JMAPTest) { function all_headers (line 172) | pub fn all_headers() -> Vec { FILE: tests/src/jmap/mail/mailbox.rs function test (line 23) | pub async fn test(params: &mut JMAPTest) { function create_test_mailboxes (line 614) | async fn create_test_mailboxes(client: &Client) -> AHashMap Option { type EmailQuery (line 894) | pub struct EmailQuery { FILE: tests/src/jmap/mail/query_changes.rs function test (line 30) | pub async fn test(params: &mut JMAPTest) { type QueryChanges (line 330) | pub struct QueryChanges { FILE: tests/src/jmap/mail/search_snippet.rs function test (line 14) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mail/set.rs function test (line 20) | pub async fn test(params: &mut JMAPTest) { function create (line 33) | async fn create(client: &Client, mailbox_id: &str) { function update (line 161) | async fn update(client: &Client, root_mailbox_id: &str) { function assert_email_properties (line 292) | pub async fn assert_email_properties( FILE: tests/src/jmap/mail/sieve_script.rs function test (line 29) | pub async fn test(params: &mut JMAPTest) { function get_script (line 503) | fn get_script(name: &str) -> Vec { FILE: tests/src/jmap/mail/submission.rs type MockMessage (line 32) | pub struct MockMessage { method new (line 39) | pub fn new(mail_from: T, rcpt_to: U, message: T) -> Self type MockSMTPSettings (line 53) | pub struct MockSMTPSettings { function test (line 61) | pub async fn test(params: &mut JMAPTest) { function spawn_mock_smtp_server (line 483) | pub fn spawn_mock_smtp_server() -> (mpsc::Receiver, Arc) { FILE: tests/src/jmap/mail/thread_get.rs function test (line 10) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mail/thread_merge.rs function test (line 26) | pub async fn test(params: &mut JMAPTest) { function test_single_thread (line 31) | async fn test_single_thread(params: &mut JMAPTest) { function test_multi_thread (line 213) | async fn test_multi_thread(params: &mut JMAPTest) { function build_message (line 284) | fn build_message(message: usize, in_reply_to: Option, thread_num:... function build_messages (line 298) | fn build_messages( function build_thread_test_messages (line 330) | pub fn build_thread_test_messages() -> Vec { type ThreadTest (line 337) | pub enum ThreadTest { function test_1 (line 343) | fn test_1() -> ThreadTest { function test_2 (line 389) | fn test_2() -> ThreadTest { function test_3 (line 683) | fn test_3() -> ThreadTest { FILE: tests/src/jmap/mail/vacation_response.rs function test (line 22) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/mod.rs function jmap_tests (line 75) | async fn jmap_tests() { function jmap_metric_tests (line 140) | pub async fn jmap_metric_tests() { type JMAPTest (line 147) | pub struct JMAPTest { method account (line 165) | pub fn account(&self, name: &str) -> &Account { method assert_is_empty (line 169) | pub async fn assert_is_empty(&self) { type Account (line 155) | pub struct Account { method id (line 175) | pub fn id(&self) -> &Id { method id_string (line 179) | pub fn id_string(&self) -> &str { method client (line 183) | pub fn client(&self) -> &Client { method name (line 187) | pub fn name(&self) -> &'static str { method secret (line 190) | pub fn secret(&self) -> &'static str { method emails (line 194) | pub fn emails(&self) -> &'static [&'static str] { method client_owned (line 198) | pub async fn client_owned(&self) -> Client { method jmap_get (line 488) | pub async fn jmap_get( method jmap_get_account (line 497) | pub async fn jmap_get_account( method jmap_query (line 523) | pub async fn jmap_query( method jmap_create (line 558) | pub async fn jmap_create( method jmap_create_account (line 568) | pub async fn jmap_create_account( method jmap_update (line 599) | pub async fn jmap_update( method jmap_update_account (line 609) | pub async fn jmap_update_account( method jmap_destroy (line 639) | pub async fn jmap_destroy( method jmap_destroy_account (line 649) | pub async fn jmap_destroy_account( method jmap_copy (line 679) | pub async fn jmap_copy( method jmap_changes (line 702) | pub async fn jmap_changes(&self, object: impl Display, state: impl Dis... method jmap_method_call (line 713) | pub async fn jmap_method_call(&self, method_name: &str, body: Value) -... method jmap_method_calls (line 718) | pub async fn jmap_method_calls(&self, calls: Value) -> JmapResponse { method jmap_session_object (line 756) | pub async fn jmap_session_object(&self) -> JmapResponse { method destroy_all_addressbooks (line 788) | pub async fn destroy_all_addressbooks(&self) { method destroy_all_calendars (line 815) | pub async fn destroy_all_calendars(&self) { method destroy_all_event_notifications (line 842) | pub async fn destroy_all_event_notifications(&self) { function wait_for_index (line 210) | pub async fn wait_for_index(server: &Server) { function assert_is_empty (line 260) | pub async fn assert_is_empty(server: &Server) { function init_jmap_tests (line 280) | async fn init_jmap_tests(delete_if_exists: bool) -> JMAPTest { type JmapResponse (line 485) | pub struct JmapResponse(pub Value); method created (line 870) | pub fn created(&self, item_idx: u32) -> &Value { method not_created (line 876) | pub fn not_created(&self, item_idx: u32) -> &Value { method updated (line 882) | pub fn updated(&self, id: &str) -> &Value { method not_updated (line 888) | pub fn not_updated(&self, id: &str) -> &Value { method copied (line 894) | pub fn copied(&self, id: &str) -> &Value { method method_response (line 900) | pub fn method_response(&self) -> &Value { method list_array (line 906) | pub fn list_array(&self) -> &Value { method list (line 912) | pub fn list(&self) -> &[Value] { method not_found (line 919) | pub fn not_found(&self) -> impl Iterator { method ids (line 928) | pub fn ids(&self) -> impl Iterator { method destroyed (line 937) | pub fn destroyed(&self) -> impl Iterator { method not_destroyed (line 946) | pub fn not_destroyed(&self, id: &str) -> &Value { method state (line 952) | pub fn state(&self) -> &str { method new_state (line 959) | pub fn new_state(&self) -> &str { method changes (line 966) | pub fn changes(&self) -> impl Iterator> { method changes_by_type (line 973) | fn changes_by_type(&self, typ: &str) -> impl Iterator { method pointer (line 982) | pub fn pointer(&self, pointer: &str) -> Option<&Value> { method into_inner (line 986) | pub fn into_inner(self) -> Value { type JmapUtils (line 991) | pub trait JmapUtils { method id (line 992) | fn id(&self) -> &str { method blob_id (line 996) | fn blob_id(&self) -> &str { method typ (line 1000) | fn typ(&self) -> &str { method description (line 1004) | fn description(&self) -> &str { method with_property (line 1008) | fn with_property(self, field: impl Display, value: impl Into) -... method text_field (line 1010) | fn text_field(&self, field: &str) -> &str; method assert_is_equal (line 1012) | fn assert_is_equal(&self, other: Value); method text_field (line 1016) | fn text_field(&self, field: &str) -> &str { method assert_is_equal (line 1021) | fn assert_is_equal(&self, expected: Value) { method with_property (line 1030) | fn with_property(mut self, field: impl Display, value: impl Into { function as_created (line 1048) | pub fn as_created(&self) -> &str { function as_updated (line 1055) | pub fn as_updated(&self) -> &str { function as_destroyed (line 1062) | pub fn as_destroyed(&self) -> &str { method fmt (line 1071) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 1077) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type IntoJmapSet (line 1084) | pub trait IntoJmapSet { method into_jmap_set (line 1085) | fn into_jmap_set(self) -> Value; method into_jmap_set (line 1089) | fn into_jmap_set(self) -> Value { function find_values (line 1098) | pub fn find_values(string: &str, name: &str) -> Vec { function replace_values (line 1117) | pub fn replace_values(mut string: String, find: &[String], replace: &[St... function replace_boundaries (line 1124) | pub fn replace_boundaries(string: String) -> String { function replace_blob_ids (line 1139) | pub fn replace_blob_ids(string: String) -> String { type Response (line 1156) | pub enum Response { type ManagementApi (line 1169) | pub struct ManagementApi { method new (line 1186) | pub fn new(port: u16, username: &str, password: &str) -> Self { method post (line 1194) | pub async fn post( method patch (line 1211) | pub async fn patch( method delete (line 1228) | pub async fn delete(&self, query: &str) -> Result... method get (line 1237) | pub async fn get(&self, query: &str) -> Result( method request_raw (line 1256) | async fn request_raw( method default (line 1176) | fn default() -> Self { function unwrap_data (line 1292) | pub fn unwrap_data(self) -> T { function try_unwrap_data (line 1309) | pub fn try_unwrap_data(self) -> Option { function unwrap_error (line 1327) | pub fn unwrap_error(self) -> (String, Option, Option) { function unwrap_request_error (line 1342) | pub fn unwrap_request_error(self) -> RequestError<'static> { function expect_request_error (line 1357) | pub fn expect_request_error(self, value: &str) { function expect_error (line 1364) | pub fn expect_error(self, value: &str) { constant SERVER (line 1375) | const SERVER: &str = r#" FILE: tests/src/jmap/principal/availability.rs function test (line 13) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/principal/get.rs function test (line 11) | pub async fn test(params: &mut JMAPTest) { FILE: tests/src/jmap/server/enterprise.rs constant METRICS_CONFIG (line 58) | const METRICS_CONFIG: &str = r#" constant RAW_MESSAGE (line 85) | const RAW_MESSAGE: &str = "From: john@example.com function test (line 92) | pub async fn test(params: &mut JMAPTest) { type EnterpriseCore (line 181) | pub trait EnterpriseCore { method enable_enterprise (line 182) | fn enable_enterprise(self) -> Self; method enable_enterprise (line 186) | fn enable_enterprise(mut self) -> Self { function alerts (line 210) | async fn alerts(server: &Server) { function tracing (line 256) | async fn tracing(params: &mut JMAPTest) { function metrics (line 379) | async fn metrics(params: &mut JMAPTest) { function undelete (line 399) | async fn undelete(params: &mut JMAPTest) { function insert_test_metrics (line 504) | pub async fn insert_test_metrics(core: Arc) { FILE: tests/src/jmap/server/mod.rs type List (line 13) | pub(crate) struct List { FILE: tests/src/jmap/server/purge.rs function test (line 24) | pub async fn test(params: &mut JMAPTest) { function get_changes (line 164) | async fn get_changes(server: &Server) -> (AHashSet<(u64, u8)>, bool) { FILE: tests/src/jmap/server/webhooks.rs type MockWebhookEndpoint (line 27) | pub struct MockWebhookEndpoint { method assert_contains (line 49) | pub fn assert_contains(&self, expected: &[&str]) { method accept (line 64) | pub fn accept(&self) { method reject (line 68) | pub fn reject(&self) { method clear (line 72) | pub fn clear(&self) { method assert_is_empty (line 76) | pub fn assert_is_empty(&self) { function test (line 33) | pub async fn test(params: &mut JMAPTest) { function spawn_mock_webhook_endpoint (line 81) | pub fn spawn_mock_webhook_endpoint() -> Arc { FILE: tests/src/lib.rs function add_test_certs (line 35) | pub fn add_test_certs(config: &str) -> String { type AssertConfig (line 49) | pub trait AssertConfig { method assert_no_errors (line 50) | fn assert_no_errors(self) -> Self; method assert_no_warnings (line 51) | fn assert_no_warnings(self) -> Self; method assert_no_errors (line 56) | fn assert_no_errors(self) -> Self { method assert_no_warnings (line 63) | fn assert_no_warnings(self) -> Self { function enable_logging (line 72) | pub fn enable_logging() { constant TEST_USERS (line 82) | pub const TEST_USERS: &[(&str, &str, &str, &str)] = &[ FILE: tests/src/smtp/config.rs type TestEnvelope (line 26) | struct TestEnvelope { method from_config (line 521) | pub fn from_config(config: &mut Config) -> Self { function parse_if_blocks (line 41) | fn parse_if_blocks() { function parse_throttles (line 239) | fn parse_throttles() { function parse_servers (line 296) | fn parse_servers() { function eval_if (line 401) | async fn eval_if() { function eval_dynvalue (line 454) | async fn eval_dynvalue() { method resolve_variable (line 498) | fn resolve_variable(&self, variable: u32) -> Variable<'_> { method resolve_global (line 515) | fn resolve_global(&self, _: &str) -> Variable<'_> { FILE: tests/src/smtp/inbound/antispam.rs constant CONFIG (line 63) | const CONFIG: &str = r#" function antispam (line 176) | async fn antispam() { function classifier_features (line 723) | async fn classifier_features(server: &Server, contents: String) { function html_tokens (line 768) | fn html_tokens(contents: String) { type ParseConfigValue (line 792) | trait ParseConfigValue: Sized { method from_str (line 793) | fn from_str(value: &str) -> Self; method from_str (line 797) | fn from_str(value: &str) -> Self { method from_str (line 812) | fn from_str(value: &str) -> Self { method from_str (line 825) | fn from_str(value: &str) -> Self { method from_str (line 839) | fn from_str(value: &str) -> Self { method from_str (line 852) | fn from_str(value: &str) -> Self { FILE: tests/src/smtp/inbound/asn.rs function lookup_asn_country_dns (line 15) | async fn lookup_asn_country_dns() { function lookup_asn_country_http (line 49) | async fn lookup_asn_country_http() { FILE: tests/src/smtp/inbound/auth.rs constant CONFIG (line 21) | const CONFIG: &str = r#" function auth (line 72) | async fn auth() { FILE: tests/src/smtp/inbound/basic.rs function basic_commands (line 16) | async fn basic_commands() { FILE: tests/src/smtp/inbound/data.rs constant CONFIG (line 22) | const CONFIG: &str = r#" function data (line 106) | async fn data() { FILE: tests/src/smtp/inbound/dmarc.rs constant CONFIG (line 28) | const CONFIG: &str = r#" function dmarc (line 93) | async fn dmarc() { FILE: tests/src/smtp/inbound/ehlo.rs constant CONFIG (line 20) | const CONFIG: &str = r#" function ehlo (line 40) | async fn ehlo() { FILE: tests/src/smtp/inbound/limits.rs constant CONFIG (line 20) | const CONFIG: &str = r#" function limits (line 31) | async fn limits() { FILE: tests/src/smtp/inbound/mail.rs constant CONFIG (line 22) | const CONFIG: &str = r#" function mail (line 71) | async fn mail() { FILE: tests/src/smtp/inbound/milter.rs type HeaderTest (line 48) | struct HeaderTest { constant CONFIG_MILTER (line 53) | const CONFIG_MILTER: &str = r#" constant CONFIG_JMILTER (line 79) | const CONFIG_JMILTER: &str = r#" function milter_session (line 100) | async fn milter_session() { function mta_hook_session (line 227) | async fn mta_hook_session() { function milter_address_modifications (line 360) | fn milter_address_modifications() { function milter_message_modifications (line 470) | fn milter_message_modifications() { function milter_frame_receiver (line 505) | fn milter_frame_receiver() { function milter_client_test (line 550) | async fn milter_client_test() { function spawn_mock_milter_server (line 615) | pub fn spawn_mock_milter_server() -> watch::Sender { function accept_milter (line 662) | async fn accept_milter( function spawn_mock_mta_hook_server (line 774) | pub fn spawn_mock_mta_hook_server() -> watch::Sender { function handle_mta_hook (line 842) | fn handle_mta_hook(request: Request, tests: Arc>) -> hoo... FILE: tests/src/smtp/inbound/mod.rs method read_event (line 43) | pub async fn read_event(&mut self) -> QueueEvent { method try_read_event (line 51) | pub async fn try_read_event(&mut self) -> Option { method assert_no_events (line 59) | pub fn assert_no_events(&mut self) { method assert_queue_is_empty (line 67) | pub async fn assert_queue_is_empty(&self) { method assert_report_is_empty (line 72) | pub async fn assert_report_is_empty(&self) { method expect_message (line 121) | pub async fn expect_message(&mut self) -> MessageWrapper { method consume_message (line 126) | pub async fn consume_message(&mut self, server: &Server) -> MessageWrapp... method expect_message_then_deliver (line 136) | pub async fn expect_message_then_deliver(&mut self) -> QueuedMessage { method delivery_attempt (line 142) | pub async fn delivery_attempt(&mut self, queue_id: u64) -> QueuedMessage { method read_queued_events (line 150) | pub async fn read_queued_events(&self) -> Vec { method read_queued_messages (line 188) | pub async fn read_queued_messages(&self) -> Vec { method read_report_events (line 214) | pub async fn read_report_events(&self) -> Vec { method last_queued_message (line 254) | pub async fn last_queued_message(&self) -> MessageWrapper { method last_queued_due (line 262) | pub async fn last_queued_due(&self) -> u64 { method message_due (line 267) | pub async fn message_due(&self, queue_id: QueueId) -> u64 { method clear_queue (line 281) | pub async fn clear_queue(&self, server: &Server) { method read_report (line 290) | pub async fn read_report(&mut self) -> ReportingEvent { method try_read_report (line 298) | pub async fn try_read_report(&mut self) -> Option { method assert_no_reports (line 305) | pub fn assert_no_reports(&mut self) { type TestQueueEvent (line 314) | pub trait TestQueueEvent { method assert_refresh (line 315) | fn assert_refresh(self); method assert_done (line 316) | fn assert_done(self); method assert_refresh_or_done (line 317) | fn assert_refresh_or_done(self); method assert_refresh (line 321) | fn assert_refresh(self) { method assert_done (line 332) | fn assert_done(self) { method assert_refresh_or_done (line 342) | fn assert_refresh_or_done(self) { type TestReportingEvent (line 353) | pub trait TestReportingEvent { method unwrap_dmarc (line 354) | fn unwrap_dmarc(self) -> Box; method unwrap_tls (line 355) | fn unwrap_tls(self) -> Box; method unwrap_dmarc (line 359) | fn unwrap_dmarc(self) -> Box { method unwrap_tls (line 366) | fn unwrap_tls(self) -> Box { type TestMessage (line 375) | pub trait TestMessage { method read_message (line 376) | async fn read_message(&self, core: &QueueReceiver) -> String; method read_lines (line 377) | async fn read_lines(&self, core: &QueueReceiver) -> Vec; method read_message (line 381) | async fn read_message(&self, core: &QueueReceiver) -> String { method read_lines (line 392) | async fn read_lines(&self, core: &QueueReceiver) -> Vec { FILE: tests/src/smtp/inbound/rcpt.rs constant CONFIG (line 22) | const CONFIG: &str = r#" function rcpt (line 86) | async fn rcpt() { FILE: tests/src/smtp/inbound/rewrite.rs constant CONFIG (line 14) | const CONFIG: &str = r#" function address_rewrite (line 68) | async fn address_rewrite() { FILE: tests/src/smtp/inbound/scripts.rs constant CONFIG (line 27) | const CONFIG: &str = r#" function sieve_scripts (line 101) | async fn sieve_scripts() { FILE: tests/src/smtp/inbound/sign.rs constant SIGNATURES (line 25) | pub const SIGNATURES: &str = " constant CONFIG (line 76) | const CONFIG: &str = r#" function sign_and_seal (line 125) | async fn sign_and_seal() { FILE: tests/src/smtp/inbound/throttle.rs constant CONFIG (line 15) | const CONFIG: &str = r#" function throttle_inbound (line 45) | async fn throttle_inbound() { FILE: tests/src/smtp/inbound/vrfy.rs constant CONFIG (line 22) | const CONFIG: &str = r#" function vrfy_expn (line 70) | async fn vrfy_expn() { FILE: tests/src/smtp/lookup/sql.rs constant CONFIG (line 31) | const CONFIG: &str = r#" function lookup_sql (line 99) | async fn lookup_sql() { FILE: tests/src/smtp/lookup/utils.rs constant CONFIG (line 35) | const CONFIG: &str = r#" function strategies (line 82) | async fn strategies() { function to_remote_hosts (line 184) | fn to_remote_hosts() { function parse_policy (line 228) | fn parse_policy() { function aggregate_to_timestamp (line 274) | fn aggregate_to_timestamp() { FILE: tests/src/smtp/management/queue.rs constant LOCAL (line 23) | const LOCAL: &str = r#" constant REMOTE (line 52) | const REMOTE: &str = r#" type List (line 62) | pub(super) struct List { function manage_queue (line 69) | async fn manage_queue() { function assert_timestamp (line 497) | fn assert_timestamp(timestamp: &DateTime, expected: i64, ctx: &str, mess... method get_messages (line 508) | async fn get_messages(&self, ids: &[QueueId]) -> Vec> { FILE: tests/src/smtp/management/report.rs constant CONFIG (line 33) | const CONFIG: &str = r#" function manage_reports (line 59) | async fn manage_reports() { method get_reports (line 246) | async fn get_reports(&self, ids: &[String]) -> Vec> { FILE: tests/src/smtp/mod.rs type TempDir (line 43) | pub struct TempDir { method new (line 49) | pub fn new(name: &str, delete: bool) -> TempDir { method update_config (line 61) | pub fn update_config(&self, config: impl AsRef) -> String { method drop (line 69) | fn drop(&mut self) { function add_test_certs (line 76) | pub fn add_test_certs(config: &str) -> String { type QueueReceiver (line 91) | pub struct QueueReceiver { type ReportReceiver (line 97) | pub struct ReportReceiver { type TestSMTP (line 101) | pub struct TestSMTP { method from_core (line 171) | pub fn from_core(core: Core) -> Self { method inner_with_rxs (line 175) | pub fn inner_with_rxs(&self) -> (Arc, IpcReceivers) { method from_core_and_tempdir (line 190) | fn from_core_and_tempdir(core: Core, data: Data, temp_dir: Option) -> TestSMTP { method with_database (line 223) | pub async fn with_database( method start (line 244) | pub async fn start(&self, protocols: &[ServerProtocol]) -> watch::Send... method new_session (line 282) | pub fn new_session(&self) -> Session { method build_smtp (line 286) | pub fn build_smtp(&self) -> Server { constant CONFIG (line 108) | const CONFIG: &str = r#" type DnsCache (line 291) | pub trait DnsCache { method txt_add (line 292) | fn txt_add<'x>( method ipv4_add (line 298) | fn ipv4_add<'x>( method ipv6_add (line 304) | fn ipv6_add<'x>( method dnsbl_add (line 310) | fn dnsbl_add(&self, name: &str, value: Vec, valid_until: std... method ptr_add (line 311) | fn ptr_add(&self, name: IpAddr, value: Vec, valid_until: std::... method mx_add (line 312) | fn mx_add<'x>(&self, name: impl IntoFqdn<'x>, value: Vec, valid_un... method tlsa_add (line 313) | fn tlsa_add<'x>( method txt_add (line 322) | fn txt_add<'x>( method ipv4_add (line 335) | fn ipv4_add<'x>( method dnsbl_add (line 348) | fn dnsbl_add(&self, name: &str, value: Vec, valid_until: std... method ipv6_add (line 363) | fn ipv6_add<'x>( method ptr_add (line 376) | fn ptr_add(&self, name: IpAddr, value: Vec, valid_until: std::... method mx_add (line 383) | fn mx_add<'x>(&self, name: impl IntoFqdn<'x>, value: Vec, valid_un... method tlsa_add (line 391) | fn tlsa_add<'x>( FILE: tests/src/smtp/outbound/dane.rs constant LOCAL (line 44) | const LOCAL: &str = r#" constant REMOTE (line 57) | const REMOTE: &str = " function dane_verify (line 76) | async fn dane_verify() { function dane_test (line 238) | async fn dane_test() { function decode_hex (line 354) | pub fn decode_hex(s: &str) -> Result, ParseIntError> { FILE: tests/src/smtp/outbound/extensions.rs constant LOCAL (line 19) | const LOCAL: &str = r#" constant REMOTE (line 27) | const REMOTE: &str = r#" function extensions (line 52) | async fn extensions() { FILE: tests/src/smtp/outbound/fallback_relay.rs constant LOCAL (line 15) | const LOCAL: &str = r#" constant REMOTE (line 40) | const REMOTE: &str = r#" function fallback_relay (line 54) | async fn fallback_relay() { FILE: tests/src/smtp/outbound/ip_lookup.rs constant LOCAL (line 14) | const LOCAL: &str = r#" constant REMOTE (line 22) | const REMOTE: &str = r#" function ip_lookup_strategy (line 32) | async fn ip_lookup_strategy() { FILE: tests/src/smtp/outbound/lmtp.rs constant REMOTE (line 22) | const REMOTE: &str = " constant LOCAL (line 33) | const LOCAL: &str = r#" function lmtp_delivery (line 77) | async fn lmtp_delivery() { FILE: tests/src/smtp/outbound/mta_sts.rs constant LOCAL (line 30) | const LOCAL: &str = r#" constant REMOTE (line 43) | const REMOTE: &str = r#" function mta_sts_verify (line 62) | async fn mta_sts_verify() { FILE: tests/src/smtp/outbound/smtp.rs constant LOCAL (line 24) | const LOCAL: &str = r#" constant REMOTE (line 61) | const REMOTE: &str = r#" constant SMUGGLER (line 77) | const SMUGGLER: &str = r#"From: Joe SixPack function smtp_delivery (line 100) | async fn smtp_delivery() { FILE: tests/src/smtp/outbound/throttle.rs constant CONFIG (line 21) | const CONFIG: &str = r#" function throttle_outbound (line 65) | async fn throttle_outbound() { type TestQueueEnvelope (line 278) | pub trait TestQueueEnvelope<'x> { method test (line 279) | fn test(message: &'x Message, rcpt: &'x Recipient, mx: &'x str) -> Self; function test (line 283) | fn test(message: &'x Message, rcpt: &'x Recipient, mx: &'x str) -> Self { FILE: tests/src/smtp/outbound/tls.rs constant LOCAL (line 19) | const LOCAL: &str = r#" constant REMOTE (line 36) | const REMOTE: &str = r#" function starttls_optional (line 50) | async fn starttls_optional() { FILE: tests/src/smtp/queue/concurrent.rs constant LOCAL (line 18) | const LOCAL: &str = r#" constant REMOTE (line 38) | const REMOTE: &str = r#" constant NUM_MESSAGES (line 50) | const NUM_MESSAGES: usize = 100; constant NUM_QUEUES (line 51) | const NUM_QUEUES: usize = 10; function concurrent_queue (line 55) | async fn concurrent_queue() { FILE: tests/src/smtp/queue/dsn.rs constant CONFIG (line 23) | const CONFIG: &str = r#" function generate_dsn (line 41) | async fn generate_dsn() { method compare_dsn (line 175) | async fn compare_dsn(&self, message: Message, test: &str) { function remove_ids (line 205) | fn remove_ids(message: Vec) -> String { FILE: tests/src/smtp/queue/manager.rs constant CONFIG (line 21) | const CONFIG: &str = r#" function queue_due (line 30) | async fn queue_due() { function delivery_events (line 76) | fn delivery_events() { function new_message (line 164) | pub fn new_message(queue_id: u64) -> MessageWrapper { function next_event_after (line 186) | fn next_event_after(message: &Message, queue: Option, instant... type TestMessage (line 215) | pub trait TestMessage { method rcpt (line 216) | fn rcpt(&self, name: &str) -> &Recipient; method rcpt_mut (line 217) | fn rcpt_mut(&mut self, name: &str) -> &mut Recipient; method rcpt (line 221) | fn rcpt(&self, name: &str) -> &Recipient { method rcpt_mut (line 228) | fn rcpt_mut(&mut self, name: &str) -> &mut Recipient { FILE: tests/src/smtp/queue/mod.rs function build_rcpt (line 24) | pub fn build_rcpt(address: &str, retry: u64, notify: u64, expires: u64) ... type QueuedEvents (line 37) | pub trait QueuedEvents: Sync + Send { method all_queued_messages (line 38) | fn all_queued_messages(&self) -> impl Future ... method all_queued_messages (line 42) | async fn all_queued_messages(&self) -> QueuedMessages { FILE: tests/src/smtp/queue/retry.rs constant CONFIG (line 23) | const CONFIG: &str = r#" function queue_retry (line 53) | async fn queue_retry() { FILE: tests/src/smtp/queue/virtualq.rs constant LOCAL (line 22) | const LOCAL: &str = r#" constant REMOTE (line 56) | const REMOTE: &str = r#" constant NUM_MESSAGES (line 68) | const NUM_MESSAGES: usize = 100; constant NUM_QUEUES (line 69) | const NUM_QUEUES: usize = 10; function virtual_queue (line 73) | async fn virtual_queue() { FILE: tests/src/smtp/reporting/analyze.rs constant CONFIG (line 16) | const CONFIG: &str = r#" function report_analyze (line 30) | async fn report_analyze() { FILE: tests/src/smtp/reporting/dmarc.rs constant CONFIG (line 28) | const CONFIG: &str = r#" function report_dmarc (line 50) | async fn report_dmarc() { FILE: tests/src/smtp/reporting/scheduler.rs constant CONFIG (line 28) | const CONFIG: &str = r#" function report_scheduler (line 42) | async fn report_scheduler() { function report_strip_json (line 163) | fn report_strip_json() { FILE: tests/src/smtp/reporting/tls.rs constant CONFIG (line 26) | const CONFIG: &str = r#" function report_tls (line 44) | async fn report_tls() { FILE: tests/src/smtp/session.rs type DummyIo (line 24) | pub struct DummyIo { method poll_read (line 31) | fn poll_read( method poll_write (line 47) | fn poll_write( method poll_flush (line 56) | fn poll_flush( method poll_shutdown (line 63) | fn poll_shutdown( method is_tls (line 72) | fn is_tls(&self) -> bool { method tls_version_and_cipher (line 76) | fn tls_version_and_cipher(&self) -> (Cow<'static, str>, Cow<'static, str... type TestSession (line 84) | pub trait TestSession { method test (line 85) | fn test(server: Server) -> Self; method test_with_shutdown (line 86) | fn test_with_shutdown(server: Server, shutdown_rx: watch::Receiver Vec; method write_rx (line 88) | fn write_rx(&mut self, data: &str); method rset (line 89) | async fn rset(&mut self); method cmd (line 90) | async fn cmd(&mut self, cmd: &str, expected_code: &str) -> Vec; method ehlo (line 91) | async fn ehlo(&mut self, host: &str) -> Vec; method mail_from (line 92) | async fn mail_from(&mut self, from: &str, expected_code: &str); method rcpt_to (line 93) | async fn rcpt_to(&mut self, to: &str, expected_code: &str); method data (line 94) | async fn data(&mut self, data: &str, expected_code: &str); method send_message (line 95) | async fn send_message(&mut self, from: &str, to: &[&str], data: &str, ... method test_builder (line 96) | async fn test_builder(&self); method test_with_shutdown (line 100) | fn test_with_shutdown(server: Server, shutdown_rx: watch::Receiver Self { method response (line 127) | fn response(&mut self) -> Vec { method write_rx (line 147) | fn write_rx(&mut self, data: &str) { method rset (line 151) | async fn rset(&mut self) { method cmd (line 156) | async fn cmd(&mut self, cmd: &str, expected_code: &str) -> Vec { method ehlo (line 161) | async fn ehlo(&mut self, host: &str) -> Vec { method mail_from (line 168) | async fn mail_from(&mut self, from: &str, expected_code: &str) { method rcpt_to (line 182) | async fn rcpt_to(&mut self, to: &str, expected_code: &str) { method data (line 196) | async fn data(&mut self, data: &str, expected_code: &str) { method send_message (line 214) | async fn send_message(&mut self, from: &str, to: &[&str], data: &str, ... method test_builder (line 222) | async fn test_builder(&self) { function load_test_message (line 275) | pub fn load_test_message(file: &str, test: &str) -> String { type VerifyResponse (line 284) | pub trait VerifyResponse { method assert_code (line 285) | fn assert_code(self, expected_code: &str) -> Self; method assert_contains (line 286) | fn assert_contains(self, expected_text: &str) -> Self; method assert_not_contains (line 287) | fn assert_not_contains(self, expected_text: &str) -> Self; method assert_count (line 288) | fn assert_count(self, text: &str, occurrences: usize) -> Self; method assert_code (line 292) | fn assert_code(self, expected_code: &str) -> Self { method assert_contains (line 300) | fn assert_contains(self, expected_text: &str) -> Self { method assert_not_contains (line 308) | fn assert_not_contains(self, expected_text: &str) -> Self { method assert_count (line 320) | fn assert_count(self, text: &str, occurrences: usize) -> Self { type TestServerInstance (line 333) | pub trait TestServerInstance { method test_with_shutdown (line 334) | fn test_with_shutdown(shutdown_rx: watch::Receiver) -> Self; method test_with_shutdown (line 338) | fn test_with_shutdown(shutdown_rx: watch::Receiver) -> Self { type DummyCertResolver (line 362) | pub struct DummyCertResolver; method resolve (line 365) | fn resolve(&self, _: rustls::server::ClientHello) -> Option ServerInstance { FILE: tests/src/store/blob.rs function blob_tests (line 21) | pub async fn blob_tests() { function test_store (line 462) | async fn test_store(store: BlobStore) { FILE: tests/src/store/cleanup.rs function store_destroy (line 15) | pub async fn store_destroy(store: &Store) { function search_store_destroy (line 61) | pub async fn search_store_destroy(store: &SearchStore) { function store_destroy_sql_indexes (line 82) | async fn store_destroy_sql_indexes(store: &Store) { function store_blob_expire_all (line 106) | pub async fn store_blob_expire_all(store: &Store) { function store_lookup_expire_all (line 181) | pub async fn store_lookup_expire_all(store: &Store) { function store_assert_is_empty (line 242) | pub async fn store_assert_is_empty(store: &Store, blob_store: BlobStore,... FILE: tests/src/store/import_export.rs function test (line 27) | pub async fn test(db: Store) { type Snapshot (line 238) | struct Snapshot { method new (line 250) | async fn new(db: &Store) -> Self { method assert_is_eq (line 303) | fn assert_is_eq(&self, other: &Self) { type KeyValue (line 243) | struct KeyValue { function random_bytes (line 332) | fn random_bytes(len: usize) -> Vec { FILE: tests/src/store/lookup.rs function lookup_tests (line 21) | pub async fn lookup_tests() { function pack_u32 (line 292) | fn pack_u32(a: u32, b: u32) -> Vec { FILE: tests/src/store/mod.rs type TempDir (line 22) | pub struct TempDir { method new (line 99) | pub fn new(name: &str, delete_if_exists: bool) -> Self { method delete (line 109) | pub fn delete(&self) { function store_tests (line 27) | pub async fn store_tests() { function search_tests (line 57) | pub async fn search_tests() { function deflate_test_resource (line 85) | pub fn deflate_test_resource(name: &str) -> Vec { function build_store_config (line 114) | pub fn build_store_config(temp_dir: &str) -> String { constant CONFIG (line 145) | const CONFIG: &str = r#" FILE: tests/src/store/ops.rs constant MAX_VALUE_SIZE (line 22) | const MAX_VALUE_SIZE: usize = 100000; function value_gen (line 25) | fn value_gen(chunks: impl IntoIterator) -> Vec { function test (line 33) | pub async fn test(db: Store) { FILE: tests/src/store/query.rs constant FIELDS (line 28) | pub const FIELDS: [&str; 20] = [ constant FIELD_MAPPINGS (line 64) | const FIELD_MAPPINGS: [EmailSearchField; 20] = [ constant ALL_IDS (line 87) | const ALL_IDS: &[&str] = &[ function test (line 108) | pub async fn test(store: SearchStore, do_insert: bool) { function test_filter (line 375) | async fn test_filter(store: SearchStore, fields: &AHashMap,... function test_sort (line 553) | async fn test_sort(store: SearchStore, fields: &AHashMap, m... function test_unindex (line 639) | async fn test_unindex(store: SearchStore, fields: &AHashMap) { function test_global (line 692) | async fn test_global(store: SearchStore) { FILE: tests/src/webdav/acl.rs function test (line 15) | pub async fn test(test: &WebDavTest) { method acl (line 403) | pub async fn acl<'x>( constant ACL_QUERY (line 421) | const ACL_QUERY: &str = r#" constant ACL_PRINCIPAL_QUERY (line 433) | const ACL_PRINCIPAL_QUERY: &str = r#") -> Str... method to_string (line 368) | fn to_string(&self, map: &mut AHashMap) -> Str... function normalize_ical (line 417) | fn normalize_ical(mut ical: ICalendar, map: &mut AHashMap String { constant REPORT_1 (line 332) | const REPORT_1: &str = r#" constant REPORT_1_EXPECTED_ABCD2 (line 367) | const REPORT_1_EXPECTED_ABCD2: &str = r#"BEGIN:VCALENDAR constant REPORT_1_EXPECTED_ABCD3 (line 412) | const REPORT_1_EXPECTED_ABCD3: &str = r#"BEGIN:VCALENDAR constant REPORT_2 (line 442) | const REPORT_2: &str = r#" constant REPORT_2_EXPECTED_ABCD2 (line 462) | const REPORT_2_EXPECTED_ABCD2: &str = r#"BEGIN:VCALENDAR constant REPORT_2_EXPECTED_ABCD3 (line 502) | const REPORT_2_EXPECTED_ABCD3: &str = r#"BEGIN:VCALENDAR constant REPORT_3 (line 540) | const REPORT_3: &str = r#" constant REPORT_3_EXPECTED_ABCD2 (line 563) | const REPORT_3_EXPECTED_ABCD2: &str = r#"BEGIN:VCALENDAR constant REPORT_3_EXPECTED_ABCD3 (line 585) | const REPORT_3_EXPECTED_ABCD3: &str = r#"BEGIN:VCALENDAR constant REPORT_4 (line 605) | const REPORT_4: &str = r#" constant REPORT_4_EXPECTED_ABCD8 (line 625) | const REPORT_4_EXPECTED_ABCD8: &str = r#"BEGIN:VCALENDAR constant REPORT_5 (line 639) | const REPORT_5: &str = r#" constant REPORT_6 (line 658) | const REPORT_6: &str = r#" constant REPORT_7 (line 677) | const REPORT_7: &str = r#" constant REPORT_8 (line 700) | const REPORT_8: &str = r#" constant REPORT_9 (line 714) | const REPORT_9: &str = r#" constant REPORT_10 (line 736) | const REPORT_10: &str = r#" constant REPORT_10_RESPONSE (line 743) | const REPORT_10_RESPONSE: &str = r#"BEGIN:VCALENDAR constant REPORT_11 (line 756) | const REPORT_11: &str = r#" constant REPORT_11_RESPONSE (line 763) | const REPORT_11_RESPONSE: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD1_ICS (line 777) | const ICAL_RFC_ABCD1_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD2_ICS (line 809) | const ICAL_RFC_ABCD2_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD3_ICS (line 857) | const ICAL_RFC_ABCD3_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD4_ICS (line 895) | const ICAL_RFC_ABCD4_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD5_ICS (line 912) | const ICAL_RFC_ABCD5_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD6_ICS (line 931) | const ICAL_RFC_ABCD6_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD7_ICS (line 947) | const ICAL_RFC_ABCD7_ICS: &str = r#"BEGIN:VCALENDAR constant ICAL_RFC_ABCD8_ICS (line 962) | const ICAL_RFC_ABCD8_ICS: &str = r#"BEGIN:VCALENDAR function remove_dtstamp (line 981) | fn remove_dtstamp(ics: &str) -> AHashSet { FILE: tests/src/webdav/cal_scheduling.rs function test (line 35) | pub async fn test(test: &WebDavTest) { function fetch_and_remove_itips (line 534) | async fn fetch_and_remove_itips(client: &DummyWebDavClient) -> Vec Vec { function test_build_itip_templates (line 599) | pub async fn test_build_itip_templates(server: &Server) { constant TEST_ITIP (line 812) | const TEST_ITIP: &str = r#"BEGIN:VCALENDAR constant TEST_FREEBUSY (line 830) | const TEST_FREEBUSY: &str = r#"BEGIN:VCALENDAR FILE: tests/src/webdav/card_query.rs function test (line 12) | pub async fn test(test: &WebDavTest) { constant QUERY1 (line 140) | const QUERY1: &str = r#" constant QUERY2 (line 162) | const QUERY2: &str = r#" constant QUERY3 (line 188) | const QUERY3: &str = r#" constant QUERY4 (line 203) | const QUERY4: &str = r#" constant VCARD1 (line 226) | const VCARD1: &str = r#"BEGIN:VCARD constant VCARD2 (line 258) | const VCARD2: &str = r#"BEGIN:VCARD constant VCARD3 (line 297) | const VCARD3: &str = r#"BEGIN:VCARD FILE: tests/src/webdav/copy_move.rs function test (line 14) | pub async fn test(test: &WebDavTest, assisted_discovery: bool) { function assert_result (line 793) | fn assert_result(response: &DavResponse, hierarchy: &[(String, String)]) { function replace_prefix (line 819) | fn replace_prefix(items: &mut [(String, String)], old_prefix: &str, new_... function rename (line 832) | fn rename(items: &mut [(String, String)], old_name: &str, new_name: &str) { function delete (line 842) | fn delete(items: &mut Vec<(String, String)>, name: &str) { function copy (line 854) | fn copy(items: &mut Vec<(String, String)>, old_name: &str, new_name: &st... function copy_prefix (line 865) | fn copy_prefix(items: &mut Vec<(String, String)>, old_prefix: &str, new_... function get_contents (line 879) | fn get_contents(items: &[(String, String)], name: &str) -> Option { FILE: tests/src/webdav/lock.rs function test (line 13) | pub async fn test(test: &WebDavTest) { constant LOCK_REQUEST (line 205) | const LOCK_REQUEST: &str = r#" method lock_create (line 215) | pub async fn lock_create( method lock_refresh (line 235) | pub async fn lock_refresh( method unlock (line 256) | pub async fn unlock(&self, path: &str, lock_token: &str) -> DavResponse { method lock_token (line 264) | pub fn lock_token(&self) -> &str { FILE: tests/src/webdav/mkcol.rs function test (line 13) | pub async fn test(test: &WebDavTest) { method mkcol (line 260) | pub async fn mkcol( FILE: tests/src/webdav/mod.rs function webdav_tests (line 75) | fn webdav_tests() { type WebDavTest (line 122) | pub struct WebDavTest { method client (line 255) | pub fn client(&self, name: &'static str) -> &DummyWebDavClient { method resources (line 259) | pub async fn resources(&self, name: &'static str, collection: Collecti... method clear_cache (line 268) | pub fn clear_cache(&self) { method assert_is_empty (line 278) | pub async fn assert_is_empty(&self) { method wait_for_index (line 283) | pub async fn wait_for_index(&self) { method fetch_email (line 1054) | pub async fn fetch_email(&self, account_id: u32, document_id: u32) -> ... function init_webdav_tests (line 129) | async fn init_webdav_tests(assisted_discovery: bool, delete_if_exists: b... type DummyWebDavClient (line 290) | pub struct DummyWebDavClient { method new (line 306) | pub fn new( method request (line 323) | pub async fn request(&self, method: &str, query: &str, body: impl Into... method request_with_headers (line 328) | pub async fn request_with_headers( method available_quota (line 386) | pub async fn available_quota(&self, path: &str) -> u64 { method create_hierarchy (line 399) | pub async fn create_hierarchy( method create_hierarchy_recursive (line 433) | async fn create_hierarchy_recursive( method validate_values (line 493) | pub async fn validate_values(&self, items: &[(String, String)]) { method delete_default_containers (line 504) | pub async fn delete_default_containers(&self) { method delete_default_containers_by_account (line 508) | pub async fn delete_default_containers_by_account(&self, account: &str) { type DavResponse (line 298) | pub struct DavResponse { method with_status (line 518) | pub fn with_status(self, status: StatusCode) -> Self { method with_redirect_to (line 526) | pub fn with_redirect_to(self, url: &str) -> Self { method with_header (line 531) | pub fn with_header(self, header: &str, value: &str) -> Self { method with_body (line 540) | pub fn with_body(self, expect_body: impl AsRef) -> Self { method with_empty_body (line 555) | pub fn with_empty_body(self) -> Self { method expect_body (line 569) | pub fn expect_body(&self) -> &str { method header (line 578) | pub fn header(&self, header: &str) -> &str { method etag (line 587) | pub fn etag(&self) -> &str { method sync_token (line 591) | pub fn sync_token(&self) -> &str { method hrefs (line 601) | pub fn hrefs(&self) -> Vec<&str> { method with_href_count (line 609) | pub fn with_href_count(self, count: usize) -> Self { method with_hrefs (line 618) | pub fn with_hrefs<'x>(self, hrefs: impl IntoIterator) ... method dump_response (line 638) | fn dump_response(&self) { method find_keys (line 656) | fn find_keys(&self, name: &str) -> impl Iterator { method value (line 663) | pub fn value(&self, name: &str) -> &str { method with_value (line 671) | pub fn with_value(self, query: &str, expect: impl AsRef) -> Self { method with_any_value (line 685) | pub fn with_any_value<'x>( method with_values (line 703) | pub fn with_values(self, query: &str, expect: I) -> Self method with_failed_precondition (line 718) | pub fn with_failed_precondition(self, precondition: &str, value: &str)... type DavResourcesTest (line 728) | pub trait DavResourcesTest { method items (line 729) | fn items(&self) -> Vec; method items (line 733) | fn items(&self) -> Vec { function flatten_xml (line 738) | fn flatten_xml(xml: &str) -> Vec<(String, String)> { constant TEST_VCARD_1 (line 836) | pub const TEST_VCARD_1: &str = r#"BEGIN:VCARD constant TEST_VCARD_2 (line 846) | pub const TEST_VCARD_2: &str = r#"BEGIN:VCARD constant TEST_ICAL_1 (line 858) | pub const TEST_ICAL_1: &str = r#"BEGIN:VCALENDAR constant TEST_ICAL_2 (line 873) | pub const TEST_ICAL_2: &str = r#"BEGIN:VCALENDAR constant TEST_FILE_1 (line 895) | pub const TEST_FILE_1: &str = r#"this is a test file constant TEST_FILE_2 (line 902) | pub const TEST_FILE_2: &str = r#"another test file constant TEST_VTIMEZONE_1 (line 909) | pub const TEST_VTIMEZONE_1: &str = r#"BEGIN:VCALENDAR type GenerateTestDavResource (line 933) | pub trait GenerateTestDavResource { method generate (line 934) | fn generate(&self) -> String; method generate (line 938) | fn generate(&self) -> String { function generate_random_vcard (line 948) | fn generate_random_vcard() -> String { function generate_random_ical (line 960) | fn generate_random_ical() -> String { function generate_random_content (line 976) | fn generate_random_content(min_chars: usize, max_chars: usize) -> String { function generate_random_name (line 1046) | fn generate_random_name(length: usize) -> String { constant SERVER (line 1084) | const SERVER: &str = r#" FILE: tests/src/webdav/multiget.rs constant MULTIGET_CALENDAR (line 13) | const MULTIGET_CALENDAR: &str = r#" constant MULTIGET_ADDRESSBOOK (line 22) | const MULTIGET_ADDRESSBOOK: &str = r#" DavM... method multiget_addressbook (line 107) | pub async fn multiget_addressbook(&self, path: &str, uris: &[&str]) -> D... FILE: tests/src/webdav/principals.rs function test (line 13) | pub async fn test(test: &WebDavTest, assisted_discovery: bool) { constant PRINCIPAL_MATCH_QUERY (line 415) | const PRINCIPAL_MATCH_QUERY: &str = r#" DavPropertyResult<'_> { method with_hrefs (line 745) | pub fn with_hrefs<'x>(&self, expect_hrefs: impl IntoIterator bool { type DavProperties (line 725) | pub struct DavProperties { type DavPropertyResult (line 756) | pub struct DavPropertyResult<'x> { type DavQueryResult (line 761) | pub struct DavQueryResult<'x> { function get (line 768) | pub fn get(&self, name: impl AsRef) -> DavQueryResult<'_> { function with_status (line 789) | pub fn with_status(&self, status: StatusCode) -> &Self { function is_defined (line 800) | pub fn is_defined(&self, name: impl AsRef) -> &Self { function is_undefined (line 814) | pub fn is_undefined(&self, name: impl AsRef) -> &Self { function calendar_data (line 827) | pub fn calendar_data(&self) -> DavQueryResult<'_> { function with_values (line 835) | pub fn with_values(&self, expected_values: impl IntoIterator &Self { function value (line 906) | pub fn value(&self) -> &str { function with_status (line 915) | pub fn with_status(&self, status: StatusCode) -> &Self { function with_description (line 923) | pub fn with_description(&self, description: &str) -> &Self { function with_error (line 933) | pub fn with_error(&self, error: &str) -> &Self { method into_propfind_response (line 943) | pub fn into_propfind_response(mut self, prop_prefix: Option<&str>) -> Da... method patch_and_check (line 1047) | pub async fn patch_and_check( method propfind (line 1107) | pub async fn propfind(&self, path: &str, properties: I) -> DavMult... method propfind_with_headers (line 1115) | pub async fn propfind_with_headers( method proppatch (line 1145) | pub async fn proppatch( method default (line 1191) | fn default() -> Self { constant EXPAND_REPORT_QUERY (line 1201) | const EXPAND_REPORT_QUERY: &str = r#" constant ALL_DAV_PROPERTIES (line 1215) | pub const ALL_DAV_PROPERTIES: &[DavProperty] = &[ function serialize_status_code (line 1272) | fn serialize_status_code(status_code: &StatusCode, serializer: S) -> ... FILE: tests/src/webdav/put_get.rs function test (line 12) | pub async fn test(test: &WebDavTest) { FILE: tests/src/webdav/sync.rs function test (line 14) | pub async fn test(test: &WebDavTest) { method sync_collection (line 295) | pub async fn sync_collection(