Question about headr_payload_demux module

Hi all,
I am reading “header_payload_demux” module, I have some questions about
it.
1, in “header_payload_demux_impl.cc” line 235, seems need update nread’s
value
nread += trigger_offset;
I think without this update, the first header will check failed,
if input data not include complete “d_header_len” ofdm symbols

2, why in “case STATE_HEADER_RX_FAIL:” line 218, need consume one input
item?

3, does the control message’s handler function can disturb
“general_work”(like a soft interrupt)?, or these handler only run
before/after “general_work”.


Thanks
Tiankun

On 10.08.2014 10:21, Tiankun Hu wrote:

Hi all,
I am reading “header_payload_demux” module, I have some questions about it.
1, in “header_payload_demux_impl.cc” line 235, seems need update nread’s
value
nread += trigger_offset;
I think without this update, the first header will check failed,
if input data not include complete “d_header_len” ofdm symbols

I don’t have that line in my version of the HPD.
This is what I have on L235:

in += trigger_offset * d_itemsize;

And this advances the input buffer pointer to the trigger position.

2, why in “case STATE_HEADER_RX_FAIL:” line 218, need consume one input
item?

To avoid an infinite loop.

3, does the control message’s handler function can disturb
“general_work”(like a soft interrupt)?, or these handler only run
before/after “general_work”.

They are asynchronous and are always called when a message is passed.

MB

Hi Martin,
I mean maybe need add “nread += trigger_offset;” in line 235 to void
first header check failed.

在 2014年08月10日 23:04, Martin B. 写道:

I don’t have that line in my version of the HPD.

3, does the control message’s handler function can disturb
“general_work”(like a soft interrupt)?, or these handler only run
before/after “general_work”.

They are asynchronous and are always called when a message is passed.

MB


Thanks
Tiankun