package com.suno.android.common_networking.sse /** * Configuration for establishing an SSE connection. * * @property url The SSE endpoint URL * @property queryParameters Query parameters to append to the URL * @property initialRetryDelayMs Initial retry delay in milliseconds * @property maxRetryDelayMs Maximum retry delay in milliseconds * @property retryBackoffMultiplier Multiplier for exponential backoff * @property maxRetryAttemptForBackoff Maximum retry attempts before capping backoff delay * @property maxRetries Maximum number of retry attempts before giving up. * @property maxEventSizeBytes Maximum size in bytes for incomplete SSE events (prevents memory leaks) */ data class SseConnectionConfig( val url: String, val queryParameters: Map = emptyMap(), val initialRetryDelayMs: Long = 1000L, val maxRetryDelayMs: Long = 30000L, val retryBackoffMultiplier: Double = 2.0, val maxRetryAttemptForBackoff: Int = 10, val maxRetries: Int = 10, val maxEventSizeBytes: Int = 1048576, // 1MB )