Commit Graph

210 Commits

Author SHA1 Message Date
Chris Boden
83f49f1f55 Ugly Hacks
Added some ugly hacks to fix Hixie:
* Hixie now should work no matter how small the I/O buffer is
* Hixie now works with the Guzzle library*
2012-01-07 00:40:31 -05:00
Chris Boden
a1c6ee163f Guzzle Submodule
Added Guzzle as a submodule
2012-01-06 22:34:01 -05:00
Chris Boden
f766278a14 Passing Tests
Finally able to do incomplete tests.  Ratchet passes (finally).
2012-01-06 22:00:35 -05:00
Chris Boden
e20a52dacc Guzzle Typecasting
Updated all WebSocket protocol version to accept a Guzzle Request object
2012-01-06 16:43:02 -05:00
Chris Boden
08fa8a948f Guzzle
Implementing Guzzle to parse incoming handshake request
Functional on RFC version
2012-01-06 16:18:12 -05:00
Chris Boden
ed3cfc16da Loosened Dependencies
Removed construct dependency from ApplicationInterface - changing full decorator to changeable stack.
2012-01-04 11:22:42 -07:00
Chris Boden
d37237c274 AppInterface Method Removal
Removed the construct AppInterface requirement in the construct to let applications branch out easier.  Each application can now specify its own dependancies rather than trying to rabbit hole apps.
2012-01-03 12:22:02 -07:00
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