Commit Graph

16 Commits

Author SHA1 Message Date
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
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
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
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
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
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
7534023708 Documentation 2011-11-15 11:08:38 -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
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
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