io.specmatic.stub.SSEBuffer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of specmatic-core Show documentation
Show all versions of specmatic-core Show documentation
Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.
package io.specmatic.stub
import java.io.Writer
class SSEBuffer(private val buffer: MutableList = mutableListOf()) {
fun add(event: SseEvent) {
val bufferIndex = event.bufferIndex ?: return
if(bufferIndex == -1) {
buffer.add(event)
} else if(bufferIndex >= 0) {
buffer[bufferIndex] = event
}
}
fun replace(event: SseEvent, index: Int) {
buffer[index] = event
}
fun write(writer: Writer) {
for(event in buffer) {
writeEvent(event, writer)
}
}
}