+
+static void add_latency(const std::vector<LinkImpl*>& links, double* latency)
+{
+ if (latency)
+ *latency = std::accumulate(begin(links), end(links), *latency,
+ [](double lat, const auto* link) { return lat + link->get_latency(); });
+}
+
+void add_link_latency(std::vector<LinkImpl*>& result, LinkImpl* link, double* latency)
+{
+ result.push_back(link);
+ if (latency)
+ *latency += link->get_latency();