Commit graph

244 commits

Author SHA1 Message Date
Henry Castro
82b3b25d0a loolwsd: refactor lokit Document
+ Every lokit process acquire an unique URL document to open it
+ Every lokit process acquired with an URL document could open multiple view of the same URL document
+ Every lokit process acquire a new unique URL document if and only if no exists opened documents.
+ if a lokit process dies is an abnormal state, and it should take actions to recovery session document.
+ An initial lokit process with no acquire URL document is in waiting state.
2016-01-08 10:37:48 -04:00
Henry Castro
ab1a3a147e loolwsd: not necessary to find session
Every lokit instances has a unique URL, that could contain
multiple views.
2016-01-07 23:43:09 -04:00
Henry Castro
2c7b4490ec loolwsd: ensure to remove the connection of unloaded document 2016-01-07 23:24:40 -04:00
Henry Castro
b213464b3d loolwsd: ensure unique URL per lokit process 2016-01-07 14:55:11 -04:00
Ashod Nakashian
7f9485e318 loolwsd: jailId now static member
Change-Id: I7142038d421d642a3e9dfd3e1069c7401ec7db5c
Reviewed-on: https://gerrit.libreoffice.org/21183
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-07 05:56:25 +00:00
Ashod Nakashian
0b5bc5f244 loolwsd: random jailId dir created by WSD and renamed childId -> jailId
Change-Id: Ib5ce65c578c0c7fd3dbf81628906cd17728fb3ff
Reviewed-on: https://gerrit.libreoffice.org/21182
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-07 05:56:01 +00:00
Ashod Nakashian
7bf3fe843a loolwsd: more exception handling
Change-Id: I7ac694395e2c231565bd84a7cd7813498dba387f
Reviewed-on: https://gerrit.libreoffice.org/21163
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-06 14:30:46 +00:00
Ashod Nakashian
f9cfdd9021 loolwsd: reuse QueueHandler
Change-Id: I90dd0cc1457604d85ec82c98af9a457f44968b0d
Reviewed-on: https://gerrit.libreoffice.org/21161
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-06 14:24:58 +00:00
Ashod Nakashian
c3826587e1 loolwsd: moved QueueHandler into own file
Change-Id: I281a9bd12731340673cb66f1f2ac6a133cbe71d0
Reviewed-on: https://gerrit.libreoffice.org/21159
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-06 14:23:39 +00:00
Ashod Nakashian
fa2eccacfa loolwsd: fix page sharing between broker and lokit (aka forking)
Change-Id: I870d0291925e718e038f42b21d00ea744133db01
Reviewed-on: https://gerrit.libreoffice.org/21098
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:14:28 +00:00
Ashod Nakashian
53bff1f1ca loolwsd: fused setting the url and loading a document
Change-Id: Ia85fa5e5550c7cc8479e4a368cadc77198a30191
Reviewed-on: https://gerrit.libreoffice.org/21094
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:04:08 +00:00
Ashod Nakashian
c818ece721 loolwsd: document loading/unloading notifications
Change-Id: I435a4e7f89834bea854a492e487af2a686a6f650
Reviewed-on: https://gerrit.libreoffice.org/21093
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:03:02 +00:00
Ashod Nakashian
790fecacbb loolwsd: viewId now private
Change-Id: I307ff20cdaf517e96692d1b244f5bd1dd63015f3
Reviewed-on: https://gerrit.libreoffice.org/21092
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:01:57 +00:00
Ashod Nakashian
eeb91f6335 loolwsd: send eof to disconnect
Change-Id: I02ec901fd75671a3f4bf6be54f08dfdf6d157837
Reviewed-on: https://gerrit.libreoffice.org/21063
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:23:03 +00:00
Ashod Nakashian
17333608bc loolwsd: new Document class to manage the lifecycle of a document
Change-Id: I7390c05ce42668694efbf1d8cdce499a9aca579c
Reviewed-on: https://gerrit.libreoffice.org/21061
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:18:24 +00:00
Ashod Nakashian
f48d61d25d loolwsd: dropCapability moved to Capabilities.hpp
Change-Id: Id84d485b446040df1d5398341af2b0e8f300ed63
Reviewed-on: https://gerrit.libreoffice.org/21060
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:17:05 +00:00
Ashod Nakashian
0869cace37 loolwsd: consolidated TerminationFlag
Change-Id: Ic06b940f3b48888e4f398816e5ee45c0f49046e3
Reviewed-on: https://gerrit.libreoffice.org/21059
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:15:46 +00:00
Henry Castro
cc1861a6a8 loolwsd: define a constant pipe buffer size 2015-12-30 21:01:07 -04:00
Henry Castro
c38d1644ff loolwsd: simplify handle signals 2015-12-30 20:48:03 -04:00
Henry Castro
5986ce25ee loolwsd: log::debug destroy view
after debugging with multiple views, it is trhown uncaught exception
while destroying lokit document.

"terminate called after throwing an instance of 'com::sun::lang::DisposedException'"
2015-12-29 17:30:11 -04:00
Henry Castro
24c8386c42 loolwsd: wait to finish callback worker thread 2015-12-29 10:48:29 -04:00
Henry Castro
f947b64483 loolwsd: renamed prefix "lool" process
We use prefix loolwsd, loolbroker and loolkit to easy grep process search.
Also, run_lok_main is not a thread, it is main loop process.
2015-12-29 00:39:25 -04:00
Henry Castro
0c1e284c92 loolwsd: release lokit after destroy it
In order to avoid:

Error: "double free or corruption (fasttop)"

lokit cannot be deleted, instead it is used loKit->pClass->destroy
2015-12-29 00:23:18 -04:00
Henry Castro
db1d1ff935 loolwsd: loolkit handle signals 2015-12-28 23:18:49 -04:00
Ashod Nakashian
cf972fbed2 loolwsd: use full path when spawning loolkit
Change-Id: I9875fb7fbbc67915ed62785a3f3d1298a355f0a5
Reviewed-on: https://gerrit.libreoffice.org/20998
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 23:38:25 +00:00
Ashod Nakashian
6b997c2abf loolwsd: threadId -> sessionId in logs and identifiers
Change-Id: Ifbaea2fdded54da0d3528ae449efdbd7fe6d19c0
Reviewed-on: https://gerrit.libreoffice.org/20982
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:15:02 +00:00
Ashod Nakashian
3811abb40a loolwsd: replaced threadId with globally unique sessionId
Change-Id: I55b16d4baa1753bc67dcd72de13e7a516da27abe
Reviewed-on: https://gerrit.libreoffice.org/20981
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:14:15 +00:00
Ashod Nakashian
5780e311b7 loolwsd: childId type int -> string
Change-Id: I2aad12da4bb8e7d87866d251258fb44e2aad9a2b
Reviewed-on: https://gerrit.libreoffice.org/20980
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:12:57 +00:00
Ashod Nakashian
b2d124af93 loolwsd: proper handling of non-default client port number
Change-Id: I388f0ce0252c5f7889e77c4d85b4cf21d4a222b6
Reviewed-on: https://gerrit.libreoffice.org/20979
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:12:15 +00:00
Ashod Nakashian
d273057488 loolwsd: moved config values into common header
Change-Id: Ib88379e453f207a6a5e6223045a393c769082be4
Reviewed-on: https://gerrit.libreoffice.org/20978
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:09:50 +00:00
Ashod Nakashian
fe0c11333f loolwsd: thread lifecycle markers
Change-Id: I704e37e797224c9dbd024fcab3d8e917584be152
Reviewed-on: https://gerrit.libreoffice.org/20975
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:07:37 +00:00
Ashod Nakashian
2c5b02dec0 loolwsd: correct lokit document lifecycle
Change-Id: Id7fa6259022694efd519d08c05879d734b1b6717
Reviewed-on: https://gerrit.libreoffice.org/20972
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:06:04 +00:00
Ashod Nakashian
ab8c6e6661 loolwsd: use make_shared and emplace
Change-Id: I9110a03b69442f0f8a674eda6ab4cf20462557c1
Reviewed-on: https://gerrit.libreoffice.org/20951
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:59:50 +00:00
Ashod Nakashian
8fc1e3c65b loolwsd: better error handling and resilience
Change-Id: Ic0208ccb72cb35cb8f8b3c1f36b636dd3a467dc1
Reviewed-on: https://gerrit.libreoffice.org/20948
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:59:05 +00:00
Ashod Nakashian
3bd8361c89 loolwsd: more cleanups and logging
Change-Id: I23859849af2d7a3411bd4df57916b4166a17c3b5
Reviewed-on: https://gerrit.libreoffice.org/20946
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:57:47 +00:00
Ashod Nakashian
7053091c0e loolwsd: support for views
Change-Id: I9447d97612589efd0e85e30977b80ab720b81702
Reviewed-on: https://gerrit.libreoffice.org/20945
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:57:21 +00:00
Ashod Nakashian
da23160ed1 loolwsd: misc cleanups
Change-Id: I85cdd017ef5b483d34a2aa7e7a2b0c112cbf6e00
Reviewed-on: https://gerrit.libreoffice.org/20933
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:33:03 +00:00
Ashod Nakashian
c52a19c9bf loolwsd: Prevent CPU hogging when pipe breaks
Change-Id: Iec42dbb64354630911a2c555ad55fd6a905db9b8
Reviewed-on: https://gerrit.libreoffice.org/20932
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:32:48 +00:00
Ashod Nakashian
8464651655 loolwsd: Better logging
Color logging in console, tracing and streaming,
and converted cout to proper logging.

Change-Id: I515b8f8a40f8fa6763536b85c7632e3bb36673ee
Reviewed-on: https://gerrit.libreoffice.org/20931
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:32:33 +00:00
Ashod Nakashian
f8f7eb9ccc loolwsd: misc cleanups
Change-Id: I0e2f497c7527e18ec4524e0f52b920f1e30853fa
Reviewed-on: https://gerrit.libreoffice.org/20930
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:30:41 +00:00
Ashod Nakashian
f58ac9b33c loolwsd: logging cleanup and improvements
Change-Id: I7afa49ac7573efe768ceaad416da908134497107
Reviewed-on: https://gerrit.libreoffice.org/20929
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:30:20 +00:00
Henry Castro
9d7fbec138 loolwsd: Merged improved lifecycle prototype
Enabled the broker and kit processes.

Change-Id: I9afedbccac35732ffe846494cae8135d306e6311
Reviewed-on: https://gerrit.libreoffice.org/20907
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-23 17:23:40 +00:00
Ashod Nakashian
ea0ddcf738 loolwsd: Nominal logger and fixes
Nominal logging interface and a fix to using Poco
Application from LOOLKit, which is not a Poco App,
which caused core dump.

Logs now include process name.
Added logs to strategic places and some cleanups.

Change-Id: Ib7dcc4f1033dddf7c87cd2e786a91f5b482fb312
Reviewed-on: https://gerrit.libreoffice.org/20906
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-23 17:23:10 +00:00
Henry Castro
4af013e87e loolwsd: LOOLKit process added
Change-Id: I91e8a131b4959a78e43b29faede477d39150c97c
Reviewed-on: https://gerrit.libreoffice.org/20902
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-23 17:10:50 +00:00