Hi,

This weekend I've been playing with Dan's Simple Push Server implementation ( https://github.com/danbev/aerogear-simplepush-server/ ) and I started to write a vert.x implementation of the server.

But ... why ? 

*  By nature, vert.x is meant for asynch applications and Simple Push was a perfect fit.

* It can easily scale just by running more verticle instances (and soon deployable on openshift) 

* Showing how Dan's server can be used as "library", indeed the vert.x implementation consist just in one script, a verticle, relying on the protocol jar and the server impl jar.

*  Removing boiler plate code, vert.x APIs wrap a lot of Netty's logic. Basically, the script replace the Netty package of the server implementation https://github.com/danbev/aerogear-simplepush-server/tree/master/server/src/main/java/org/jboss/aerogear/simplepush/server/netty

* It's fun and written in Groovy (and because it's vertx, it would be easy to port it to Java, JavaScript or Python, we are brolyglot ! )

So, it's really early/alpha work, a lot of stuff is missing right now but if there is interest, we could add these (security, scheduled "cleaner" verticle ...).

You can find it here https://github.com/sebastienblanc/aerogear-simplepush-server/tree/verticle/verticle and use the websocket demo page of Pushee, just as for the server version. Instructions are included in the readme.