I'm trying to wrap Websockex with GenStage but there are some minor gaps between the interfaces since GenStage is built on top of GenServer. In particular, there's typically an init callback which allows the server to initialize the state based on arguments, rather than just directly using whatever state the client passed to start_link. Also, while I can probably work around it with GenStage by avoiding synchronous stuff, it would make it waaaay simpler if Websockex supported synchronous requests (i.e. handle_call). Then you could basically just drop in GenServer-style behaviors.
I'm trying to wrap Websockex with GenStage but there are some minor gaps between the interfaces since GenStage is built on top of GenServer. In particular, there's typically an
init
callback which allows the server to initialize the state based on arguments, rather than just directly using whatever state the client passed tostart_link
. Also, while I can probably work around it with GenStage by avoiding synchronous stuff, it would make it waaaay simpler if Websockex supported synchronous requests (i.e.handle_call
). Then you could basically just drop in GenServer-style behaviors.