Hi all,
I just want to report that I managed to create a websocket storage for Batman.
It is on early stage but already works fine with both mock websockets and real websockets (with real websockets tested only in Chrome).
I have also a demo with real websockets (chat application with Scala Play as backend, although every backend may be used) but I need to prepare it for publishing (I am rather busy now, so I doubt that have time to do it this week)
What has already been done:
1) Socket wrapper class that uses Websockets (or MockSocket for testing) underneath and does a some work with multiplexing, routing etc.
2) SocketEvent class for socket events with helpers
3) Channel class. As it is wise to use only one websocket connection for each user I implemented so called multiplexing (
http://en.wikipedia.org/wiki/Multiplexing ) where you can create a lot of logical channels from one socket and use them to exchange info with models.
4) Routing class (just started) that is used to route messages between various logical Channels.
5) MockSocket class for testing and some tests (look at test folder)
6) Socket storage itself that supports all basic operations (read, create,save, read) as well as push notifications (when servers push info to client) that are specific for websockets. In the same time they are not well tested (there are tests in test folder as well as MockData in demo projects) and I do not like how I connected it to Batman's model ###I did it in a bit 'dirty way' as I had to figure out myself how Batman internal classes work. They are not well documented and Batmans google group is inactive, for some questions you may wait for a response for ages :(( ###
7) Demo application itself
In the same time the code is on early stage (so bugs happen), a lot of work should be done with testing, bugfixing and documentation before I will make a pull request to batman repo.