On 19.01.22 17:17, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
However, I would recommend to use kamcli instead of kamcmd, the binrpc protocol and kamcmd are not really maintained.
Should it have been kamctl instead?
by functionality, kamcli replaces kamctl as well, but in this case I meant indeed kamcmd, because kamcmd uses a custom binary rpc protocol (aka binrpc) designed by SER developers during 2005-2008, without much documentation around it.
I had to dig in it recently to add support for 'long' values, given the overflow of integer in statistics related to shared memory size and it is not something I would invest time again in it (e.g., if it requires coding for making it work with newer libreadline). The ctl module is the one getting kamcmd commands.
kamctl and kamcli use jsonrpc (via jsonrpcs module), which is well known (and widely accepted) standard, with proper docs and libraries out there.
kamctl can also replace kamcmd for rpc command execution from terminal, practically "kamcmd RPC_COMMAND" can be done with "kamctl rpc RPC_COMMAND", but kamctl does not have tab completion and no internal shell. Then kamctl has the various shells compatibility issues, input validation limitations ...
The kamcli has tab completion and internal shell, plus more convenient features, such as completion from history, highlighting, formatting output, etc ...
In other words, kamcli can replace kamctl and kamcmd.
Cheers, Daniel