|
|
@ -549,8 +549,7 @@ uint32_t MyMesh::getDirectRetransmitDelay(const mesh::Packet *packet) { |
|
|
return getRNG()->nextInt(0, 5*t + 1); |
|
|
return getRNG()->nextInt(0, 5*t + 1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) { |
|
|
mesh::DispatcherAction MyMesh::onRecvPacket(mesh::Packet* pkt) { |
|
|
// just try to determine region for packet (apply later in allowPacketForward())
|
|
|
|
|
|
if (pkt->getRouteType() == ROUTE_TYPE_TRANSPORT_FLOOD) { |
|
|
if (pkt->getRouteType() == ROUTE_TYPE_TRANSPORT_FLOOD) { |
|
|
recv_pkt_region = region_map.findMatch(pkt, REGION_DENY_FLOOD); |
|
|
recv_pkt_region = region_map.findMatch(pkt, REGION_DENY_FLOOD); |
|
|
} else if (pkt->getRouteType() == ROUTE_TYPE_FLOOD) { |
|
|
} else if (pkt->getRouteType() == ROUTE_TYPE_FLOOD) { |
|
|
@ -562,8 +561,7 @@ bool MyMesh::filterRecvFloodPacket(mesh::Packet* pkt) { |
|
|
} else { |
|
|
} else { |
|
|
recv_pkt_region = NULL; |
|
|
recv_pkt_region = NULL; |
|
|
} |
|
|
} |
|
|
// do normal processing
|
|
|
return Mesh::onRecvPacket(pkt); |
|
|
return false; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const mesh::Identity &sender, |
|
|
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 |
|
|
set_radio_at = revert_radio_at = 0; |
|
|
set_radio_at = revert_radio_at = 0; |
|
|
_logging = false; |
|
|
_logging = false; |
|
|
region_load_active = false; |
|
|
region_load_active = false; |
|
|
|
|
|
recv_pkt_region = NULL; |
|
|
|
|
|
|
|
|
#if MAX_NEIGHBOURS |
|
|
#if MAX_NEIGHBOURS |
|
|
memset(neighbours, 0, sizeof(neighbours)); |
|
|
memset(neighbours, 0, sizeof(neighbours)); |
|
|
|