-
Notifications
You must be signed in to change notification settings - Fork 274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Session freeze & resume #300
Comments
A session frozen on the server-side would buffer up events that would have been received by the session had it been still active. The buffering will have a configurable limit - both in how long the session is still maintained in a frozen state on the router, as well as how many messages are buffered at max. Actually the buffering could be at the transport level, as this allows easy resume: just send out buffered WAMP messages held in an out queue. When a WAMP transport is lost, instead of closing the WAMP session (the instance of Later, when the real transport resumes, the messages from the A A full-duplex WAMP transport consists of a pair, with a The transport also has an underlying "real" transport. However, the real transport can disappear, can be reconnected, can even be connected using a different networking technology under the hood. |
Above approach of buffering at the WAMP transport level is transparent at the WAMP application level. Ideally, only the send/receive timings of the WAMP messages, but not their order nor their content change under a Resumable-Retaining WAMP transport. However, I'm not sure if that is necessary, or desirable. Because, let's take events. Subscribers might not want to loose events. On some topics, or on all topics. They might want to get historic events when they freshly boot. In that case, there wasn't any WAMP session to resume. Publishers indeed might want to have their outbound events being buffered up until an underlying transport resumes. Then RPC. When a callee disappears, the value of buffering up calls that would be served by the lost callee seems dubious. One could argue that the calls really should fail. And the caller role. When there is no transport, what whould outgoing calls do? Buffer up .. really? |
Related: #892 and wamp-proto/wamp-proto#260 |
as discussed extensively on WAMP protocol (eg wamp-proto/wamp-proto#264) : won't fix (for now) .. "too invasive / doesn't really fit wamp design / unclear how to do it" |
WAMP session freeze & resume suport both in client library and router that allows for:
Allows session to live in the presence of intermittend network loss, e.g. on mobile networks.
Allows session level handover, e.g. while moving from one Wifi network to a neighboring Wifi network, or even to a different transport like a HSPA connection.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: