summaryrefslogtreecommitdiffstats
path: root/common/resourceaccess.cpp
Commit message (Collapse)AuthorAge
...
* 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.
* Resolve remoteIds during syncChristian Mollekopf2015-12-01
| | | | | | | Remote id's need to be resolved while syncing any references. This is done by the synchronizer by consulting the rid to entity id mapping. If the referenced entity doesn't exist yet we create a local id anyways, that we then need to pick up once the actual entity arrives.
* Debug outputChristian Mollekopf2015-11-30
|
* Less noiseChristian Mollekopf2015-11-25
|
* CleanupChristian Mollekopf2015-11-15
|
* Avoid trying to open ResourceAccess twiceChristian Mollekopf2015-10-20
|
* More descriptive debug messagesChristian Mollekopf2015-10-20
|
* Let clients tell the resource when they no longer require a revision.Christian Mollekopf2015-10-19
|
* A way to set the debuglevel.Christian Mollekopf2015-08-13
| | | | | | Unittests can set the level themselves (so i.e. benchmarks don't print a shitload of messages), while in normal operation we can set it from the environment. There's no override currently, but first things first.
* 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
|
* Avoid warning about running jobs.Christian Mollekopf2015-07-23
| | | | | | "Left jobs running while shutting down ResourceAccess", happens because the shutdown command destroys the instance before the method can clean up.
* Give up after trying to connect for a whileChristian Mollekopf2015-07-23
|
* The callback is supposed to be always thereChristian Mollekopf2015-07-19
|
* Fixed all warningsChristian Mollekopf2015-07-07
|
* Differentiate between resource name and instance identifierChristian Mollekopf2015-06-08
|
* Adapt to KAsync namespace changeDan Vrátil2015-05-15
|
* LoggingChristian Mollekopf2015-05-01
|
* CleanupChristian Mollekopf2015-04-29
|
* 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.
* Avoid error message when initially starting resource.Christian Mollekopf2015-04-19
|
* Log messagesChristian Mollekopf2015-04-18
|
* 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.
* ResourceAccess: copy the buffer before capturing it in the lambda.Christian Mollekopf2015-04-02
| | | | | | | | | | | It's lifetime is limited to the end of the function, so we have to copy it before. I switched to QByteArray because it simplifies the code and shouldn't really cost anything, additionally the implicit sharing makes copies cheap. This patch incurs the cost of always copying the buffer instead of writing straight to the socket, but we probably anyways want to keep a copy around, and if it would indeed be a performance issues (I doubt it), we could still optimize that copy away.
* 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.
* Shutdown notification to achieve a clean shutdown.Christian Mollekopf2015-03-31
| | | | | | | Otherwise the client always restarts the resource because of the lost connection. We currently require this in tests to be able to delete the db, but eventually we likely want a "disable akonadi" function that shuts resources down, and keeps clients from restarting them (e.g. via configuration).
* Resource crashhandler and logging facilities.Christian Mollekopf2015-03-31
|
* Async: allow appending Jobs to already running or finished JobsDan Vrátil2015-02-21
| | | | | | | | | When user gets a Job (from a method call for instance), which is already running or might have even finished already, they can still append a new Job to the chain and re-execute it. The Job will internally chain up to the last finished Job, use it's result and continue from the next Job in the chain. If a Job in the chain is still running, it will wait for it to finish and pass the result to the next Job in the chain.
* Added JOBAPI todo's.Christian Mollekopf2015-02-02
| | | | Work for dvratil.
* introduce a set of isInternalKey functions to hide this impl detailAaron Seigo2015-01-27
|
* Propagate errors for commands.Christian Mollekopf2015-01-25
|
* Call callbacks after the resource crashed.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.
* Uid index + query using that index.Christian Mollekopf2015-01-24
| | | | ...and a couple of other fixes.
* debug outputChristian Mollekopf2015-01-19
|
* Use jobs to track progress of write commands.Christian Mollekopf2015-01-18
|
* Turned synchronizeResource command into a job.Christian Mollekopf2015-01-06
|
* Buffers wrapped into entity buffer, async command progress tracking.Christian Mollekopf2014-12-28
|
* Write-Read loop from clientside.Christian Mollekopf2014-12-21
| | | | | | | | | It's a huge hack but starts to show results. Most urgently we need: * reliable command results * the 3 buffers instead of the 1 * A way to implement storage as preprocessor (or a place to impelement it after the preprocessors).
* use client pid for identifier for nowAaron Seigo2014-12-17
| | | | | will allow stateful handling of resource side client-specific caches in future (e.g. for storing the results of source-side search queries)
* add pipelines (as a sketch only), message ids and message responsesAaron Seigo2014-12-16
|
* use a dptr, API for sending commands, queue commands until connectedAaron Seigo2014-12-16
|
* move client classes into akonadi2common and add the base class for resource ↵Aaron Seigo2014-12-16
plugins we can divide up libakonadi2common later once we have a full collection of classes this makes writing code a bit simpler now as we don't have to figuer out which libraries to link against or how class dependencies should look. when we have more infrastructure in place this will mostly become self-evident