Attention is currently required from: fixeria, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/43110?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Code-Review+1 by pespin, Verified-1 by Jenkins Builder
Change subject: libosmo-trx/client: make public API operate on parsed messages ......................................................................
libosmo-trx/client: make public API operate on parsed messages
The TRXC client engine and the TRX endpoint module did not compose: osmo_trx_ep_rx_ctrl_msg() delivers a parsed struct osmo_trxc_msg, while osmo_trxc_client_rx() accepts a raw datagram only; likewise, the tx_msg call-back used to emit a serialized string, while osmo_trx_ep_send_ctrl_msg() takes the parsed structure. An osmo_trx_ep user would have to needlessly re-parse and re-serialize TRXC messages when gluing both modules together.
Make struct osmo_trxc_msg the currency at both module boundaries:
* add osmo_trxc_client_rx_msg(), accepting a parsed message; osmo_trxc_client_rx() becomes a parse-first convenience wrapper for applications managing the TRXC socket themselves; * change the tx_msg call-back to take a parsed message: it's now up to the transport to serialize it (osmo_trx_ep users simply call osmo_trx_ep_send_ctrl_msg(), others osmo_trxc_msg_build()).
This is a preparation for porting trxcon to libosmo-trx.
Change-Id: Idf53513d06be2337383601494b225b5722c93129 --- M libosmo-trx/include/osmocom/trx/trxc_client.h M libosmo-trx/src/trxc_client.c M tests/libosmo-trx/trxc_client_test.c 3 files changed, 57 insertions(+), 44 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/10/43110/3