[Development] Request for a sandbox area: Replicant

Branislav Katreniak katreniak at gmail.com
Wed Jun 4 09:36:04 CEST 2014

Hi all

I am very interested to discuss and contribute to this project.

Our motivation:
Our qt application is split to modules written in qt and every module
runs in its own process. This gives us robustness but our calls become
IPC. All modules are updated at once, so there is no need for stable

Any IPC / RPC mechanism requires a lot of boiler plate code. We
develop server and client code in qt. We want small, easily
maintainable qt code talking from one process to another. We don't
care about particular IPC and serialization being used. Any reasonably
efficient IPC is good enough, more options could be supported. The
target is to let the Prime QObject class specify the IPC details and
keep the boiler plate behind the scene. Not to specify an IPC and then
write and maintain boiler plate qt code matching that IPC.

I want to highlight that the proposal is usable also for monolitic
applications. It introduces new synchronization primitive : One thread
provides Prime object, other threads create thread local Replicants.
* Slot invocation on replicant is synchronized to prime. Like a type
safe wrapper above QMetaObject::invokeMethod to prime.
* Replicant properties change only synchronously inside replicant's
event loop. No locking needed.

The proposal mentions template file that generates abstract prime
object and replicant object. Can we generate it directly from Prime
object (e.g. in moc)? That would make the framework far more usable.

Looking forward to see some code posted. There are so many details.

Unfortunately I am not attending the Qt Developer Summit. Maybe I
could, but all this is at the last moment.

Kind regards

More information about the Development mailing list