rlc: Use a pointer instead of repeated selector chains

Currently the same selector chain is used several times in the same
function.

This commit adds a pointer to Packet_Uplink_Ack_Nack and uses that
instead.

Sponsored-by: On-Waves ehf
This commit is contained in:
Jacob Erlbeck 2015-12-21 17:19:53 +01:00
parent 5c75480e90
commit 2e3a81e4b3
1 changed files with 9 additions and 6 deletions

View File

@ -437,6 +437,7 @@ void Encoding::write_packet_uplink_ack(struct gprs_rlcmac_bts *bts,
uint8_t final)
{
// Packet Uplink Ack/Nack TS 44.060 11.2.28
Packet_Uplink_Ack_Nack_t *acknack;
LOGP(DRLCMACUL, LOGL_DEBUG, "Encoding Ack/Nack for %s "
"(final=%d)\n", tbf_name(tbf), final);
@ -446,14 +447,16 @@ void Encoding::write_packet_uplink_ack(struct gprs_rlcmac_bts *bts,
block->SP = final; // RRBP field is valid, if it is final ack
block->USF = 0x0; // Uplink state flag
block->u.Packet_Uplink_Ack_Nack.MESSAGE_TYPE = 0x9; // Packet Downlink Assignment
block->u.Packet_Uplink_Ack_Nack.PAGE_MODE = 0x0; // Normal Paging
block->u.Packet_Uplink_Ack_Nack.UPLINK_TFI = tbf->tfi(); // Uplink TFI
acknack = &block->u.Packet_Uplink_Ack_Nack;
block->u.Packet_Uplink_Ack_Nack.UnionType = 0x0; // PU_AckNack_GPRS = on
acknack->MESSAGE_TYPE = 0x9; // Packet Downlink Assignment
acknack->PAGE_MODE = 0x0; // Normal Paging
acknack->UPLINK_TFI = tbf->tfi(); // Uplink TFI
/* PU_AckNack_GPRS = on */
acknack->UnionType = 0x0;
write_packet_uplink_ack_gprs(bts,
&block->u.Packet_Uplink_Ack_Nack.u.PU_AckNack_GPRS_Struct,
tbf, final);
&acknack->u.PU_AckNack_GPRS_Struct, tbf, final);
}
unsigned Encoding::write_packet_paging_request(bitvec * dest)