aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h
diff options
context:
space:
mode:
authormichele papalini <micpapal@cisco.com>2019-07-03 09:53:14 +0200
committermichele papalini <micpapal@cisco.com>2019-07-03 09:53:14 +0200
commit816964180f5fc15c756580fef0173dad55f59933 (patch)
treed4b955b6fceba5d616dcd4454b8b3a3e39f27b3f /libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h
parent0415ae764f84398ccc14debd9afbac761da385ae (diff)
[HICN-232] fix concurrency problem on rtc producer socket
Change-Id: Ia873aa3c9b6ef4825df88fa05cc1d6dc40bb73a1 Signed-off-by: michele papalini <micpapal@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h')
-rw-r--r--libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h b/libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h
index be39d2b32..408ce3ff7 100644
--- a/libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h
+++ b/libtransport/src/hicn/transport/interfaces/rtc_socket_producer.h
@@ -41,26 +41,25 @@ class RTCProducerSocket : public ProducerSocket {
void onInterest(Interest::Ptr &&interest) override;
private:
- void sendNack(const Interest &interest);
+ void sendNack(const Interest &interest, bool isActvie);
void updateStats(uint32_t packet_size, uint64_t now);
- // std::map<uint32_t, uint64_t> pendingInterests_;
uint32_t currentSeg_;
uint32_t prodLabel_;
uint16_t headerSize_;
Name flowName_;
- // bool produceInSynch_;
uint32_t producedBytes_;
uint32_t producedPackets_;
uint32_t bytesProductionRate_;
std::atomic<uint32_t> packetsProductionRate_;
uint32_t perSecondFactor_;
uint64_t lastStats_;
- // std::chrono::steady_clock::time_point lastProduced_;
- std::atomic<uint64_t> lastProduced_;
- std::atomic<bool> active_;
+
+ uint64_t lastProduced_;
+ bool active_;
+ utils::SpinLock lock_;
};
} // namespace interface
-} // end namespace transport \ No newline at end of file
+} // end namespace transport