users@tyrus.java.net

Concurrency issues

From: Mark Thornton <mthornton_at_optrak.com>
Date: Sat, 8 Mar 2014 08:59:33 +0000

I am using a number of web socket providers (tyrus, jetty and tomcat) and
am looking at what behaviour is actually guaranteed.

I had expected that messages (@onMessage) would be delivered in order, but
have discovered that in Jetty at least this isn't true when a stream
decoder (Decoder.TextStream or Decoder.BinaryStream) is used. Note that
this is with an instance per peer (and in fact my tests only have one peer).

Another (related) surprise was that such stream decoders may be invoked
concurrently. The standard seems to guarantee that doesn't apply for
Encoder's (though again I'm not sure that is true in Jetty).

So, my question is would Tyrus users have been surprised by such behaviour?

Mark Thornton