There's also https://github.com/fbonetti/elm-phoenix-socket/. It doesn't use an effect manager, but apparently because of that doesn't notify about disconnection.
On Wed, 17 May 2017 at 01:39, Oliver Searle-Barnes <[email protected]> wrote: > You might find https://github.com/saschatimme/elm-phoenix useful to look > at, it's an effects manager phoenix channels built on top of the websocket > effects manager. > > > On Tuesday, 16 May 2017 15:30:18 UTC+1, Christophe de Vienne wrote: >> >> Hi everyone, >> >> I am attempting to implement the pub/sub NATS (https://nats.io) protocol >> on top of the WebSocket API as a TEA component. >> >> I have a hard time finding an API for subscriptions: for each >> subscription some context must be kept, a unique subscription ID >> generated and in some case a unique reply subject too, and I would like >> each subscription to generate custom messages for the component which >> made it. >> >> I suspect it would be a lot more natural with an effect module, with >> which I could (hopefully) write, in any part of the application: >> >> subscriptions : Model -> Sub Msg >> subscriptions model = >> Nats.Subscribe model.endpoint "some.subject" MyMessage >> >> or, for req/rep (a pub + a short-living sub expecting a result): >> >> myrequest : Model -> Cmd Msg >> myrequest model = >> Nats.request model.endpoint "a.request.subject" MyReply >> >> >> Another difficulty I have is that in some cases I need to send 2 or 3 >> messages through the websocket, in the right order, but WebSocket.send >> returns a Cmd. So I have to concat the 3 commands in 1 message, which >> works but oblige >> >> Am I wrong being tempted by using an effect module for this kind of >> module ? >> If so how can I mimick such an API with a TEA approach ? >> If not is there any documentation I can read to get familiar with them ? >> >> Is there any existing module that does this kind of thing for another >> protocol ? >> >> Thanks! >> >> -- >> Christophe de Vienne >> > -- > You received this message because you are subscribed to the Google Groups > "Elm Discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
