Added binary support to broadcasting of events
lib/namespace.js previously was not considering whether an event had binary data and was giving all events parser.EVENT type -- now it uses the has-binary-data module to set the event type appropriately. Then, after this fix there was a problem with lib/adapter.js -- because socket.io-parser modifies the packet object in its encoding, the sockets after the 1st in a broadcast were not getting the correct data. To fix this, the data is encoded once in adapter, and then the encoded data is passed to each of the sockets. lib/socket.js and lib/client.js were updated to allow for the above. The .packet method of each now takes an optional second "preEncoded" parameter -- if this is true, then client skips the encoding and just writes the packet argument directly to engine. test/socket.io.js was updated to add two new tests that test multi-messaging of events with binary data.
K
Kevin Roark committed
c2bf0ea700ea8f77398e3e53668b505ce47c394e
Parent: 571f3a6