aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/protocols
AgeCommit message (Collapse)AuthorFilesLines
2020-02-26[HICN-534] Major rework on libtransport organizationMauro Sardara40-5694/+0
Change-Id: I361b83a18b4fd59be136d5f0817fc28e17e89884 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-21[HICN-2] Added P2P confidential communication on hICNAlberto Compagno14-28/+430
P2P confidential communications exploit the TLS 1.3 protocol to let a consumer to establish a secure communication on an hICN name. Currently we don't support the consumer authentication (mutual authentication in TLS) and the 0-rtt session establishment. Change-Id: I2be073847c08a17f28c837d444081920c5e57a07 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com> Signed-off-by: Olivier Roques <oroques+fdio@cisco.com> Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-12[HICN-508] [HICN-509] [HICN-506] Manifest reworkMauro Sardara26-840/+1404
Change-Id: I992205148910be008d66b5acb7f6f1365770f9e8 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-05Merge "[HICN-503] correctly compute drop probability in RAAQM"Alberto Compagno1-1/+2
2020-02-05[HICN-503] correctly compute drop probability in RAAQMmichele papalini1-1/+2
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I1b74a88c4d46aae178599f43ac6f223b29d4dfc5
2020-02-04[HICN-501] Change calculation of next reassembly segment when manifests are ↵Olivier Roques3-27/+57
enabled When manifests are enabled, the current way of computing the next reassembly segment is broken: if manifests are received out of order, which can happen if a interest for a manifest timeouts, reassembly will also be out of order. This patch makes uses of the SuffixContent class introduced in HICN-392 to correctly compute the index of the next segment to reassemble. Change-Id: I2784f3da544fef7b48a110dd6c233657610f44b8 Signed-off-by: Olivier Roques <oroques+fdio@cisco.com>
2020-01-31[HICN-499] RAAQM: do not reinitialize window at every call of consume.Mauro Sardara1-1/+0
Change-Id: I557164a31997574cbf93b0612cdd87e21be76c74 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-01-09[HICN-471] Fix wrong callback check in RAAQMOlivier Roques1-1/+1
The wrong callback is null-checked before it is used in RAAQM. Signed-off-by: Olivier Roques <oroques+fdio@cisco.com> Change-Id: Id602453ad18d0297663b7cef66daa58cc5c0891a
2019-12-20[HICN-466] expose rtt stats to appliaction in rtc transportmichele papalini1-0/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: If7af2154f5054a475521bf84c8d455ad3058bbb9
2019-12-06[HICN-437] concurrency problem in rtc producer socketmichele papalini1-2/+2
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I629914f48e00814796f16b201e03549e9c7941bd
2019-12-04[HICN-433] fix and tune parameters in rtc transportmichele papalini1-2/+2
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ib67d395e0c7c4ac4c11dabe44cbde417faa70e20
2019-12-02[HICN-425] RTC min windowmichele papalini1-3/+0
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ic75e11dcf43b7ed947a8f577d9aa5d345d5662ee
2019-12-02[HICN-425] RTC min windowmichele papalini2-2/+8
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ieb41ffff61ed4341dc9aacb58d3e7c397e72fc41
2019-11-22[HICN-413] rtc client improvementsmichele papalini2-9/+20
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ia23dee91776ccaa0bdf667eefc850e298f966cec
2019-11-22[HICN-411] Change how manifests are requestedOlivier Roques2-61/+55
This patch introduces a new way of requesting manifests such that all the segments they contain fill the current transport window. When a manifest (M) is received, we compute L = last_segment_requested + current_window_size. L is therefore equal or greater than the last segment of the current window. Then we compare L to the suffix of the next manifest that will be (potentially) requested. If L > next_manifest, it means that the last segment of the window is greater than the first segment contained in the next manifest. Therefore we request manifests until L <= next_manifest, ie until the manifests would cover the entire window. If L <= next_manifest, then all the manifests that were requested already cover the window, so there's no need to request more. However if the next manifest immediately follows the current one (M), we still need to request it so that the content suffix queue is correctly updated. Signed-off-by: Olivier Roques <olvrqs@gmail.com> Change-Id: I71a5a0031cd783277d0aa59fd68d5d7bf64fe6ae
2019-11-22[HICN-410] reduce sentinel timer aggressivenessmichele papalini1-2/+2
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I538d8266912fea244505e4d2ceccef0dd9a242bc
2019-11-20[HICN-402] Limit in-flight interests for manifestsOlivier Roques2-2/+20
Currently, interests for manifests are sent independently of the transport protocol. When receiving a manifest, interests for next manifests are sent until the next window would be full of data segments. But there is no limit on the number of interests for manifests that can be sent. After a while, the interest input buffer in the producer's side is full of them and cannot satisfy the requests quickly enough. This results in a large drop of bandwidth on the consumer side. This patch allows to limit the number of in-flight interests for manifests. Signed-off-by: Olivier Roques <olvrqs@gmail.com> Change-Id: Ic497bd55fd92233e4b47b04635fb9bf75506375e
2019-11-14[HICN-393] Fix various issues related to manifestsOlivier Roques5-17/+31
The current manifest implementation is broken: 1. ManifestIndexingManager, responsible for validating manifests and segments and retrieving the next ones, assumes that all manifests have the same size. This assumption affects the retrieval of next manifests which is based on the number of segments the current manifest contains. Therefore when a non-full manifests arrives, the computed suffix of the next manifest is wrong and refer to a content instead, which results in an error. 2. Manifests are used to update a suffix queue which stores all the segments listed in manifests. This queue is used to retrieve content sequentially via a pointer indicating the next content to fetch. When the pointer reaches the end of the suffix queue, the consumer stops sending interests. The correct behavior would be to wait for a new manifest which would update the queue. This patch fixes these two issues: 1. Issue 1 was fixed by using SuffixManifest (HICN-392). This allows to set the capacity of a manifest at the start of the consumption instead of checking each time the size of the current manifest and then using that (non-constant) value to retrieve the next manifests. 2. Issue 2 was fixed by passing to ManifestIndexingManager a reference to an object capable of calling the scheduleNextInterest function, which is then called after a new manifest is retrieved to make sure interests for content kept being sent. This is not an optimal solution but rather a temporary one, until the retrieval of manifests is done at the transport level rather than in ManifestIndexingManager. This patch also changes the order of production: manifests are now sent before content. To do so, contents are added into a queue until the manifest is complete. Signed-off-by: Olivier Roques <olvrqs@gmail.com> Change-Id: I1a1bb92ca1cf2d3c745c1b65f6c7376f916c679b
2019-10-31Merge "[HICN-354] Fixed bug on raaqm when reassemblying packets"Michele Papalini1-1/+1
2019-10-31[HICN-354] Fixed bug on raaqm when reassemblying packetsAlberto Compagno1-1/+1
Moved rescheduleOnIOService in the header file to allow its usage together with inheritance Change-Id: I15e4b92535e1478d0dd09828d2d13e2b77e000b3 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-10-31[HICN-361] speed up the socket start upmichele papalini1-16/+31
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Id8f59c9c52d7c1fa21edbae9ee1b965b25fe6800
2019-10-31[HICN-318] schedule rounds using timers in rtc conusmermichele papalini2-15/+13
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I2e52d002533706abdd82fbca5ebb80e81374de86
2019-10-30[HICN-360] retransmit pending interests when all of them get lost without ↵michele papalini2-8/+105
wainting for the timeout Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I84074d106bf2cfd3f7a3fb02947198179b0b5b74
2019-10-22[HICN-328] Reworking setSocketOption and getSocketOption to be thread-safeAlberto Compagno4-159/+168
Change-Id: Ie22572822b9ac1e6c300fd7982035c799546bd76 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-10-18Merge "[HICN-337] correlty set timers for rtx in rtc consumer"Alberto Compagno2-24/+54
2019-10-18[HICN-337] correlty set timers for rtx in rtc consumermichele papalini2-24/+54
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Iaf947ac6c7763ba0a648f9cc865ca0f11cb3e31f
2019-10-18[HICN-338] correctly compute the estimated production rate in rtc socketmichele papalini1-4/+4
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I5ab36c5dde449ff0f3e0372372c09dbb227aecf5
2019-10-16Merge "[HICN-335] fix max win computation in RTC consumer"Mauro Sardara1-1/+1
2019-10-16[HICN-335] fix max win computation in RTC consumermichele papalini1-1/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I735764cf2520182ae46bd2b18f1dc87355a57d85
2019-10-16[HICN-333] fix addRetransmissions in RTC consumer socketmichele papalini1-1/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Id9fb3a5ae6355e901ba2f2d4a93e8ad241b4410c
2019-10-16[HICN-331] schedule rtx at the right timemichele papalini2-14/+13
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Iae4e0bbc5a1e534fd3727d02804aba370378af00
2019-10-15[HICN-239] retransmissions on RTCmichele papalini1-33/+37
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I9777e445acf0dd0f70af0a9446b3b9a1424c0c6f
2019-10-10[HICN-316] improve rtc for low rate streamsmichele papalini2-61/+14
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I29d9720450f8cee429eb02a494092f208c298355
2019-10-08[HICN-302] low rate traffic in RTCmichele papalini1-1/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ib6511d82abc91e9008588cd2b7fd80022c6d232b
2019-10-04[HICN-296] handle first packet received in RTC consumer socketmichele papalini2-2/+31
Change-Id: I2edb971f43ed4ad2165349345999a7af871323da Signed-off-by: michele papalini <micpapal@cisco.com>
2019-10-04[HICN-292] fix inflight interests countingmichele papalini1-19/+20
Change-Id: I1b02b9338e43de27cf90b4a11121c54a00ed428a Signed-off-by: michele papalini <micpapal@cisco.com>
2019-10-03[HICN-291] handle multiple paths in RTCmichele papalini5-131/+432
Change-Id: I69d331aa6e953e802e2f4b3e60325f852941fd94 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-07-18[HICN-248] Install libraries under correct folder (lib/x86_64-linux-gnu on ↵Mauro Sardara1-1/+1
ubuntu/debian and lib64 on centos) Change-Id: I9c8fc206f2f93b9eae1060387ab6d0833da80124 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-07-03[HICN-231] fix reinitialization of rtc socketmichele papalini2-19/+7
Change-Id: If8e11556afcd8828cb0aa7759e6c1194a1657f1d Signed-off-by: michele papalini <micpapal@cisco.com>
2019-05-24[HICN-205] Update statistics across different download sessions in RAAQMMauro Sardara1-0/+1
Change-Id: I75f074413f5b829769ca9908253ffe389ec3bd3d Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-05-16[HICN-199] Fix retransmissions when there is no space left in the window.Mauro Sardara1-0/+8
Change-Id: Id1f6d61fd316ec2ef6f1fc0c6b758e79275cfae6 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-18[HICN-178] Sync send of control messages.v19.04Mauro Sardara1-1/+1
Change-Id: I9a07c6c806ceba10f80a5f67337dce2eee76120d Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-16[HICN-171] remove RTCP from the RTC socketmichele papalini2-142/+2
Change-Id: I1e088c782ba727131ddd71ffe1fb1d8edd2cdec2 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-15[HICN-155] Consumer socket allows now to read N bytes from the network, ↵Mauro Sardara4-125/+227
where N is defined by the application. Change-Id: Ib20309b40e43e4c0db09b9b484e18cd2e3ebf581 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-15[HICN-168] RTC retransmissionsmichele papalini2-132/+228
Change-Id: Ie7c24674715e593e1479b027226dbe8eda310421 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-04[HICN-170] do not send interests for already received contentmichele papalini2-11/+46
Change-Id: I87c9c0a0b556263582f451e73cb22091cdc0919a Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-03[HICN-96] add callbacks in RTCmichele papalini1-0/+7
Change-Id: Ide96e5798ab57f057de6a6f91078a5082f69e313 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-03[HICN-167] fixes on timeouts and nacksmichele papalini2-23/+43
Change-Id: I4b232bbe7edc4b09d9ebd750724761e7e6c75bf8 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-02[HICN-94] Handle nacks when the producer socket is not activemichele papalini2-37/+52
Change-Id: Ibc8b9ef65feaf6fbe12dbaa285ddcd738e1cd197 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-03-29[HICN-152] Fix window size in CBR.Mauro Sardara2-2/+6
Change-Id: Ib2d6658a6118b29f57b99ecc58ac001030092982 Signed-off-by: Mauro Sardara <msardara@cisco.com>