640 Commits

Author SHA1 Message Date
Kevin Roark
27dada65b9 distinction between ACK and BINARY_ACK 2014-05-30 18:42:23 -07:00
Tony Kovanen
ee8d0fbae0 Fix namespace iterator in disconnect 2014-05-31 02:25:28 +03:00
Tony Kovanen
10adcb089e Added socket.handshake BC object 2014-05-24 17:02:47 +03:00
Tony Kovanen
f830899e39 Added backwards compatible settability of engine.io maxHttpBufferSize
Updated readme
2014-04-12 12:02:52 +03:00
Tony Kovanen
463d7a16a1 Moved the origins checking callback outside the origins getter/setter function. 2014-04-11 19:39:10 +03:00
Tony Kovanen
e9928b2b1d Switched to async allowRequest callback in engine.io for setting the allowed origins 2014-04-10 21:02:20 +03:00
Tony Kovanen
d33553a4bd Added support for setting allowed origins 2014-04-09 22:34:53 +03:00
Tony Kovanen
656047536a The set function in server can be used to set some attributes for backwards compatibility 2014-03-26 00:04:22 +02:00
Guillermo Rauch
44a79f9cee server: make Server#adapter work after construction 2014-03-07 18:33:36 -03:00
Guillermo Rauch
81e8a0c3a5 added support for volatile packets 2014-03-07 04:09:43 -06:00
Guillermo Rauch
adffabeee3 style 2014-03-07 03:41:22 -06:00
Guillermo Rauch
79dd06a767 socket: fix flags api state 2014-03-07 03:32:27 -06:00
Guillermo Rauch
8df80ee91c move adapter out 2014-03-06 22:49:38 -06:00
Kevin Roark
c2bf0ea700 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.
2014-03-02 22:15:16 -05:00
Kevin Roark
fc34c7d7a4 Updated protocol-facing code to reflect newest parser
Socket.io-parser now has a class-based Encoder and Decoder scheme,
so client.js was changed appropriately.

The main difference is that most of the logic for interpreting packets
is now isolated to parser, and client receives a 'decoded' event when
parser has a reconstructed packet ready to go.
2014-02-27 17:54:02 -05:00
Kevin Roark
449c28ce1c Updated protocol-facing code for new binary protocol
This is a squash of four boring commits. The gist is that client.js
encoding and decoding stuff was updated to take an array of encoded packets
to write, and to handle sequences of binary packets to decode. There was
also merging done with upstream. All tests are passing.
2014-02-26 13:45:47 -05:00
Kevin Roark
d21b1f36a3 fixed the has-binary-data dependency 2014-02-21 17:10:53 -05:00
Kevin Roark
beab053123 anonymous function style correct 2014-02-19 17:57:59 -05:00
Kevin Roark
745ee03102 Added binary support to socket.io
This is a squash of about 25 commits, and here is a summary:

adamreis added initial binary test with the doge image.

kevin-roark updated binary tests and wrote some binary encoding protocol.

kevin-roark replaced the custom binary encoding with msgpack because we
have to handle arbitrary json that contains binary.

adamreis added some 'crazy' tests for emmiting and receiving events with
several types of data.

kevin-roark updated client.js to use socket.io-protocol's async encoding

Did a bunch of upstream merging.
2014-02-19 13:46:39 -05:00
Naoyuki Kanezawa
a3e1b0658f middlewares of main namespace should be called first 2014-02-04 04:00:24 +09:00
Seiya Konno
3efcd52674 index: remove send dep 2014-01-16 03:18:39 +09:00
Guillermo Rauch
2b1a5afe6c index: simplify and speed up client serving 2014-01-10 11:46:45 -03:00
Guillermo Rauch
48936231ea index: add support for string port numbers 2013-12-26 21:30:33 -03:00
Guillermo Rauch
2b5183b369 socket: revert onclose reason 2013-12-25 13:15:18 -03:00
Guillermo Rauch
14c71c2e72 socket: fix onclose reason 2013-12-25 13:13:02 -03:00
Guillermo Rauch
83208b6e11 socket: add conn, client, request getters 2013-12-24 21:36:48 -03:00
Guillermo Rauch
7b2a71ac4f server: add listen 2013-12-24 20:49:21 -03:00
Guillermo Rauch
da844159d9 namespace: jshint friendly usage of reserved keyword for backwards-compatibility 2013-12-24 20:10:16 -03:00
Guillermo Rauch
ecca4ee738 use serveClient in favor of static for broader jshint compliance 2013-12-24 20:00:46 -03:00
Guillermo Rauch
d31aafa5fd socket: fix style 2013-12-24 19:56:10 -03:00
Guillermo Rauch
c545e3b963 lib: fix style 2013-12-24 19:56:01 -03:00
Guillermo Rauch
af66e5df4e client: fix style 2013-12-24 19:55:52 -03:00
Guillermo Rauch
a86994f693 index: syntax 2013-12-24 19:51:53 -03:00
Guillermo Rauch
5f843feb90 namespace: make sure not to fire connection if underlying client closed after next is called from a middleware 2012-12-24 19:50:25 -03:00
Guillermo Rauch
0881dfbdce socket: rename joined to rooms 2012-12-24 15:07:04 -03:00
Guillermo Rauch
67f7d5749b adapter: initial memory impl 2012-12-23 23:23:05 -03:00
Guillermo Rauch
95d8e7531c socket: keep track of socket in connected hash 2012-12-23 23:21:50 -03:00
Guillermo Rauch
2e71357221 socket: added leaveAll 2012-12-23 23:21:37 -03:00
Guillermo Rauch
ef96e3b07f socket: added leave 2012-12-23 23:21:18 -03:00
Guillermo Rauch
6046c385b9 socket: added join 2012-12-23 23:21:07 -03:00
Guillermo Rauch
e8d11924aa socket: added in 2012-12-23 23:20:58 -03:00
Guillermo Rauch
eb0213882f socket: fix emit 2012-12-23 23:20:46 -03:00
Guillermo Rauch
de8e746959 socket: rooms and flags are now hashes 2012-12-23 23:20:26 -03:00
Guillermo Rauch
dc173330e5 socket: fix flags 2012-12-23 23:20:13 -03:00
Guillermo Rauch
d65635d212 socket: rename rooms to joined 2012-12-23 23:20:03 -03:00
Guillermo Rauch
dd0fd539e6 namespace: fix emit 2012-12-23 23:19:05 -03:00
Guillermo Rauch
5d4f90de47 namespace: make in able to track multiple rooms 2012-12-23 23:18:48 -03:00
Guillermo Rauch
59c8c34ceb namespace: fix flags 2012-12-23 23:18:38 -03:00
Guillermo Rauch
bcfec6df76 namespace: added connected hash 2012-12-23 23:18:26 -03:00
Guillermo Rauch
dbba592dfa namespace: implement own flags 2012-12-23 23:18:14 -03:00