Skip to content

Commit

Permalink
chore: send events only if necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
andrea-acampora committed Feb 15, 2023
1 parent 6cf0c16 commit 9dd1f4a
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/main/kotlin/infrastructure/signalr/SignalRClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ package infrastructure.signalr
import application.presenter.EventConsumer
import application.presenter.EventParser
import com.microsoft.signalr.HubConnectionBuilder
import entities.events.EmptyEvent
import entities.events.Event
import infrastructure.digitaltwins.DTEventParser
import io.reactivex.rxjava3.core.FlowableEmitter
Expand All @@ -30,12 +31,14 @@ class SignalRClient : EventConsumer<String> {
private val eventParser: EventParser<String> = DTEventParser()

override fun start(emitter: FlowableEmitter<Event<Any>>) {
connection.on("newMessage", { event ->
emitter.onNext(consumeEvent(event))
}, String::class.java)
connection.on("newMessage", {
val event = consumeEvent(it)
if (event !is EmptyEvent) {
emitter.onNext(event)
}
}, String::class.java)
connection.start()
}

override fun consumeEvent(inputEvent: String): Event<Any> = eventParser.parseEvent(inputEvent)

}

0 comments on commit 9dd1f4a

Please # to comment.