Skip to content

Commit 33fdf67

Browse files
authored
Merge pull request #2874 from neilalexander/neil/replyregion
Fix `recv_pkt_region` incorrect usage
2 parents affe61d + 0d73795 commit 33fdf67

4 files changed

Lines changed: 8 additions & 10 deletions

File tree

examples/simple_repeater/MyMesh.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -549,8 +549,7 @@ uint32_t MyMesh::getDirectRetransmitDelay(const mesh::Packet *packet) {
549549
return getRNG()->nextInt(0, 5*t + 1);
550550
}
551551

552-
bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) {
553-
// just try to determine region for packet (apply later in allowPacketForward())
552+
mesh::DispatcherAction MyMesh::onRecvPacket(mesh::Packet* pkt) {
554553
if (pkt->getRouteType() == ROUTE_TYPE_TRANSPORT_FLOOD) {
555554
recv_pkt_region = region_map.findMatch(pkt, REGION_DENY_FLOOD);
556555
} else if (pkt->getRouteType() == ROUTE_TYPE_FLOOD) {
@@ -562,8 +561,7 @@ bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) {
562561
} else {
563562
recv_pkt_region = NULL;
564563
}
565-
// do normal processing
566-
return false;
564+
return Mesh::onRecvPacket(pkt);
567565
}
568566

569567
void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const mesh::Identity &sender,
@@ -867,6 +865,7 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc
867865
set_radio_at = revert_radio_at = 0;
868866
_logging = false;
869867
region_load_active = false;
868+
recv_pkt_region = NULL;
870869

871870
#if MAX_NEIGHBOURS
872871
memset(neighbours, 0, sizeof(neighbours));

examples/simple_repeater/MyMesh.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
166166
}
167167
#endif
168168

169-
bool filterRecvFloodPacket(mesh::Packet* pkt) override;
169+
mesh::DispatcherAction onRecvPacket(mesh::Packet* pkt) override;
170170

171171
void onAnonDataRecv(mesh::Packet* packet, const uint8_t* secret, const mesh::Identity& sender, uint8_t* data, size_t len) override;
172172
int searchPeersByHash(const uint8_t* hash) override;

examples/simple_room_server/MyMesh.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,7 @@ bool MyMesh::allowPacketForward(const mesh::Packet *packet) {
290290
return true;
291291
}
292292

293-
bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) {
294-
// just try to determine region for packet (apply later in allowPacketForward())
293+
mesh::DispatcherAction MyMesh::onRecvPacket(mesh::Packet* pkt) {
295294
if (pkt->getRouteType() == ROUTE_TYPE_TRANSPORT_FLOOD) {
296295
recv_pkt_region = region_map.findMatch(pkt, REGION_DENY_FLOOD);
297296
} else if (pkt->getRouteType() == ROUTE_TYPE_FLOOD) {
@@ -303,8 +302,7 @@ bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) {
303302
} else {
304303
recv_pkt_region = NULL;
305304
}
306-
// do normal processing
307-
return false;
305+
return Mesh::onRecvPacket(pkt);
308306
}
309307

310308
void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const mesh::Identity &sender,
@@ -627,6 +625,7 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc
627625
_logging = false;
628626
region_load_active = false;
629627
set_radio_at = revert_radio_at = 0;
628+
recv_pkt_region = NULL;
630629

631630
// defaults
632631
memset(&_prefs, 0, sizeof(_prefs));

examples/simple_room_server/MyMesh.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
154154
return _prefs.multi_acks;
155155
}
156156

157-
bool filterRecvFloodPacket(mesh::Packet* pkt) override;
157+
mesh::DispatcherAction onRecvPacket(mesh::Packet* pkt) override;
158158

159159
bool allowPacketForward(const mesh::Packet* packet) override;
160160
void onAnonDataRecv(mesh::Packet* packet, const uint8_t* secret, const mesh::Identity& sender, uint8_t* data, size_t len) override;

0 commit comments

Comments
 (0)