Azolo / websockex

An Elixir Websocket Client
MIT License
515 stars 97 forks source link

Add init and handle_call to seamlessly support behaviors designed around GenServer #98

Open jotakami opened 3 years ago

jotakami commented 3 years ago

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.