Skip to main content

xmtp_configuration/common/
backend.rs

1/// Group and commit-log topic identifier length, in bytes.
2pub const BACKEND_GROUP_ID_BYTES: usize = 16;
3/// Welcome, key-package, and identity topic identifier length, in bytes.
4pub const BACKEND_INSTALLATION_ID_BYTES: usize = 32;
5
6/// Default age for ordinary group messages, in seconds.
7pub const BACKEND_DEFAULT_GROUP_MESSAGE_SECONDS: u64 = 7_776_000;
8/// Default age for welcome messages, in seconds.
9pub const BACKEND_DEFAULT_WELCOME_SECONDS: u64 = 7_776_000;
10/// Default age for key packages, in seconds.
11pub const BACKEND_DEFAULT_KEY_PACKAGE_SECONDS: u64 = 7_776_000;
12
13/// Default per-topic query limit.
14pub const BACKEND_DEFAULT_QUERY_LIMIT: usize = 100;
15/// Default maximum query limit.
16pub const BACKEND_DEFAULT_MAX_QUERY_LIMIT: usize = 1_000;
17/// Default maximum number of query topics.
18pub const BACKEND_DEFAULT_MAX_QUERY_TOPICS: usize = 1_000;
19/// Default maximum number of metadata-only newest topics.
20pub const BACKEND_DEFAULT_MAX_NEWEST_METADATA_TOPICS: usize = 1_000;
21/// Default maximum number of full newest topics.
22pub const BACKEND_DEFAULT_MAX_NEWEST_FULL_TOPICS: usize = 100;
23/// Default maximum number of topics in one publish.
24pub const BACKEND_DEFAULT_MAX_PUBLISH_TOPICS: usize = 1_000;
25/// Default maximum encoded envelope size, in bytes.
26pub const BACKEND_DEFAULT_MAX_ENVELOPE_BYTES: usize = 1_048_576;
27/// Default maximum encoded request size, in bytes.
28pub const BACKEND_DEFAULT_MAX_REQUEST_BYTES: usize = 26_214_400;
29/// Default maximum encoded response size, in bytes.
30pub const BACKEND_DEFAULT_MAX_RESPONSE_BYTES: usize = 26_214_400;
31/// Default maximum topics added by one stream update.
32pub const BACKEND_DEFAULT_MAX_UPDATE_ADDS: usize = 100_000;
33/// Default maximum topics removed by one stream update.
34pub const BACKEND_DEFAULT_MAX_UPDATE_REMOVES: usize = 100_000;
35/// Default maximum registered topics per stream.
36pub const BACKEND_DEFAULT_MAX_STREAM_TOPICS: usize = 100_000;
37/// Default maximum topics in a static subscription.
38pub const BACKEND_DEFAULT_MAX_STATIC_TOPICS: usize = 10_000;
39/// Default maximum identifiers in one inbox lookup.
40pub const BACKEND_DEFAULT_MAX_LOOKUP_IDENTIFIERS: usize = 250;
41/// Default maximum smart-contract-wallet signatures per request.
42pub const BACKEND_DEFAULT_MAX_SCW_SIGNATURES: usize = 100;
43/// Default maximum identity entries per inbox.
44pub const BACKEND_DEFAULT_MAX_IDENTITY_ENTRIES: usize = 256;
45/// Default maximum HTTP/2 streams per connection.
46pub const BACKEND_DEFAULT_MAX_HTTP2_STREAMS: usize = 100;
47/// Default stream update rate, in frames per second.
48pub const BACKEND_DEFAULT_MAX_UPDATE_FRAMES_PER_SECOND: u32 = 10;
49/// Default stream update token-bucket burst.
50pub const BACKEND_DEFAULT_MAX_UPDATE_BURST: u32 = 100;
51/// Default client ping rate, in frames per second.
52pub const BACKEND_DEFAULT_MAX_PING_FRAMES_PER_SECOND: u32 = 10;
53/// Default client ping token-bucket burst.
54pub const BACKEND_DEFAULT_MAX_PING_BURST: u32 = 100;
55
56/// Default interval between stream keepalive frames, in milliseconds.
57pub const BACKEND_DEFAULT_KEEPALIVE_INTERVAL_MS: u64 = 30_000;
58
59/// Default database statement timeout. Client identity waits exceed this value.
60pub const BACKEND_DEFAULT_STATEMENT_TIMEOUT_MS: u64 = 5_000;