Commit Graph

753 Commits

Author SHA1 Message Date
Chris Boden
c56ba3b2f1 Init WAMP
Starting work on the WebSocket Application Messaging Protocol (WAMP).
JSON messages, supports pub/sub and RPC via HTTP endpoints for website integration
2011-12-18 15:32:11 -05:00
Chris Boden
8d1b2548e7 Unit test doc
Attempting to finish off the two incomplete unit tests but couldn't because of a PECL bug.
2011-12-18 14:36:56 -05:00
Chris Boden
feb6c5ab57 URI verification
Added code in handshake to verify the URI
Updated unit testing to reflect this
2011-12-17 15:46:44 -05:00
Chris Boden
5c5f9e558f Mask unit test 2011-12-05 22:32:33 -05:00
Chris Boden
788b1f66cc RFC handshake verification + unit tests
Went through section 4 of RFC 6455 making sure incoming handshake was valid with accompanying unit tests
2011-12-02 23:58:08 -05:00
Chris Boden
d85ea57ece Merge branch 'refs/heads/master' into rfc 2011-12-02 19:48:19 -05:00
Chris Boden
3ec97f6442 Merge branch 'refs/heads/master' into unittests 2011-12-02 19:47:38 -05:00
Chris Boden
160291a23f Conn lambda test
Updated Connection set/get unit test to accept objects
2011-12-02 16:45:34 -05:00
Chris Boden
1f608f1d3a Stubs for RFC protocol version 2011-11-30 10:08:11 -05:00
Chris Boden
bd954fae5d Fixed memory leak
High number of connections caused memory issues, was parsing every outgoing message even though it was the same for many clients
2011-11-25 16:49:56 -05:00
Chris Boden
28bccc4c07 Typo
Fixed spelling error in docs
2011-11-25 12:01:04 -05:00
Chris Boden
e6012d1685 No Mask on Frame
HyBi spec says server shouldn't mask payloads when delivering to client - now allow user to specify to mask or not; WebSocket by default will not mask, Framing on its own will
2011-11-25 10:42:35 -05:00
Chris Boden
4de9caaa78 Bug Fixes
Fixed bug where WebSocket protocols were being created for every connection
Enabled Garbage Collection in server
2011-11-25 09:41:11 -05:00
Chris Boden
75afa73826 Unit tests
Socket interface update
Server testing
Connection setting
2011-11-24 21:53:04 -05:00
Chris Boden
4129036356 Merge branch 'refs/heads/master' into unittests 2011-11-24 21:03:19 -05:00
Chris Boden
d75113ec5e WebSocket versions
Allowed user to disable WebSocket versions
Change how versions are detected, responsibility is on the concrete version class instead of factory
2011-11-24 20:59:19 -05:00
Chris Boden
4da707b653 Setting non-block on accepted sockets
Hopefully fixing a bug
2011-11-23 10:16:45 -05:00
Chris Boden
edec9aea85 Dev Bug Fix
Fixed the stupidest development testing bug I've ever left in...wow
2011-11-22 15:15:02 -05:00
Chris Boden
cc507e821e Documentation
A bunch of API updates
Added read() to SocketInterface
Return self for fluid interface in Server
2011-11-22 11:33:41 -05:00
Chris Boden
c5597edd55 Bug fix
Fixed Socket Exception bug, forgot to pass context
2011-11-21 11:13:41 -05:00
Chris Boden
62962bb27f Removed legacy code
Removed all traces of ObserverInterface
Added getRemoteAddress method to socket
2011-11-21 11:02:04 -05:00
Chris Boden
84484f6603 Docs
Updated details in readme
2011-11-21 10:51:28 -05:00
Chris Boden
0670568789 Unit Tests and fixes
Set some incomplete tests to pass
Updated an interface bug found from unit tests
2011-11-20 22:36:14 -05:00
Chris Boden
1b01582ab9 SocketInterface
Added unix socket methods to interface, replaced __call/call_user_func calls with concrete methods
2011-11-20 20:38:20 -05:00
Chris Boden
02ffd6f782 Interface change
Changed onRecv to onMessage in Interface to match a standard api
Removed Frame::__toString methods - could imply different return expectation
2011-11-20 14:53:13 -05:00
Chris Boden
923b936e42 Refactoring
Removed WebSocket unframing code that was refactored in previous commits
Added ability to configure buffer size on socket server
2011-11-19 17:18:48 -05:00
Chris Boden
7e2d933f53 Docs
Removed use of Factory as it's a bit of a black-box w/ no docs on basic demo page
2011-11-18 20:03:22 -05:00
Chris Boden
5653f01f2f Message buffering & Refactoring
Refactored unframe() methods into Message/Frame classes (per protocol version)
Change onRecv of WebSocket App to use new interfaces to test statuses, resulting in reuniting a message fragmented by TCP
Wrote unit test covering most of new HyBi10 Frame class
2011-11-18 16:37:32 -05:00
Chris Boden
1355e4400b Buffer headers
WebSocket buffers initial header handshake until it thinks it's complete (TCP was buffering tiny amounts)
2011-11-15 12:02:57 -05:00
Chris Boden
e65ecde592 Moved messaging interfaces 2011-11-15 11:37:29 -05:00
Chris Boden
1e5898c92a Merge branch 'refs/heads/frag' into dev 2011-11-15 11:31:26 -05:00
Chris Boden
7534023708 Documentation 2011-11-15 11:08:38 -05:00
Chris Boden
9d36a37bf5 readme 2011-11-15 08:57:20 -05:00
Chris Boden
2720864d79 readme 2011-11-15 08:54:36 -05:00
Chris Boden
7c033ee2cc Updated readme 2011-11-15 08:53:28 -05:00
Chris Boden
08db1e6fac Minor Refactoring 2011-11-15 08:22:01 -05:00
Chris Boden
ec607090d6 Wrapped WebSocket connection data in object
Trying to prevent accidental parameter clobbering
2011-11-14 17:06:21 -05:00
Chris Boden
3363c08f36 Cleanup
Removed reference to remaining ObservableInterface's and SocketInterface's
2011-11-14 16:51:16 -05:00
Chris Boden
09a2fb8f81 Server app cleanup 2011-11-14 16:43:52 -05:00
Chris Boden
b641887b0e WebSocket declutter
Removed Client class and lookup from WebSocket app.
WebSocket doesn't need a collection of connections as it's a messaging intermediary.
Data is saved/attached to the specific connection as needed and leaves no state behind.
2011-11-14 16:18:09 -05:00
Chris Boden
f3c7dd4d7f Socket Proxy
Replaced passing SocketInterface everywhere with a proxy object
2011-11-14 15:56:30 -05:00
Chris Boden
551888aa3c WebSocket Interface update 2011-11-13 14:10:18 -05:00
Chris Boden
e412f574e7 Fixed unit test coverage 2011-11-13 13:48:49 -05:00
Chris Boden
c6a91692f7 Interface Cleanup
Separated Observable interface from Decorator interface, also separated config method to its own interface
Cleaned up unit tests to reflect interface changes
2011-11-13 13:37:42 -05:00
Chris Boden
47b7110dc1 Namespaces
Fixed all the namespaces to match new folder structure
2011-11-12 20:51:54 -05:00
Chris Boden
5386b4c066 Folder restructure
Just reorganized the folders.  Namespacing broken, unit tests broken, nothing works.
2011-11-12 14:29:10 -05:00
Chris Boden
118923e784 Messaging Interfaces
Added Messaging and Framing Interfaces
2011-11-12 13:51:49 -05:00
Chris Boden
021a185753 init fragmentation
Calculated the intended message length of HyBi-10 frame
Commented out socket recv buffer
Added onError to demonstration
2011-11-11 16:37:53 -05:00
Chris Boden
d9283d9593 Updated Docs 2011-11-10 22:45:18 -05:00
Chris Boden
32d9dda703 Stability
Added onError hook to observable interface
Handling errors in proper places, no longer a catchall
Temporarily throwing errors on all non-message HyBi-10 frames ("fixes" FF breaking everything)
2011-11-10 21:23:31 -05:00