Currently, the daemon is accepting raw command line parameters and returning formatted terminal output. As discussed in several pull requests, this results in several differences in targetcli's behavior when it's not using the daemon vs. when it is. The code's complexity is also increasing due to a lack of separation of concerns.
I propose changing targetclid to export its functionality via some form of IPC/RPC: when auto_use_daemon is set to True, targetcli would receive input, pass requests to targetclid (which would do the actual work and respond with structured data), and then format and display the response data.
This ticket should be used to discuss implementation details such as which form of IPC/RPC to use.
Currently, the daemon is accepting raw command line parameters and returning formatted terminal output. As discussed in several pull requests, this results in several differences in
targetcli
's behavior when it's not using the daemon vs. when it is. The code's complexity is also increasing due to a lack of separation of concerns.I propose changing
targetclid
to export its functionality via some form of IPC/RPC: whenauto_use_daemon
is set toTrue
,targetcli
would receive input, pass requests totargetclid
(which would do the actual work and respond with structured data), and then format and display the response data.This ticket should be used to discuss implementation details such as which form of IPC/RPC to use.