Warlock to implement WebSocket server protocol #33
Labels
No labels
bug
confirmed
critical
database
discussion
documentation
email-support
enhancement
feature
suggestion
support
warlock
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference: hazaar/hazaar-mvc-old#33
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
See #32 for why I'm doing this.
The protocol for communication between the Warlock Client controller and Warlock Server will become WebSocket protocol (inc. handshake). This will then allow us to convert from a unix socket file to a TCP socket easily and then support direct connections to Warlock from the web browser using WebSocket clients.
All of this will allow for fall-back to the current method which uses long-polling HTTP connections.
WebSockets support is now completed and working perfectly. Now it's just a matter of adding back the legacy support using the /warlock/listen endpoint and long polling.
At this point I'm not sure whether to have this continue to connect via Apache, or to support connection via HTTP long polling directly to Warlock. There are advantages and disadvantages of both.
It is decided... I'm going to implement both, but in two stages.
Everything is done! WebSockets is now the default protocol and is used when the application communicates with Warlock. It is also used by browsers that support it. If websockets is disabled or the browser does not support it then the connection falls back to legacy (long-polling) mode. Long polling can also be manually selected as well if needed by setting warlock.useWebSockets = false before calling subscribe().
Services have also been updated and now allow for two way communication and full signalling support. The Warlock control panel has also been updated and includes RRD graphs, better signalling support and service control.
Status changed to closed