public static void ReportResponse(NatNegServer server, UDPPacket packet) { ReportPacket reportPacket = new ReportPacket(packet.BytesRecieved); byte[] sendingBuffer = reportPacket.CreateReplyPacket(); server.Send(packet, sendingBuffer); }
private async void StartReportAsync(object s, ElapsedEventArgs e) { if (!Config.HasTripLinks || Attempts.Count == 0) { Attempts.Clear(); ReportTimer.Start(); return; } Logger.LogTrace($"Starting IP Reporting..."); var reportTime = DateTime.UtcNow; var ipReports = Attempts.Select(x => new IpReport(x.Key, x.Value.Select(x => new PortTimeReport(x.Key, x.Value, reportTime)))).ToList(); Attempts.Clear(); var packet = new ReportPacket(reportTime, ipReports); await SendReportAsync(packet, ReporterStopper.Token); Logger.LogTrace("Finished IP Reporting"); LastReport = reportTime; ReportTimer.Start(); }
public static void ReportResponse(NatNegServer server, byte[] recv) { ReportPacket reportPacket = new ReportPacket(recv); byte[] sendingBuffer = reportPacket.CreateReplyPacket(); server.SendAsync(server.Socket.RemoteEndPoint, sendingBuffer); }
private async Task SendReportAsync(ReportPacket packet, CancellationToken cancellationToken) { int successfulReports = 0; foreach (var tripLink in Config.StickyConfig.TripLinks) { try { var response = await packet.SendAsync(Client, tripLink, cancellationToken); if (!response.IsSuccessStatusCode) { Logger.LogError($"Error reporting to {tripLink.Server}! {response.StatusCode} : {response.ReasonPhrase}"); continue; } Logger.LogTrace($"Successfully reported to {tripLink.Server}!"); successfulReports++; } catch (Exception ex) { Logger.LogError(ex, "Error while reporting IPs!"); continue; } } if (successfulReports > 0) { Logger.LogInformation($"Reported {packet.ReportedIps.Count} IPs to {successfulReports} Hosts: {string.Join("; ", packet.ReportedIps)}"); } }
protected override void CheckRequest() { _reportPacket = new ReportPacket(); _reportPacket.Parse(_recv); }