Attention is currently required from: osmith, laforge, pespin, fixeria. neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712 )
Change subject: Add subscr_conn_fsm ......................................................................
Patch Set 5:
(2 comments)
File src/osmo-bsc-nat/bssap_conn.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712/comment/ba4f9ca7_879604ff PS4, Line 47: uint8_t tag = tag_order[i]; above we traverse the TLV structure once to store tlv_parsed entries. tlv_parsed entries are good for "random access", find a specific IE. Then we traverse the TLV again to store the tags in their order, caching in an array. Then we iterate the array again, which is sort of identical to traversing the TLV data itself.
it seems to me that it makes more sense to not use tlv_parse() at all, but only do tlv_parse_one() and tlv_encode_one() in this loop. Then we don't need to use a random-access API for sequential access.
Hence not needing new libosmocore API.
I guess this doesn't really affect performance in a noticeable way, making it a bikeshed of sorts?
File src/osmo-bsc-nat/subscr_conn_fsm.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712/comment/1e317dc8_1f245e32 PS2, Line 351: ,
Neels invented this, but I like how it's diff friendly :)
exactly, and it's also editing friendly