From 6d7704c1b497341fd6dd3c27e3f64d0db062ccc2 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Mon, 4 Feb 2019 11:06:18 +0100 Subject: [HICN-11] Rework on transport protocols improving components modularity Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267 Signed-off-by: Mauro Sardara --- libtransport/src/hicn/transport/protocols/cbr.cc | 30 +++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'libtransport/src/hicn/transport/protocols/cbr.cc') diff --git a/libtransport/src/hicn/transport/protocols/cbr.cc b/libtransport/src/hicn/transport/protocols/cbr.cc index 3da4819c3..efd2149ad 100644 --- a/libtransport/src/hicn/transport/protocols/cbr.cc +++ b/libtransport/src/hicn/transport/protocols/cbr.cc @@ -22,25 +22,27 @@ namespace protocol { using namespace interface; -CbrTransportProtocol::CbrTransportProtocol(BaseSocket *icnet_socket) - : VegasTransportProtocol(icnet_socket) {} - -void CbrTransportProtocol::start( - utils::SharableVector &receive_buffer) { - current_window_size_ = socket_->current_window_size_; - VegasTransportProtocol::start(receive_buffer); +CbrTransportProtocol::CbrTransportProtocol( + interface::ConsumerSocket *icnet_socket) + : RaaqmTransportProtocol(icnet_socket) {} + +int CbrTransportProtocol::start() { + socket_->getSocketOption(GeneralTransportOptions::CURRENT_WINDOW_SIZE, + current_window_size_); + return RaaqmTransportProtocol::start(); } -void CbrTransportProtocol::changeInterestLifetime(uint64_t segment) { return; } - -void CbrTransportProtocol::increaseWindow() {} - -void CbrTransportProtocol::decreaseWindow() {} - void CbrTransportProtocol::afterDataUnsatisfied(uint64_t segment) {} void CbrTransportProtocol::afterContentReception( - const Interest &interest, const ContentObject &content_object) {} + const Interest &interest, const ContentObject &content_object) { + auto segment = content_object.getName().getSuffix(); + auto now = utils::SteadyClock::now(); + auto rtt = std::chrono::duration_cast( + now - interest_timepoints_[segment & mask]); + // Update stats + updateStats(segment, rtt.count(), now); +} } // end namespace protocol -- cgit 1.2.3-korg