Yes, you could add a length field, and then a ID field (to dispatch), etc. It gets non-trivial quickly especially if you want it available to third parties (e.g., someone wants to write the equivalent of traffic_ctl). For plugins, we already have a plugin message capability which is very crude, it would be useful if it could be extended to use the same format as the internal RPC. This would make it possible to query plugin state, something done now by dumping to traffic.out. It would be much cleaner and powerful to be able to directly query. E.g. asking the CARP plugins things about it hotlist, or when the Layer 7 Routing stuff is running, interacting with some of load balancing or parent control plugins (e.g., telling a parent selector "this parent is offline"). Overall, JSON-RPC seems easy to do, because we have an internal parser now. It's a standard so third party interoperability is easy and we don't have to design much of anything. It's a lot more flexible than a POD based exchange because adding or omitting data per message is easy.
On Tue, Sep 4, 2018 at 11:11 AM Walt Karas <wka...@oath.com.invalid> wrote: > All messages could start with a byte length. Don't see the plugin > issue unless you mean we need Lua plugins to use IPC. > >