Skip to content

Commit

Permalink
Fixed traceroute
Browse files Browse the repository at this point in the history
  • Loading branch information
KomelT committed Aug 18, 2024
1 parent cefb688 commit be45c8b
Showing 1 changed file with 35 additions and 44 deletions.
79 changes: 35 additions & 44 deletions mqtt/src/messages/traceroute.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {
type MeshPacket,
type Data,
RouteDiscoverySchema,
type RouteDiscovery,
type MeshPacket,
type Data,
RouteDiscoverySchema,
type RouteDiscovery,
} from "@buf/meshtastic_protobufs.bufbuild_es/meshtastic/mesh_pb.js";
import type { ServiceEnvelope } from "@buf/meshtastic_protobufs.bufbuild_es/meshtastic/mqtt_pb.js";
import { fromBinary } from "@bufbuild/protobuf";
Expand All @@ -11,48 +11,39 @@ import { COLLECT_TRACEROUTE, LOG_KNOWN_PACKET_TYPES } from "../settings.js";
import { extractMetaData } from "../tools/decrypt.js";

export async function handleTraceroute(
envelope: ServiceEnvelope,
packet: MeshPacket,
payload: Data
envelope: ServiceEnvelope,
packet: MeshPacket,
payload: Data
): Promise<void> {
try {
const traceroute: RouteDiscovery = fromBinary(
RouteDiscoverySchema,
payload.payload
);
try {
const traceroute: RouteDiscovery = fromBinary(RouteDiscoverySchema, payload.payload);

const { envelopeMeta, packetMeta, payloadMeta } = extractMetaData(
envelope,
packet,
payload
);
const { envelopeMeta, packetMeta, payloadMeta } = extractMetaData(envelope, packet, payload);

if (LOG_KNOWN_PACKET_TYPES) {
console.log("TRACEROUTE_APP", {
envelopeMeta: envelopeMeta,
packetMeta: packetMeta,
payloadMeta: payloadMeta,
traceroute: traceroute,
});
}
if (LOG_KNOWN_PACKET_TYPES) {
console.log("TRACEROUTE_APP", {
envelopeMeta: envelopeMeta,
packetMeta: packetMeta,
payloadMeta: payloadMeta,
traceroute: traceroute,
});
}

if (COLLECT_TRACEROUTE) {
await prisma.traceRoute.create({
data: {
to: packet.to,
from: packet.from,
want_response: packet.wantAck,
route: traceroute.route,
channel: packet.channel,
packet_id: packet.id,
channel_id: envelope.channelId,
gateway_id: envelope.gatewayId
? BigInt(`0x ${envelope.gatewayId.replaceAll("!", "")}`)
: null, // convert hex id "!f96a92f0" to bigint
},
});
}
} catch (err) {
console.error(err);
}
if (COLLECT_TRACEROUTE) {
await prisma.traceRoute.create({
data: {
to: packet.to,
from: packet.from,
want_response: packet.wantAck,
route: traceroute.route,
channel: packet.channel,
packet_id: packet.id,
channel_id: envelope.channelId,
gateway_id: envelope.gatewayId ? BigInt(`0x${envelope.gatewayId.replaceAll("!", "")}`) : null, // convert hex id "!f96a92f0" to bigint
},
});
}
} catch (err) {
console.error(err);
}
}

0 comments on commit be45c8b

Please sign in to comment.