dbus noob questions
Zap Foster
zap.foster at gmail.com
Thu Aug 20 04:08:31 PDT 2015
Howdy -
I am looking for various solutions for adding a new IPC mechanism to a
very old piece of software. I've looked at several solutions thus far,
and someone suggested dbus.
I have several requirements, and although I could start digging and
finding the answer myself, I was hoping to get confirmation from regular
users. I'm hoping the answers are the kind our legacy program likes:
dbus looks like it could be a good fit.
1. can the using application specify its own allocators?
For example, the app is written in C. It has taken over the malloc/free
mechanism, and uses a slab allocator. Each allocation is actually a
member of a series of page slabs, and allocations come from pools that
are contained in slabs. So we'd have to be able to map any and all
object creation/destruction into our malloc/free interface. QUESTION:
If our application is a client of dbus, can it make debug use its
malloc/free calls instead of the global ones?
2. Our application is not multithreaded in the usual sense. Each core
gets a separate run of our application. But each application is
single-threaded. In our execution path, we never do things that would
invoke ioctl() or any other specific delaying calls into the kernel. We
have our own device drivers, and we poll the rings for data (send/recv)
and respond directly to devices. QUESTION: can we use dbus without
incuring thread costs, and can it be used in a poll-model?
3. With other (and current) IPC forms, we have an "IDL" where we define
a message structure, run a code-generator over it, and use the fruit of
the output (which are message datastructures). QUESTION: does dbus have
a mechanism like this for defining message payload structure?
That will get me started. Many thanks!
-z
More information about the dbus
mailing list