Ashod Nakashian
16605b9289
Revert "loolwsd: canceltiles re-designed using tilecache instead of queue"
...
This reverts commit 571ff06906
.
Change-Id: Icf9caeafc640b815f64211f240cfdac8e91694a1
Reviewed-on: https://gerrit.libreoffice.org/28595
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 12:37:47 +00:00
Ashod Nakashian
77a693c353
Revert "loolwsd: remove tile queue and simplify tile response"
...
This reverts commit 59eaacd2f8
.
Change-Id: Ieba9bbaaa6406e3e685b46ce12a44a0766127815
Reviewed-on: https://gerrit.libreoffice.org/28594
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 12:37:38 +00:00
Ashod Nakashian
59eaacd2f8
loolwsd: remove tile queue and simplify tile response
...
Tile queue was used to process canceltiles commands.
Since those are handled by TileCache, there is no need
for queues and the threads that pump them.
But because these queues were also used to buffer between
WSD internals and clients, such that a slow client wouldn't
block WSD while sending back tiles, it is necessary
to reword that logic.
In subsequent commits that will change as well.
With this change not only do we save a thread per client,
but we also reduce latency of tile, and improve typing
responsiveness, by almost 3x or more! Latencies are
down to ~15ms from almost 50ms.
Change-Id: I9bb5856efed28caea9d4e6f94f77b093779e5241
Reviewed-on: https://gerrit.libreoffice.org/28575
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 03:59:31 +00:00
Tor Lillqvist
b7623d48d0
We should return true here
...
Fixes a regression introduced in
571ff06906
, where every loleaflet client
ran into an error, displayed as "We are sorry, this is an unexpected
connection error. Please try again."
Found by git bisecting.
2016-08-31 17:54:24 +03:00
Ashod Nakashian
571ff06906
loolwsd: canceltiles re-designed using tilecache instead of queue
...
Change-Id: I4b9ba91ee08bc9dd8d27df275e303f5517d9740c
Reviewed-on: https://gerrit.libreoffice.org/28526
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:44:56 +00:00
Pranav Kant
db5efae2b8
loolwsd: Handle user names with spaces; encode/decode properly
...
Change-Id: I209bbd63686db8112529a3442a13a6162ce14d60
Reviewed-on: https://gerrit.libreoffice.org/28484
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:46:09 +00:00
Pranav Kant
67444eeb80
loolwsd: Pass sessions' usernames to core
...
Change-Id: I8c81c02fafd2cb9d0048729401e082bb422e299b
Reviewed-on: https://gerrit.libreoffice.org/28481
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:45:37 +00:00
Ashod Nakashian
96934590a0
loolwsd: do not cache status since it has per-view info
...
Change-Id: Ia32383cffd7b489fe3124457897991555b918db6
Reviewed-on: https://gerrit.libreoffice.org/28117
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-15 03:03:47 +00:00
Ashod Nakashian
c304cbc95b
loolstress: trace session ID and child pid
...
Change-Id: Iac6b3dadedfcdec91db21a5e90eb3827705281d4
Reviewed-on: https://gerrit.libreoffice.org/27966
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-08 03:51:59 +00:00
Ashod Nakashian
026a22abc3
loolwsd: dump incoming commands
...
Change-Id: I3d77d0c645c0bdd7e9edfbc8d90d5df6cc1b927a
Reviewed-on: https://gerrit.libreoffice.org/27954
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-08 03:47:32 +00:00
Ashod Nakashian
ecd33e1b07
loolwsd: send json messages to the UI as text
...
Change-Id: Ie5712b4ebf4f01a6650f5f7c0df5197b5b9f9208
Reviewed-on: https://gerrit.libreoffice.org/27588
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-07-27 16:00:25 +00:00
Miklos Vajna
8054df543a
ClientSession: use std::move() where it avoids copying
2016-07-15 14:47:08 +02:00
Miklos Vajna
5523c48f3f
ClientSession: fix -Werror=shadow
2016-07-11 09:45:10 +02:00
Pranav Kant
62814d29cf
loolwsd: Introduce a readonly mode
...
Specified when websocket is initialized. Documents once
opened in readonly mode cannot edit throughout the life of the session.
This is very much like present view mode except the ability to
change to edit mode.
Change-Id: I176e3bbf210c3383268d1a5b50dc17f0cbfb26b8
2016-07-11 11:24:16 +05:30
Pranav Kant
8bba9da761
Make new version string as a JSON string
...
... easy to differentiate on client side among various version
info parts, especially for LOKit version information.
Change-Id: I4ba18c60367fb9166462b535bc46953a82a8435d
2016-06-21 22:12:48 +05:30
Pranav Kant
b83ac269fa
loolwsd: Send LOKit version information to clients
...
Send as a response to 'loolclient' message received from the
client
Change-Id: I3d33f9fd087489aa9bf5a94f591ab04e208cbf13
2016-06-21 00:30:36 +05:30
Ashod Nakashian
114a6bc373
loolwsd: combined tile rendering
...
Tiles can be rendered in large batches and sent back
as combined payloads, all reduce latency and overhead
significantly.
Initial tests show a reduction in total latency by 2x.
This without sending tiles back to the client in combined
form, which will reduce latency further.
Change-Id: Iee06503f2a6c741fadb2c890266ea514c809c0dc
Reviewed-on: https://gerrit.libreoffice.org/25339
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-23 01:49:54 +00:00
Ashod Nakashian
fae850189d
loolwsd: include cleanup and organization
...
A source file (.cpp) must include its own header first.
This insures that the header is self-contained and
doesn't depend on arbitrary (and accidental) includes
before it to compile.
Furthermore, system headers should go next, followed by
C then C++ headers, then libraries (Poco, etc) and, finally,
project headers come last.
This makes sure that headers and included in the same dependency
order to avoid side-effects. For example, Poco should never rely on
anything from our project in the same way that a C header should
never rely on anything in C++, Poco, or project headers.
Also, includes ought to be sorted where possible, to improve
readability and avoid accidental duplicates (of which there
were a few).
Change-Id: I62cc1343e4a091d69195e37ed659dba20cfcb1ef
Reviewed-on: https://gerrit.libreoffice.org/25262
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-21 15:52:54 +00:00
Ashod Nakashian
81d7ccc2c3
loolwsd: handleInput returns socket send return
...
Change-Id: I9fb9fabad60993ef558803fb2d5cbfe8aa727f1d
Reviewed-on: https://gerrit.libreoffice.org/25241
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-21 03:33:08 +00:00
Ashod Nakashian
3cc295b7d2
loolwsd: remove thin wrapper
...
Change-Id: Id84a404aecd7f553665e65c1959dcca45309199e
Reviewed-on: https://gerrit.libreoffice.org/25240
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-21 03:29:51 +00:00
Ashod Nakashian
7f62bb54fd
loolwsd: unified forwardToPeer
...
Change-Id: Ib12626adad1ff3cf647d6a32f9b1eae35f794b2f
Reviewed-on: https://gerrit.libreoffice.org/25238
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-21 03:26:15 +00:00
Ashod Nakashian
46c5ce3041
loolwsd: remove unnecessary dispatchChild and simplify
...
Change-Id: I6edb5a51bc2d58b58f53f6689e9d37613fc508de
Reviewed-on: https://gerrit.libreoffice.org/25236
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-21 03:20:59 +00:00
Miklos Vajna
b0b9648e28
Remove unused 'using' decls
...
Change-Id: Ibdcf0a0fe2390712059e6e70c47bd60f6416c6be
2016-05-19 16:42:41 +02:00
Henry Castro
6c31bd8bca
loolwsd: log, rename to ClientSession
2016-05-17 18:33:37 -04:00
Ashod Nakashian
76991dd325
loolwsd: disable editlock in multiview
...
Change-Id: I4df2d8a321e160ce226c2e22aa754cd6e5b2c755
Reviewed-on: https://gerrit.libreoffice.org/25063
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 13:57:36 +00:00
Ashod Nakashian
7f767e7cf6
loolwsd: MasterProcessSession splitting: removed MasterProcessSession
...
Change-Id: If132e8787f6ed7fa21d235cc355d7a29395b3c4d
Reviewed-on: https://gerrit.libreoffice.org/25049
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:23:07 +00:00
Ashod Nakashian
d1d5cff3e3
loolwsd: MasterProcessSession splitting: moved forwarding and shutdown
...
Change-Id: I3c84d9be328e58263cac9c3b1b501ef91ea30170
Reviewed-on: https://gerrit.libreoffice.org/25048
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:22:41 +00:00
Ashod Nakashian
410123e2aa
loolwsd: MasterProcessSession splitting: moved dispatchChild
...
... and PrisonerSession ctor
Change-Id: I4c3707d71eb308ab739e5c264be1905453f9d719
Reviewed-on: https://gerrit.libreoffice.org/25047
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:22:10 +00:00
Ashod Nakashian
b2881306f1
loolwsd: MasterProcessSession splitting: moved input queue
...
Change-Id: Id1c2b0f76a96ca48905d354c02a96b35ba29fadc
Reviewed-on: https://gerrit.libreoffice.org/25046
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:21:44 +00:00
Ashod Nakashian
1e84102aae
loolwsd: MasterProcessSession splitting: move edit lock
...
Change-Id: I8339f28cb9ed0ed1a5b1f4cf38d6083450cb4fdc
Reviewed-on: https://gerrit.libreoffice.org/25045
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:19:18 +00:00
Ashod Nakashian
7b0da5ceae
loolwsd: MasterProcessSession splitting: moved ClientSession handlers
...
Change-Id: I1a660cd17027e1c7290882a301a15b77b3e4940f
Reviewed-on: https://gerrit.libreoffice.org/25042
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:15:59 +00:00
Ashod Nakashian
8af51d0270
loolwsd: MasterProcessSession splitting: moved loadDocument
...
Change-Id: Iaf32014ab5cbceb6ca5d443a85b0d03d6ccd9876
Reviewed-on: https://gerrit.libreoffice.org/25041
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:14:57 +00:00
Ashod Nakashian
2cecb66998
loolwsd: MasterProcessSession splitting: moved message handler
...
Change-Id: Ibc0c4f3f37213461a66fba7fb27a5996d0914776
Reviewed-on: https://gerrit.libreoffice.org/25040
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:14:06 +00:00
Ashod Nakashian
e5f76d46f4
loolwsd: MasterProcessSession splitting: edit lock handlers
...
Change-Id: Id3f961ea8da2689889e0d7810ec222d21132c7c6
Reviewed-on: https://gerrit.libreoffice.org/25039
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:13:41 +00:00
Ashod Nakashian
73f0e2a190
loolwsd: MasterProcessSession splitting into ClientSession and PrisonerSession
...
Change-Id: I29bcc5f791acf2313830e21d102e25f2232329d1
Reviewed-on: https://gerrit.libreoffice.org/25037
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-05-17 03:12:28 +00:00