mac: preserve metadata of input pdu

This commit is contained in:
Bastian Bloessl
2014-05-08 15:29:25 +02:00
parent a04945a35b
commit e1dbdef395
+4 -2
View File
@@ -73,6 +73,9 @@ void app_in (pmt::pmt_t msg) {
size_t msg_len; size_t msg_len;
const char *msdu; const char *msdu;
// dict
pmt::pmt_t dict = pmt::make_dict();
if(pmt::is_eof_object(msg)) { if(pmt::is_eof_object(msg)) {
message_port_pub(pmt::mp("phy out"), pmt::PMT_EOF); message_port_pub(pmt::mp("phy out"), pmt::PMT_EOF);
detail().get()->set_done(true); detail().get()->set_done(true);
@@ -87,6 +90,7 @@ void app_in (pmt::pmt_t msg) {
} else if(pmt::is_pair(msg)) { } else if(pmt::is_pair(msg)) {
dict = pmt::car(msg);
msg_len = pmt::blob_length(pmt::cdr(msg)); msg_len = pmt::blob_length(pmt::cdr(msg));
msdu = reinterpret_cast<const char *>(pmt::blob_data(pmt::cdr(msg))); msdu = reinterpret_cast<const char *>(pmt::blob_data(pmt::cdr(msg)));
@@ -100,8 +104,6 @@ void app_in (pmt::pmt_t msg) {
char *psdu; char *psdu;
generate_mac_data_frame(msdu, msg_len, &psdu, &psdu_length); generate_mac_data_frame(msdu, msg_len, &psdu, &psdu_length);
// dict
pmt::pmt_t dict = pmt::make_dict();
dict = pmt::dict_add(dict, pmt::mp("crc_included"), pmt::PMT_T); dict = pmt::dict_add(dict, pmt::mp("crc_included"), pmt::PMT_T);
// blob // blob