Attention is currently required from: pespin.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/43108?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed: Verified+1 by Jenkins Builder
The change is no longer submittable: Verified is unsatisfied now.
Change subject: libosmo-trx/client: add TRXC client (command queue) API ......................................................................
libosmo-trx/client: add TRXC client (command queue) API
Add the osmo_trxc_client module: a transport-agnostic generalization of the TRXC command handling logic in osmo-bts-trx (trx_if.c):
* command queue with a single command in flight; * retransmission on response timeout (default: 2 s); * suppression of consecutive duplicate commands; * RSP<->CMD matching, optionally including the parameters; * filtering of duplicate responses caused by retransmissions; * escalation of NACKed critical commands (OSMO_TRXC_F_CRITICAL) to the fatal_error call-back; * TRXD PDU version negotiation (SETFORMAT), incl. the fallback to version 0 for old transceivers rejecting it with 'RSP ERR 1'.
The client neither opens nor owns a socket: the application transmits serialized messages in the tx_msg call-back and feeds received datagrams into osmo_trxc_client_rx(). The response call-back may return N > 0 to request a re-transmission of the same command after N seconds (e.g. POWERON retry, as implemented in osmo-bts-trx).
Change-Id: I817e394f74a10e3adae4a0b58342c82acdf0794e --- M .gitignore M libosmo-trx/include/Makefile.am A libosmo-trx/include/osmocom/trx/trxc_client.h M libosmo-trx/src/Makefile.am A libosmo-trx/src/trxc_client.c M tests/libosmo-trx/Makefile.am A tests/libosmo-trx/trxc_client_test.c A tests/libosmo-trx/trxc_client_test.err A tests/libosmo-trx/trxc_client_test.ok M tests/testsuite.at 10 files changed, 1,117 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/08/43108/5