fun enqueue()

in agent-sdk/src/main/java/co/elastic/otel/android/internal/features/exportergate/ExporterGateQueue.kt [58:73]


    fun enqueue(data: Collection<DATA>): CompletableResultCode {
        if (started.compareAndSet(false, true)) {
            listener.onStartEnqueuing(id)
        }
        var surpassedQueueSize = false
        for (item in data) {
            if (!queue.offer(item)) {
                surpassedQueueSize = true
                overflow.add(item)
            }
        }
        if (surpassedQueueSize) {
            forceOpenGate("Queue overflow")
        }
        return CompletableResultCode.ofSuccess()
    }