summaryrefslogtreecommitdiffstats
path: root/common/resourceaccess.h
Commit message (Collapse)AuthorAge
* Fixed new warningsChristian Mollekopf2018-03-25
|
* Removed ResourceAccess::Private leak and resolved resulting memoryChristian Mollekopf2017-11-16
| | | | | | | | | corruption. It looks like the memory corruption (malloc started to crash) was coming QLocalSocket related signals. According to the docs it's not safe (whatever that means), to delete a QObject with pending signals, so we use deleteLater to schedule it's deletion. This resolved the crashes.
* Fixed use after freeChristian Mollekopf2017-11-09
|
* Avoid storing the password in the configurationChristian Mollekopf2017-09-18
| | | | | | | The password (or any other secret), is now cached in the client process (in-memory only), and delivered to the resource via command. The resource avoids doing any operations against the source until the secret is available.
* No more SINK_DEBUG_AREAChristian Mollekopf2017-05-12
|
* Adapt to KAsync changesChristian Mollekopf2017-03-01
|
* Introduced Log::ContextChristian Mollekopf2016-12-22
| | | | | | | To have hierarchical debug output we have to pass around something at run-time, there is no reasonable alternative. Log::Context provides the identifier to do just that and largely replaces the debug component idea.
* Kill all commands on failing to connect to a resource.Christian Mollekopf2016-12-12
| | | | | | We have to kill pending commands as well, and we have to make sure that we call open only once the commands are actually enqueued, so we can kill them in case of failure.
* interresource moveChristian Mollekopf2016-12-02
|
* Added the flush command.Christian Mollekopf2016-11-25
| | | | | | | Instead of trying to actually flush queues, we send a special command through the same queues as the other commands and can thus guarantee that the respective commands have been processed without blocking anything.
* Fixed builChristian Mollekopf2016-11-14
|
* Implement debug stream operators for query.Christian Mollekopf2016-11-07
|
* A new debug system.Christian Mollekopf2016-07-07
| | | | | | | | | | | | | | | Instead of a single #define as debug area the new system allows for an identifier for each debug message with the structure component.area. The component is a dot separated identifier of the runtime component, such as the process or the plugin. The area is the code component, and can be as such defined at compiletime. The idea of this system is that it becomes possible to i.e. look at the output of all messages in the query subsystem of a specific resource (something that happens in the client process, but in the resource-specific subcomponent). The new macros are supposed to be less likely to clash with other names, hence the new names.
* Fixed a bunch of memory leaks.Christian Mollekopf2016-07-06
| | | | Found with valgrind
* Prepare for making the resource status availableChristian Mollekopf2016-07-05
|
* Track modified properties to detect necessary replay changesChristian Mollekopf2016-06-03
|
* Pass in the inspection typeChristian Mollekopf2016-05-24
|
* Support assigining the uid in the clientChristian Mollekopf2016-05-06
|
* Don't encode the resource type into the identifierChristian Mollekopf2016-04-17
|
* Fromatted the whole codebase with clang-format.Christian Mollekopf2016-03-03
| | | | clang-format -i */**{.cpp,.h}
* Use slots/signals instead of Q_SLOTS/Q_SIGNALS for clang-format compatibilityChristian Mollekopf2016-02-17
|
* moved ResourceAccessFactoryChristian Mollekopf2016-02-12
|
* Use Sink instead of SinkCommonChristian Mollekopf2016-02-09
|
* Introduced debug areas and prettified output.Christian Mollekopf2016-02-04
|
* Insall sincommon_export.hChristian Mollekopf2016-01-31
|
* Explicitly state visibilityChristian Mollekopf2016-01-31
| | | | | | | | | This cuts the exportet symbols from 12k to 2k and the library size from 16Mb to 14Mb, which isn't great but still an improvement. About 30% of the symbols are coming from the Store:: interface. nm -C -D /work/install/lib64/libsinkcommon.so.0.1
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* ResourceNotification -> NotificationChristian Mollekopf2016-01-19
|
* Reuse the queuedInvoke method for less boilerplateChristian Mollekopf2016-01-18
|
* Draft of inspection APIChristian Mollekopf2016-01-18
|
* Improved resource access cachingChristian Mollekopf2015-12-03
| | | | | | | | * Smarter caching. ResourceAccess instances close after a timeout, if not reused. * Introduced a start command to avoid race condition when sending commands to a resource that is currently shutting down. * We resend pending commands after we lost access to the resource * unexpectedly.
* Cache ResourceAccess instances.Christian Mollekopf2015-12-01
| | | | | | | | | We want one connection per application per resource instance. With this change the connection is maintained for the lifetime of the client process (it should probably time out instead), but we at least avoid creating a connection per operation/query, which results in a significant performance boost (~10% for reading, 90% for writing in dummyresourcebenchmark).
* Introduced a QueryRunner objectChristian Mollekopf2015-11-27
| | | | | | | | The QueryRunner object lives for the duration of the query (so just for the initial query for non-live queries, and for the lifetime of the result model for live queries). It's supposed to handle all the threading internally and decouple the lifetime of the facade.
* Let clients tell the resource when they no longer require a revision.Christian Mollekopf2015-10-19
|
* Change replayChristian Mollekopf2015-10-10
| | | | | So far only includes modifications and additions, removals are not yet stored as separate revisions.
* Moved sendCommand implementations to ResourceAccessChristian Mollekopf2015-08-12
| | | | So we have commands in one place, and not in a header file.
* Allow to inject a fake ResourceInstanceChristian Mollekopf2015-07-28
|
* Call callbacks for already completed commands before abortingChristian Mollekopf2015-07-23
|
* Fixed all warningsChristian Mollekopf2015-07-07
|
* KAsync has moved to it's own kasync.git repositoryDan Vrátil2015-05-18
|
* Adapt to KAsync namespace changeDan Vrátil2015-05-15
|
* Avoid starting the resource for shutdown.Christian Mollekopf2015-04-29
|
* ResourceAccess: rewrite connection code using jobsChristian Mollekopf2015-04-28
| | | | | Another nice showcase implementation how things get easier, testable and composable using async.
* Always queue commands in resourceaccess.Christian Mollekopf2015-04-12
| | | | | We want to keep the command until we know it arrived in the resource, so we can resend it otherwise.
* Use QByteArray instead of QStringChristian Mollekopf2015-04-09
| | | | | All identifiers should be latin1 and we make this explicit by using QByteArray. QString is reserved for strings that can be UTF-8 or alike.
* Don't try to restart the resource on every disconnect.Christian Mollekopf2015-03-31
| | | | | There's a chance that the resource actually wanted to shut-down. Instead ResourceAccess should only reopen the connection if it still has work to do.
* Propagate errors for commands.Christian Mollekopf2015-01-25
|
* A way to ensure all messages have been processed.Christian Mollekopf2015-01-25
| | | | | As queries become reactive this should become less important. We can then just wait until all results become available. For tests it is in either case useful though.
* Use jobs to track progress of write commands.Christian Mollekopf2015-01-18
|
* Writing from facade.Christian Mollekopf2015-01-15
|