INNER CODE UNIT · TypeScript
SignalTracker
gommzystudio/device-activity-tracker · src/signal-tracker.ts:63
export class SignalTracker {
private apiUrl: string;
private senderNumber: string;
private targetNumber: string;
private isTracking: boolean = false;
private deviceMetrics: Map<string, DeviceMetrics> = new Map();
private globalRttHistory: number[] = [];
private probeMethod: ProbeMethod = 'reaction';
private ws: WebSocket | null = null;
private reconnectTimeout: NodeJS.Timeout | null = null;
public onUpdate?: (data: any) => void;
// Serialized probe tracking (per Codex recommendation)
// Only ONE probe in flight at a time - correlate by order, not timestamp
private pendingProbeStartTime: number | null = null;
private pendingProbeTimeout: NodeJS.Timeout | null = null;
private probeResolve: (() => void) | null = null;