Hi, I haven't communicated with you yet, but I am from the same team as Petr and Jonathan. This is a list of what we have done. We need to clean the code, but we will send a patch tomorrow.
So far we started with incoming communation, sending was not done yet. We created two levels of abstraction of frames: 1) WebSocketFrame, which is responsible for handling bits and bytes, translation to/from fields, detects protocol errors (detectable without any further context) //per frame 2) represented by StreamInbound - messege-wise logic - handles fragmentation, interprets fields, detects protocol errors based on message context //per message We actually implemented fragmentation, detecting of control frames, control frames inside fragmented messages. Btw. we decided to signal end of a message via a method call rather than calling on...Data with empty stream/reader. Still TODO about receiveing: 1) protocol errors 2) handling control frames (connection state needed => third level of abstraction //per connection) 3) large messages (this should be minor refactoring) 4) further improvements of WebSocketFrame, I think this class will be changing a lot Application point of view: EchoStream shows some ideas on streaming approach and multiple theads. We plant to do next: large messages, handling of control frames (this will unevitable touch sending), some "facade" API (since extending two classes and using third one is a pain) Slavka --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org