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

Reply via email to