turnpike
turnpike copied to clipboard
Go implementation of a WAMP (Web Application Messaging Protocol) client and router
This seems to work, but needs a bit of review. I've implemented a client in Go (in the examples) and I have a working example in C that I'll publish...
It seems unfortunate that in order to use Turnpike's client API you have to import the entire router implementation. It seems like splitting the package would make things a bit...
Often it's useful to not have to wait for the next publish before receiving data, but to receive a packet just after subscribing. This is useful if you're subscribing to...
Currently we aren't closing the websocket connection correctly according to the spec: https://tools.ietf.org/html/rfc6455#section-7
If two clients send requests with request ID "1", the second will overwrite the first and the first will never be returned. This is related to #80.
https://github.com/tavendo/WAMP/blob/master/spec/basic.md#call-1 https://github.com/tavendo/WAMP/blob/master/spec/basic.md#empty-arguments-and-keyword-arguments Specifically in RESULT messages, but we should check INVOCATION and possibly others.
Currently, the default broker automatically creates topics when a peer subscribes to a topic that doesn't exist ([here](https://github.com/jcelliott/turnpike/blob/v2/broker.go#L56)). This should probably be configurable. Should it be the default behavior?
Turnpike will be moving to WAMP v2 soon, and we need to decide on the best way to deprecate v1 without causing too much of a headache for users. This...