diff options
author | michele papalini <micpapal@cisco.com> | 2019-10-03 12:09:01 +0200 |
---|---|---|
committer | michele papalini <micpapal@cisco.com> | 2019-10-03 13:23:48 +0200 |
commit | eaaff7fa111c821ed6710dec7b6c49c5ecac6ad4 (patch) | |
tree | 5faa53d3e0f73f703b0526f2c1295f1359d96062 /libtransport/src/hicn/transport/protocols/rtc_data_path.h | |
parent | 523f12c368a3067527546efae5922150281ac203 (diff) |
[HICN-291] handle multiple paths in RTC
Change-Id: I69d331aa6e953e802e2f4b3e60325f852941fd94
Signed-off-by: michele papalini <micpapal@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/protocols/rtc_data_path.h')
-rw-r--r-- | libtransport/src/hicn/transport/protocols/rtc_data_path.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/libtransport/src/hicn/transport/protocols/rtc_data_path.h b/libtransport/src/hicn/transport/protocols/rtc_data_path.h index b55139d52..c8a049368 100644 --- a/libtransport/src/hicn/transport/protocols/rtc_data_path.h +++ b/libtransport/src/hicn/transport/protocols/rtc_data_path.h @@ -33,10 +33,13 @@ class RTCDataPath { public: void insertRttSample(uint64_t rtt); void insertOwdSample(int64_t owd); + void computeInterArrivalGap(uint32_t segmentNumber); + void receivedNack(); uint64_t getMinRtt(); - double getQueuingDealy(); + double getInterArrivalGap(); + bool isActive(); void roundEnd(); @@ -53,6 +56,20 @@ class RTCDataPath { double queuing_delay; + uint32_t lastRecvSeq_; + uint64_t lastRecvTime_; + double avg_inter_arrival_; + + //flags to check if a path is active + //we considere a path active if it reaches a producer + //(not a cache) --aka we got at least one nack on this path-- + //and if we receives packets + bool received_nacks_; + bool received_packets_; + uint8_t rounds_without_packets_; //if we don't get any packet + //for MAX_ROUNDS_WITHOUT_PKTS + //we consider the path inactive + utils::MinFilter<uint64_t> RTThistory_; utils::MinFilter<int64_t> OWDhistory_; }; |