public void AddPacket(string opCode, bool known, int length) { RelevantPackets++; if (length == 0) { EmptyPackets++; } if (known) { KnownPackets++; } else { UnknownPackets++; } if (!_packets.TryGetValue(opCode, out var entry)) { _packets.Add(opCode, entry = new SummaryEntry(known)); } entry.Count++; entry.Sizes.Add(length); }
private SummaryEntry GetSummaryEntry(IGrouping <int, Trip> trips) { var entry = new SummaryEntry(); foreach (var trip in trips) { entry.AvgFuelConsumption += trip.FuelConsumption; entry.TotalDistance += trip.Distance; entry.TimeDriven = entry.TimeDriven.Add(TimeSpan.FromSeconds(trip.Duration.TotalSeconds)); } entry.AvgFuelConsumption = entry.AvgFuelConsumption / trips.Count(); return(entry); }