422dfd1767
Add a new program, loadtest, that runs a requested number of client sessions in parallel to a loolwsd server. A client session loads one of a list of test documents, and does some operations on it. Move the getTokenInteger() and getTokenString() functions out from LOOLSession into a new namespace LOOLProtocol, as they are neeeded also in the loadtest program. Add, also in LOOLProtocol, functions to parse some of the messages from the server. (In general that is done in client JavaScript code, of course; only for testing purposes needed in C++ code.) |
||
---|---|---|
.. | ||
.gitignore | ||
AUTHORS | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
LoadTest.cpp | ||
LoadTest.hpp | ||
LOOLProtocol.cpp | ||
LOOLProtocol.hpp | ||
LOOLSession.cpp | ||
LOOLSession.hpp | ||
LOOLWSD.cpp | ||
LOOLWSD.hpp | ||
Makefile.am | ||
MigratorySocket.cpp | ||
MigratorySocket.hpp | ||
MigratorySocketTransport.cpp | ||
MigratorySocketTransport.hpp | ||
NEWS | ||
protocol.txt | ||
README | ||
socketpair.c | ||
SocketTransportTest.cpp | ||
TileCache.cpp | ||
TileCache.hpp | ||
Util.cpp | ||
Util.hpp |
LibreOffice On-Line WebSocket server See protocol.txt for a description of the protocol to be used over the websocket. Uses libpng and the Poco library, from http://pocoproject.org/index.html. Build it with ./configure --prefix=/opt/poco && make install. Probably is available packaged in some distros At least I like the Poco library. But if it is not acceptable for some reason, please scream quickly, before too much code that uses Poco has been written... I found Poco while looking for code to do the WebSocket handshake and marshalling. But that functionality is just a small part of what Poco does. This uses autofoo so build like this: autoreconf automake --add-missing ./configure --enable-debug --enable-silent-rules --with-lokit-path=<...>/include --with-poco-includes=<..>./include --with-poco-libs=<...>/lib make For Windows, a proper VS2013 project is needed. See SOW for the directions of further work. Also there is unconditional debugging output etc. Run loolwsd for instance like this to test: (echo load foo.odt; echo tile width=500 height=500 tileposx=0 tileposy=0 tilewidth=10000 tileheight=10000; sleep 10) | ./loolwsd --lopath=<...>/instdir/program --test The handling of termination is a bit fragile, occasionally it dumps core somewhere in LO code when quitting. Don't be scared.