487 Commits

Author SHA1 Message Date
Arnout Kazemier
8abe712294 Passes test suite 2011-06-28 21:41:46 +02:00
Guillermo Rauch
df21bea4df Fixed store references 2011-06-28 16:32:40 -03:00
Guillermo Rauch
24aef9e40b Merge branch 'master' of github.com:LearnBoost/Socket.IO-node 2011-06-28 15:50:19 -03:00
Guillermo Rauch
a00ce7eee6 Fix for client side namespaces. 2011-06-28 15:49:48 -03:00
Guillermo Rauch
17dd94e3c9 Merge pull request #300 from 3rd-Eden/static.write
Create a new branch for fixing #287
2011-06-28 11:45:40 -07:00
Arnout Kazemier
78b546e185 Incorporated feedback from @guille 2011-06-28 20:37:58 +02:00
Arnout Kazemier
e7deb32a6f Create a new branch for fixing #287 2011-06-28 20:23:13 +02:00
Guillermo Rauch
fb79657476 Added SocketNamespace#clients 2011-06-28 13:33:01 -03:00
Guillermo Rauch
f2212f6962 Make handshake data extensible 2011-06-28 09:27:07 -03:00
Guillermo Rauch
6b6f17b098 Added handshakeData#address
Added handshakeData#secure
2011-06-28 08:29:00 -03:00
Guillermo Rauch
2a1b2bd37e Added Socket#handshake data getter. 2011-06-28 07:37:15 -03:00
Guillermo Rauch
b58c2e4afe Added handshake data normalizer function.
Changed; Make sure we store the `handshake data` in the hash of connected clients.
2011-06-28 07:36:35 -03:00
Guillermo Rauch
a2f8fb4970 Implemented RedisStore.Client#get and RedisStore.Client#set 2011-06-27 16:21:32 -03:00
Guillermo Rauch
a4ef10d6a2 Added missing redis require. 2011-06-27 16:14:47 -03:00
Guillermo Rauch
91e43064f3 Added Redis store.
- Simply leverages pub/sub for nodes communication
  - Makes sure own node doesn't consume its own messages
  - Optionally uses msgpack to encode data for higher speed than JSON
  - Opens two connections per node (one in pub/sub mode, one for normal redis)
2011-06-27 15:55:33 -03:00
Guillermo Rauch
c9d87ebb98 Fixed xhr polling transport name 2011-06-27 15:51:44 -03:00
Guillermo Rauch
4a591f191f Fixed xhr polling constructor to take request as parameter 2011-06-27 15:51:26 -03:00
Guillermo Rauch
779816ded7 Added req to websocket transport constructor. 2011-06-27 15:50:46 -03:00
Guillermo Rauch
2b90edb3a2 Added req parameter to jsonp-polling constructor. 2011-06-27 15:50:24 -03:00
Guillermo Rauch
a99016df79 Make sure to take request as parameter in the http constructor 2011-06-27 15:50:08 -03:00
Guillermo Rauch
78c7a55ce4 Make sure to take request as parameter in the polling constructor 2011-06-27 15:49:37 -03:00
Guillermo Rauch
3fbce85315 Make sure to take request as parameter in the htmlfile constructor 2011-06-27 15:49:13 -03:00
Guillermo Rauch
9aa5320730 Fixed Flashsocket constructor 2011-06-27 15:48:20 -03:00
Guillermo Rauch
2fb28c8843 Removed Transport#subscribe and Transport#unsubscribe 2011-06-27 15:47:55 -03:00
Guillermo Rauch
767ca4f100 Fixed .end signature 2011-06-27 15:47:43 -03:00
Guillermo Rauch
733569ae68 Added Transport#discard. Mostly useful for when request/response cycles are load
balanced into different nodes.
2011-06-27 15:47:14 -03:00
Guillermo Rauch
f736302b97 Refactored Transport#end
Removed concept of transport pausing as we no longer have async buffers.
2011-06-27 15:46:43 -03:00
Guillermo Rauch
7bfcf54f90 Publish transport close event. 2011-06-27 15:45:58 -03:00
Guillermo Rauch
fa5ef9ff2d Removed forced parameter from .end call from disconnect 2011-06-27 15:45:37 -03:00
Guillermo Rauch
df457440fd Refactored onMessage to leverage subscriptions 2011-06-27 15:45:18 -03:00
Guillermo Rauch
375cbf49de Important fix for hearbeats 2011-06-27 15:45:09 -03:00
Guillermo Rauch
2c66814b82 Applied new .end signature 2011-06-27 15:44:50 -03:00
Guillermo Rauch
2a4e4e1300 Added handler for dispatch subscription 2011-06-27 15:44:38 -03:00
Guillermo Rauch
6f12de98fc Added handler for heartbeat clear subscription 2011-06-27 15:44:28 -03:00
Guillermo Rauch
73ea4dd13f Removed the .end method to disregard whether it was forced or not 2011-06-27 15:43:46 -03:00
Guillermo Rauch
772afe897d Refactored Transport to leverage subscriptions. 2011-06-27 15:43:24 -03:00
Guillermo Rauch
0b75d09090 Refactored Memory.Client 2011-06-27 15:42:49 -03:00
Guillermo Rauch
95e787dcc5 Removed all transport-specific methods from Memory store
Added publish/subscribe placeholders that basically do nothing.
2011-06-27 15:40:32 -03:00
Guillermo Rauch
5342dd6d76 Refactored Socket
- initialize options in constructor
  - inherit from EventEmitter always
  - added generic Socket#client
2011-06-27 15:37:30 -03:00
Guillermo Rauch
195e227393 Refactored Socket#disconnect to intelligently decide whether the disconnection has
to be forced or just destroy the storage, so that a re-opening of the transport is
not possible.
2011-06-27 15:36:20 -03:00
Guillermo Rauch
c28a85e520 Refacotred Socket#set and Socket#get 2011-06-27 15:36:08 -03:00
Guillermo Rauch
bf8b1e6879 Added Socket#dispatch, in charge of intelligently determining whether the packet
has to be relied to other nodes to handle, handle it internally, or discarding it
if it's volatile from the local buffer provided the transport is not open.
2011-06-27 15:35:09 -03:00
Guillermo Rauch
240cf3fde6 Leverage Socket#dispatch to dispatch a message. 2011-06-27 15:34:46 -03:00
Guillermo Rauch
d40cde8503 Refactored Socket#leave 2011-06-27 15:34:31 -03:00
Guillermo Rauch
db9d81971d Refactored Socket#join 2011-06-27 15:34:20 -03:00
Guillermo Rauch
54d2c0111d Changed; Socket#store now returns the client store. 2011-06-27 15:32:44 -03:00
Guillermo Rauch
cfd5315b1e Removed disconnect subscription per-socket (added unnecessary overhead with multiple
namespaces).
2011-06-27 15:32:19 -03:00
Guillermo Rauch
cbc12ecdcf Make sure to leave rooms upon disconnection of a namespace (fixes some bug). 2011-06-27 15:31:44 -03:00
Guillermo Rauch
9aa650e430 Removed the join callback, since it's not necessary (TCP based pub/sub guarantees
proper total ordering).
2011-06-27 15:30:47 -03:00
Guillermo Rauch
f06fefab14 Added handleDisconnect method to emit the disconnect event when the socket is
disconnected due to network reasons, making sure we don't emit it on non-connected
namespaces.
2011-06-27 15:30:02 -03:00