From d832908d2b110c6a7d51d54b5141ec3dd71d3f2c Mon Sep 17 00:00:00 2001 From: Gary Burd Date: Tue, 3 Jun 2014 14:47:02 -0700 Subject: [PATCH] Add note about Chrome message fragmentation to readme --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2a5ab3a..2c62937 100644 --- a/README.md +++ b/README.md @@ -36,23 +36,24 @@ subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn RFC 6455 Features Passes Autobahn Test SuiteYesNo -Receive fragmented messageYesNo +Receive fragmented messageYesNo, see note 1 Send close messageYesNo Send pings and receive pongsYesNo Get the type of a received data messageYesYes, see note 2 Other Features Limit size of received messageYesNo -Read message using io.ReaderYesNo, see note 1 -Write message using io.WriteCloserYesNo, see note 1 -Encode, decode JSON messageYesYes +Read message using io.ReaderYesNo, see note 3 +Write message using io.WriteCloserYesNo, see note 3 Notes: -1. The go.net io.Reader and io.Writer operate across WebSocket frame boundaries. - Read returns when the input buffer is full or a frame boundary is - encountered, Each call to Write sends a single frame message. The Gorilla - io.Reader and io.WriteCloser operate on a single WebSocket message. +1. Chrome's [new WebSocket implementation](http://www.ietf.org/mail-archive/web/hybi/current/msg10503.html) fragments large messages. 2. The application can get the type of a received data message by implementing a [Codec marshal](http://godoc.org/code.google.com/p/go.net/websocket#Codec.Marshal) function. +3. The go.net io.Reader and io.Writer operate across WebSocket frame boundaries. + Read returns when the input buffer is full or a frame boundary is + encountered, Each call to Write sends a single frame message. The Gorilla + io.Reader and io.WriteCloser operate on a single WebSocket message. +