Skip to main content

Crate xmtp_configuration

Crate xmtp_configuration 

Source

Structs§

AuthConfiguration
What a client must present to be admitted. The client acts only on enabled and required_scopes; the rest exists for operator tooling.
DockerUrls
Local chain used for smart-contract-wallet verification.
GrpcUrls
Temporary test URL names. Remove with the Task 9 binding update.
GrpcUrlsToxic
Temporary fault-test URL name. Remove with the Task 9 binding update.
LimitsConfiguration
Request shapes the deployment accepts. A client chunks its work to these values rather than to its compiled constants.
MlsConfiguration
Advisory group shapes. The backend publishes them and does not enforce them.
RetentionConfiguration
How long the deployment keeps each payload kind, in seconds.
ServerConfiguration
One immutable snapshot of what a deployment published.
SigningKeyDescription
Public identity of one accepted signing key. Never the key itself.
StaticConfigProvider
A provider a test constructs from any values, with no database and no fetch. Passing one to the builder disables fetch, store, refresh, and the identifier check.
StoredConfigProvider
The provider backed by the copy stored in the client database.

Enums§

ServerConfigurationError
Why a published configuration cannot be used.

Constants§

ACTIVE_DATABASE_POLL_INTERVAL
Maximum delay between fresh database checks while work is active.
ANVIL_URL_DEFAULT
Local chain address when no worktree environment is loaded.
AUTH_LOCKOUT_COOLDOWN
Time before one authentication probe is allowed after lockout.
BACKEND_DEFAULT_GROUP_MESSAGE_SECONDS
Default age for ordinary group messages, in seconds.
BACKEND_DEFAULT_KEEPALIVE_INTERVAL_MS
Default interval between stream keepalive frames, in milliseconds.
BACKEND_DEFAULT_KEY_PACKAGE_SECONDS
Default age for key packages, in seconds.
BACKEND_DEFAULT_MAX_ENVELOPE_BYTES
Default maximum encoded envelope size, in bytes.
BACKEND_DEFAULT_MAX_HTTP2_STREAMS
Default maximum HTTP/2 streams per connection.
BACKEND_DEFAULT_MAX_IDENTITY_ENTRIES
Default maximum identity entries per inbox.
BACKEND_DEFAULT_MAX_LOOKUP_IDENTIFIERS
Default maximum identifiers in one inbox lookup.
BACKEND_DEFAULT_MAX_NEWEST_FULL_TOPICS
Default maximum number of full newest topics.
BACKEND_DEFAULT_MAX_NEWEST_METADATA_TOPICS
Default maximum number of metadata-only newest topics.
BACKEND_DEFAULT_MAX_PING_BURST
Default client ping token-bucket burst.
BACKEND_DEFAULT_MAX_PING_FRAMES_PER_SECOND
Default client ping rate, in frames per second.
BACKEND_DEFAULT_MAX_PUBLISH_TOPICS
Default maximum number of topics in one publish.
BACKEND_DEFAULT_MAX_QUERY_LIMIT
Default maximum query limit.
BACKEND_DEFAULT_MAX_QUERY_TOPICS
Default maximum number of query topics.
BACKEND_DEFAULT_MAX_REQUEST_BYTES
Default maximum encoded request size, in bytes.
BACKEND_DEFAULT_MAX_RESPONSE_BYTES
Default maximum encoded response size, in bytes.
BACKEND_DEFAULT_MAX_SCW_SIGNATURES
Default maximum smart-contract-wallet signatures per request.
BACKEND_DEFAULT_MAX_STATIC_TOPICS
Default maximum topics in a static subscription.
BACKEND_DEFAULT_MAX_STREAM_TOPICS
Default maximum registered topics per stream.
BACKEND_DEFAULT_MAX_UPDATE_ADDS
Default maximum topics added by one stream update.
BACKEND_DEFAULT_MAX_UPDATE_BURST
Default stream update token-bucket burst.
BACKEND_DEFAULT_MAX_UPDATE_FRAMES_PER_SECOND
Default stream update rate, in frames per second.
BACKEND_DEFAULT_MAX_UPDATE_REMOVES
Default maximum topics removed by one stream update.
BACKEND_DEFAULT_QUERY_LIMIT
Default per-topic query limit.
BACKEND_DEFAULT_STATEMENT_TIMEOUT_MS
Default database statement timeout. Client identity waits exceed this value.
BACKEND_DEFAULT_WELCOME_SECONDS
Default age for welcome messages, in seconds.
BACKEND_GROUP_ID_BYTES
Group and commit-log topic identifier length, in bytes.
BACKEND_INSTALLATION_ID_BYTES
Welcome, key-package, and identity topic identifier length, in bytes.
BACKEND_TEST_TOXIC_URL_DEFAULT
Local backend proxy URL when no worktree environment is loaded.
BACKEND_TEST_URL_DEFAULT
Local backend URL when no worktree environment is loaded.
BUSY_TIMEOUT
max time the database will wait to acquire a lock for a table
CIPHERSUITE
CONFIGURATION_REFRESH_ATTEMPTS
Attempts in one refresh run. After the last failure the run ends and the stored copy is left alone (CFG-047).
CONFIGURATION_REFRESH_BACKOFF
Waits between the attempts of one run (CFG-046).
CONFIGURATION_REFRESH_INTERVAL
How long after one refresh run ends before the next one starts, before jitter (CFG-046). The first run starts this long after build.
CONFIGURATION_REFRESH_JITTER
Random spread added to each wait, so a fleet of clients does not refresh in lockstep (CFG-046).
CREATE_PQ_KEY_PACKAGE_EXTENSION
DEFAULT_CONSUMER_LEASE_DURATION
Lease duration for the default app message consumer.
DEFAULT_GROUP_DESCRIPTION
DEFAULT_GROUP_IMAGE_URL_SQUARE
DEFAULT_GROUP_NAME
ENABLE_COMMIT_LOG
GROUP_KEY_ROTATION_INTERVAL_NS
GROUP_MEMBERSHIP_EXTENSION_ID
GROUP_PERMISSIONS_EXTENSION_ID
GRPC_PAYLOAD_LIMIT
Maximum bytes in one gRPC payload.
HMAC_SALT
IDENTITY_DEPENDENCY_CONCURRENCY
Maximum concurrent identity proof requests in one resolver batch.
IDENTITY_REFERENCE_RETRY_INTERVAL
Minimum interval between primary reads for an absent identity update.
IDENTITY_REFERENCE_WAIT
Healthy primary-read time allowed for an absent pinned identity update. This exceeds the backend’s default statement timeout.
INSTALLATION_THRESHOLD_FOR_WELCOME_POINTER_SENDING
KEYS_EXPIRATION_INTERVAL_NS
KEY_PACKAGE_QUEUE_INTERVAL_NS
KEY_PACKAGE_ROTATION_INTERVAL_NS
Interval in NS used to compute next_key_package_rotation_ns. This defines how often a new KeyPackage should be rotated, but does not determine the actual KeyPackage expiration.
LOCALHOST
MAX_CONSECUTIVE_AUTH_FAILURES
Maximum consecutive credential rejections and callback failures.
MAX_DB_POOL_SIZE
Max Size the Database Pool is allowed to grow to
MAX_GROUP_SIZE
MAX_GROUP_SYNC_RETRIES
MAX_INSTALLATIONS_PER_INBOX
MAX_INTENT_PUBLISH_ATTEMPTS
MAX_PAST_EPOCHS
MAX_PUBLISHED_VALUE
Largest published numeric value, 2^53 - 1.
MAX_SERVER_IDENTIFIER_BYTES
Longest operator identifier, in bytes. Shared with the backend so one rule governs what it accepts and what a client will store.
MIN_DB_POOL_SIZE
Minimum amount of connections to keep open & idle to the database in the pool
MIN_RECOVERY_REQUEST_VERSION
MLS_PROTOCOL_VERSION
MUTABLE_METADATA_EXTENSION_ID
MLS Extension Types
NOTIFICATION_BATCH_TOPICS
Maximum total adds and removes in one notification request.
NOTIFICATION_REQUEST_TIMEOUT
Bound the complete notification operation, including auth and transport retries.
OPENMLS_KV_TARGET
Target for xmtp_db::sql_key_store instrumentation. Enable via openmls_kv=trace.
POST_QUANTUM_CIPHERSUITE
PROPOSALS_MIN_PROTOCOL_VERSION
Default floor written into MIN_SUPPORTED_PROTOCOL_VERSION when a group is migrated via enable_proposals without an explicit override.
RECEIVER_FALLBACK_INTERVAL
Maximum delay before a receiver with no progress falls back to Query.
SEND_MESSAGE_UPDATE_INSTALLATIONS_INTERVAL_NS
STREAM_BARRIER_TIMEOUT
Maximum duration of one bounded catch-up operation.
STREAM_BATCH_BYTES
Maximum encoded bytes in one admission transaction or fetched page.
STREAM_BATCH_ROWS
Maximum rows in one admission transaction or fetched page.
STREAM_BLOCKED_WELCOME_RESCAN_INTERVAL
How often a long-lived client rechecks Welcomes it could not process, so their retention deadline is reached without restarting the client.
STREAM_GROUP_BYTES
Maximum pending group bytes across all group topics.
STREAM_GROUP_ROWS
Maximum pending group rows across all group topics.
STREAM_IDENTITY_BYTES
Reserved pending identity bytes.
STREAM_IDENTITY_ROWS
Reserved pending identity rows, separate from group and Welcome capacity.
STREAM_LOCAL_READ_BYTES
Maximum decoded bytes returned by one local message read.
STREAM_LOCAL_READ_ROWS
Maximum rows returned by one local message read.
STREAM_PERMANENT_RETRY_INITIAL
First delay before retrying a receiver that failed with a permanent error. A permanent classification describes this response, not every later one, so the retry never stops. It only slows down.
STREAM_PERMANENT_RETRY_MAX
Longest delay between retries of a receiver that keeps failing permanently.
STREAM_TOPIC_BYTES
Maximum pending encoded bytes for one topic.
STREAM_TOPIC_ROWS
Maximum pending rows for one topic.
STREAM_WELCOME_BYTES
Reserved pending Welcome bytes.
STREAM_WELCOME_ROWS
Reserved pending Welcome rows, separate from group and identity capacity.
SUPER_ADMIN_METADATA_PREFIX
SYNC_BACKOFF_TOTAL_WAIT_MAX_SECS
the total wait for all attempts
SYNC_BACKOFF_WAIT_MS
the base backoff time that is multiplied by 3
SYNC_JITTER_MS
jitter time between attempts in ms
SYNC_UPDATE_INSTALLATIONS_INTERVAL_NS
WASM_VFS_DIRECTORY
VFS Directory for OPFS
WASM_VFS_NAME
WELCOME_HPKE_LABEL
WELCOME_POINTEE_ENCRYPTION_AEAD_TYPES_EXTENSION_ID
WELCOME_WRAPPER_ENCRYPTION_EXTENSION_ID
WORKER_RESTART_DELAY
Duration to wait before restarting workers in case of an error.

Traits§

ConfigProvider
One immutable configuration, read by every consumer in section 6.4.

Functions§

backend_test_toxic_url
Local backend proxy URL for fault tests. See backend_test_url.
backend_test_url
Local backend URL for client tests.
is_caip2_chain_id
A CAIP-2 identifier is namespace:reference, where the namespace is three to eight lowercase characters and the reference is one to thirty-two. The client only needs the shape; the verifier owns the routes.
validate_server_identifier
Check the shape of an operator identifier. The backend refuses to start with one that fails, and a client refuses to store one.
version_is_below
Compare two versions on major, minor, and patch only. A prerelease tag never makes a client too old for a minimum it otherwise satisfies.