parent
5ac864f15e
commit
f3e51a4750
|
@ -26,7 +26,7 @@ object MyHttpService {
|
|||
val send: Stream[IO, WebSocketFrame] =
|
||||
Stream
|
||||
.emits(TestModels.testChangesList)
|
||||
.covary[IO].metered(5.second).map(state => WebSocketFrame.Text(state.asJson.noSpaces))
|
||||
.covary[IO].metered(2.second).map(state => WebSocketFrame.Text(state.asJson.noSpaces))
|
||||
|
||||
val receive: Pipe[IO, WebSocketFrame, Unit] = _.evalMap {
|
||||
case WebSocketFrame.Text(text, _) => Sync[IO].delay(println(text))
|
||||
|
|
|
@ -30,9 +30,7 @@ object Main {
|
|||
import io.laminext.websocket.circe.WebSocket._
|
||||
import io.laminext.websocket.circe.webSocketReceiveBuilderSyntax
|
||||
|
||||
val roomStateWSStream = io.laminext.websocket.circe.WebSocket
|
||||
.url("ws://0.0.0.0:5153/api/subscribe")
|
||||
.json[RoomStateView, Unit]
|
||||
val roomStateWSStream = io.laminext.websocket.WebSocket.path("/api/subscribe").json[RoomStateView, Unit]
|
||||
.build(
|
||||
managed = true,
|
||||
autoReconnect = false,
|
||||
|
@ -44,7 +42,7 @@ object Main {
|
|||
val stateStream = roomStateWSStream.received
|
||||
// and what's the difference between EventStream and Signal???
|
||||
val stateSignal =
|
||||
stateStream.startWith(TestModels.testRoom, cacheInitialValue = true)
|
||||
stateStream.startWith(RoomStateView.empty)
|
||||
|
||||
// NOTE let's try with fetch \ rest
|
||||
// import io.laminext.fetch.Fetch
|
||||
|
@ -72,7 +70,7 @@ object Main {
|
|||
className := "h-24 w-full flex flex-for justify-center items-center bg-green-200",
|
||||
p(className := "text-2xl", "Here be header")
|
||||
),
|
||||
RoomView.renderRoom(staticStateSignal),
|
||||
RoomView.renderRoom(stateSignal),
|
||||
roomStateWSStream.connect
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue