Commit Graph

247 Commits

Author SHA1 Message Date
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
Chris Boden
ad258e6eaa Socket Buffering
Server now buffers incoming messages until it (thinks it) receives the full message.
Slight tweak of HyBi-10: spacing, FIN indicator, continuation frame recognition
Sockets close() if container is destroyed
2011-11-10 20:07:02 -05:00
Chris Boden
bf0787b7cd Removed Logging
Removed logging - use Decorator as replacement (https://raw.github.com/cboden/RatchetApps/master/lib/RatchetApps/Logger.php)
2011-11-10 10:49:23 -05:00
Chris Boden
cf3ba7c4ad Bug fixes
Ratchet Exception now accepts SocketInterface for better troubleshooting
WebSocket protocol calls onOpen on child app after handshake
Misc little bugs found
2011-11-09 10:55:45 -05:00
Chris Boden
c8a0911452 API Documentation 2011-11-08 12:20:18 -05:00
Chris Boden
15ec375405 Closure
onClose hook is triggered upon is CloseConnection command (server side) now.  Allowing applications to handle any final executions before the connection is closed.
Updated some API documentation.
2011-11-08 11:04:30 -05:00
Chris Boden
9a35690e98 onClose bug fix
Fixed a bug where WebSocket::onClose could have a missed lookup from closing too soon
2011-11-08 09:46:48 -05:00