twl@cadreri.UUCP (Todd W. Lainhart) (03/11/91)
Our applications currently communicate with one another via multiple models, depending upon the platform (shared memory, queues, named pipes, sockets, "mailboxes", etc.). It's a pain to maintain, and non-portable. I'm currently thinking of modifying that model for applications running under X, by using root window properties. Because ClientMessages only allow ~20 bytes of data to be sent between applications (I need anywhere between 100-250), this functionality is not sufficient. So, I thought that I would attach a property to the root window (via an Atom known to cooperating applications) and pass data via the property. The receiver of the data would get a PropertyNotify (I think that's what it's called) event, extract the data, and act accordingly. Does this sound like a reasonable solution to the portable IPC problem (at least, when there's a bunch of data to be passed around)? In other words, does anyone have any experience regarding performance of property change events between communicating X clients? I expect that there would be ~10 Properties attached to the root window, with each property tracking ~150 bytes of data. It's my hope that using Properties for IPC will be just as efficient as the other mechanisms for IPC that we currently use (and so, I can get rid of them, and have a single source for input events). Thanks for your consideration.