Package-level declarations

Types

Link copied to clipboard
fun interface AuthProvider

Host app injects authentication/authorization without the SDK dictating how.

Link copied to clipboard
@Serializable
data class BatchSendRequest(val batchId: String, val deviceId: String, val appVersion: String, val locationId: String, val sentAtEpochMs: Long, val events: List<TransportEvent>)
Link copied to clipboard
@Serializable
data class BatchSendResponse(val acceptedCount: Int, val acks: List<EventAck>)
Link copied to clipboard
@Serializable
data class EventAck(val id: String, val idempotencyKey: String, val accepted: Boolean, val retryable: Boolean = true, val error: String? = null, val serverEventId: String? = null)
Link copied to clipboard
class HmacRequestSigner(sharedSecret: ByteArray, keyId: String? = null, clock: Clock = Clock.SYSTEM, nonceProvider: NonceProvider = NonceProvider { UUID.randomUUID().toString() }, headerPrefix: String = "X-KioskOps") : RequestSigner

HMAC-SHA256 request signer.

Link copied to clipboard
fun interface NonceProvider
Link copied to clipboard
class OkHttpTransport(client: OkHttpClient, json: Json, logs: RingLog, authProvider: AuthProvider? = null, requestSigner: RequestSigner? = null) : Transport
Link copied to clipboard
interface RequestSigner

Request signing is an optional security layer on top of TLS.

Link copied to clipboard
interface Transport
Link copied to clipboard
@Serializable
data class TransportEvent(val id: String, val idempotencyKey: String, val type: String, val payloadJson: String, val createdAtEpochMs: Long)
Link copied to clipboard
sealed class TransportResult<out T>

Result classification for sync retries.