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.
>
>

Reply via email to