AccountRelays

Rust-owned durable relay catalog for one account.

Rust validates endpoints, reconciles caller-supplied authenticated discovery with user choices, and commits the complete catalog transaction. The managed transport consumes the effective catalog directly; low-level hosts may use the same values with their own socket.

Functions

Link copied to clipboard
suspend fun add(relayUrl: String): RelayCatalogMutation

Add or reactivate a custom relay and commit the complete catalog.

Link copied to clipboard
fun endpoint(configuredUrl: String): RelayEndpoint

Validate a configured endpoint for managed or low-level transport.

Link copied to clipboard

Return the complete durable catalog.

Link copied to clipboard
suspend fun exclude(relayUrl: String): RelayCatalogMutation

Exclude an automatic relay or remove custom ownership.

Link copied to clipboard
suspend fun failoverCandidates(failedUrl: String): List<String>

Return ordered effective candidates after failedUrl.

Link copied to clipboard

Observe the complete catalog after every durable account change.

Link copied to clipboard
suspend fun reconcile(discovered: List<DnsRelayRecord>, fallbackUrl: String, dnsAuthenticated: Boolean): StoredRelayCatalogPlan

Reconcile authenticated DNS discovery and commit it atomically.

Link copied to clipboard

Restore every currently discovered automatic relay.

Link copied to clipboard
fun retry(attempt: UInt, failure: RelayFailureKind, bypassDelayOnce: Boolean = false): RelayRetryPlan

Return bounded retry/failover policy for one transport result.

Link copied to clipboard
suspend fun setActive(relayUrl: String): RelayCatalogMutation

Select exactly one effective active relay.