public override void HandlePacket(RadioPacket packet, ProbeRequestFrame pr)
        {
            var signal  = packet[RadioTapType.DbmAntennaSignal];
            var ssidObj = pr.InformationElements.First(ie => ie.Id.ToString() == "ServiceSetIdentity");
            var ssid    = Encoding.UTF8.GetString(ssidObj.Value, 0, ssidObj.ValueLength).Trim();

            if (string.IsNullOrWhiteSpace(ssid))
            {
                return;
            }
            var dbs    = signal.ToString().Split(' ', StringSplitOptions.TrimEntries)[1];
            var db     = int.Parse(dbs);
            var output = $"{DateTime.Now},Probe,{pr.SourceAddress},{ssid},{Helper.DbToPercent(db)}";

            if (ProbeCache.UpdateCache(ssid, pr.SourceAddress.ToString(), Helper.DbToPercentInt(db)))
            {
                var mac = new WiFiMac {
                    MAC = pr.SourceAddress.ToString()
                };
                var probe = new WiFiProbe
                {
                    LastSeen        = DateTime.Now,
                    WiFiMac         = mac,
                    WiFiNetworkName = new WiFiNetworkName {
                        SSID = ssid
                    }
                };
                ApiQueue.QueueItem(probe);
                Log(output);
            }
        }
        public async Task <bool> SubmitProbe(WiFiProbe probe)
        {
            try
            {
                var response = await HttpClient.PutAsync($"{ENDPOINT}/wifi/probe", ToJsonContent(probe));

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(false);
                }
                var dto = await response.Content.ReadAsStringAsync();

                Console.WriteLine(dto);
                return(true);
            }
            catch { return(false); }
        }