diff options
author | michele papalini <micpapal@cisco.com> | 2019-04-04 18:05:16 +0200 |
---|---|---|
committer | michele papalini <micpapal@cisco.com> | 2019-04-04 18:05:16 +0200 |
commit | 9307374bf9dbf3805d97d90ffd04d7f41f2c61a0 (patch) | |
tree | 003cdca34e7ac9b9360be2053735292b5108dbce /libtransport/src/hicn/transport/protocols/rtc.h | |
parent | 805cfe7b075b4f906a4646211b5aa29a993cb16f (diff) |
[HICN-170] do not send interests for already received content
Change-Id: I87c9c0a0b556263582f451e73cb22091cdc0919a
Signed-off-by: michele papalini <micpapal@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/protocols/rtc.h')
-rw-r--r-- | libtransport/src/hicn/transport/protocols/rtc.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libtransport/src/hicn/transport/protocols/rtc.h b/libtransport/src/hicn/transport/protocols/rtc.h index 51a288574..227f1d737 100644 --- a/libtransport/src/hicn/transport/protocols/rtc.h +++ b/libtransport/src/hicn/transport/protocols/rtc.h @@ -84,7 +84,9 @@ namespace protocol { struct sentInterest { uint64_t transmissionTime; + uint32_t sequence; //sequence number of the interest sent uint8_t retransmissions; + uint8_t received; //1 = received, 0 = not received }; class RTCTransportProtocol : public TransportProtocol, public Reassembly { @@ -160,9 +162,11 @@ class RTCTransportProtocol : public TransportProtocol, public Reassembly { uint32_t inflightInterestsCount_; std::queue<uint32_t> interestRetransmissions_; std::vector<sentInterest> inflightInterests_; - uint32_t lastSegNacked_; //indicates the last segment id in a past Nack. - //we do not ask for retransmissions for samething - //that is older than this value. + uint32_t lastSegNacked_; //indicates the segment id in the last received + // past Nack. we do not ask for retransmissions + //for samething that is older than this value. + uint32_t lastReceived_; //segment of the last content object received + //indicates the base of the window on the client uint32_t nackedByProducerMaxSize_; std::set<uint32_t> nackedByProducer_; // this is used to avoid retransmissions from the |