aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/interfaces
AgeCommit message (Collapse)AuthorFilesLines
2020-02-26[HICN-534] Major rework on libtransport organizationMauro Sardara24-6005/+0
Change-Id: I361b83a18b4fd59be136d5f0817fc28e17e89884 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-21[HICN-2] Added P2P confidential communication on hICNAlberto Compagno19-131/+2772
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 Sardara8-50/+164
Change-Id: I992205148910be008d66b5acb7f6f1365770f9e8 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-12[HICN-513] fix uninitialized batching parameter in libtransport's rate ↵Jordan Augé1-1/+2
estimation Change-Id: I5e3855439994dea453d68cda446b6756240265a9 Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
2020-02-04[HICN-501] Change calculation of next reassembly segment when manifests are ↵Olivier Roques1-12/+0
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>
2019-12-06[HICN-437] concurrency problem in rtc producer socketmichele papalini1-1/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I629914f48e00814796f16b201e03549e9c7941bd
2019-12-02[HICN-426] Add isRunning API to consumer and producer socket.Mauro Sardara3-0/+9
Change-Id: I5a144f804b87c3575f24c57ba5086136ec02efcd Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-11-22[HICN-409] remove race condition in rtc procuder socketmichele papalini1-2/+4
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ifdc5d912b8687bae3da78fadb05524d78e767f5a
2019-11-14[HICN-393] Fix various issues related to manifestsOlivier Roques2-3/+19
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-11-14[HICN-392] Assign independent suffixes for manifests/contentsOlivier Roques2-37/+42
This patch introduces a new class, SuffixStrategy and two sub-classes, SuffixContent and SuffixManifest which allow to independently assign suffixes to contents and manifests respectively. The produce() function in socket_producer.cc has also been changed to use them. Given a strategy and an offset (and optionally the capacity of a manifest), these classes automatically compute the correct next suffixes for both type of data (manifest or content). This removes the burden of having to manage suffixes for instance when producing or when retrieving content, and could be expanded to add more strategy in the future. Currently the only existing strategy is "INCREMENTAL": manifests with capacity N have a suffix multiple of N+1: 0, N+1, 2(N+1) etc. Contents have a suffix incremented by 1 except when it conflicts with a manifest: 1, 2, ..., N, N+2, N+3, ..., 2N+1, 2N+3... Signed-off-by: Olivier Roques <olvrqs@gmail.com> Change-Id: Ia7692d7325240de7bea6e38b668077042e5f8758 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-10-31[HICN-354] Fixed bug on raaqm when reassemblying packetsAlberto Compagno4-105/+60
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-22[HICN-342] No need to take a lock on the hash entry if the lookup forAlberto Compagno4-6/+6
a data hit the CS. Data packets coming from the network are dropped, data packets coming from an application face are either dropped or sent to the push node (which does not require a lock on the hash entry) Change-Id: Icf662dffa33b9dda2e2a69fc2104a69a82ef19fd Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-10-22[HICN-328] Reworking setSocketOption and getSocketOption to be thread-safeAlberto Compagno11-1203/+1578
Change-Id: Ie22572822b9ac1e6c300fd7982035c799546bd76 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-10-18[HICN-339] improve rtc producer socket for low rate trafficmichele papalini2-19/+17
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I1e6fdada9a55e0a93b8d5db768124f2e47daf05b
2019-10-16[HICN-332] add output buffer to the RTC producer socketmichele papalini1-8/+37
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I119f2a4b4b7153e8da7ca891112f4f0ddf8251e5
2019-10-10[HICN-317] schedule rounds using timers in rtc producermichele papalini2-28/+35
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I4a5fe9c954713dc266e7aeb5f461b460d508d8e3
2019-10-10[HICN-316] improve rtc for low rate streamsmichele papalini2-46/+12
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I29d9720450f8cee429eb02a494092f208c298355
2019-10-09[HICN-308] delete interests from interest mapmichele papalini1-6/+8
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ie69909e3984faac777f9fc3b3e0625e8de3a7771
2019-10-08[HICN-302] low rate traffic in RTCmichele papalini2-10/+146
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: Ib6511d82abc91e9008588cd2b7fd80022c6d232b
2019-10-04[HICN-292] fix inflight interests countingmichele papalini1-0/+5
Change-Id: I1b02b9338e43de27cf90b4a11121c54a00ed428a Signed-off-by: michele papalini <micpapal@cisco.com>
2019-10-03[HICN-291] handle multiple paths in RTCmichele papalini1-1/+3
Change-Id: I69d331aa6e953e802e2f4b3e60325f852941fd94 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-09-10[HICN-273] Add zero copy produce() API to RTC producer socket.Mauro Sardara3-12/+19
This API allows to transfer the ownership of the packet from the application to the libtransport, thus avoiding to copy the packet. Change-Id: Ic26b15783648b9e8821f71e47a2d9f5130474510 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-07-08[HICN-242] Perform only one allocation for the whole buffer passed to produce()Mauro Sardara2-9/+24
Change-Id: Ib4628d0a7711e2d7175b3dbb5c152dd22616ff32 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-07-03[HICN-231] fix reinitialization of rtc socketmichele papalini1-1/+1
Change-Id: If8e11556afcd8828cb0aa7759e6c1194a1657f1d Signed-off-by: michele papalini <micpapal@cisco.com>
2019-07-03[HICN-232] fix concurrency problem on rtc producer socketmichele papalini2-28/+38
Change-Id: Ia873aa3c9b6ef4825df88fa05cc1d6dc40bb73a1 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-06-24[HICN-227] Destroy trasnsport protocol object before any other object in ↵Mauro Sardara1-8/+3
consumer socket. Change-Id: I6545701b9a91b3ae1b06435e9133652ad9466653 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-05-16[HICN-198] Fix stop api of consumer socketMauro Sardara1-6/+3
Change-Id: I9629ace83a40d4b669648b85c26a7b469f207cfc Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-18[HICN-178] Sync send of control messages.v19.04Mauro Sardara6-10/+12
Change-Id: I9a07c6c806ceba10f80a5f67337dce2eee76120d Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-16[HICN-171] remove RTCP from the RTC socketmichele papalini3-78/+1
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 Sardara11-1526/+320
where N is defined by the application. Change-Id: Ib20309b40e43e4c0db09b9b484e18cd2e3ebf581 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-10[HICN-175] Fix nack retransmissions when using memif connector.Mauro Sardara2-18/+17
Change-Id: I6fe2c7f69146118e71ff4e27acea7abea337c2d5 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-04-09[HICN-173] bad initialization of bytesProductionRate in RTC producer socketmichele papalini1-3/+4
Change-Id: I1c11985aae1bdf1450b022e25f1c9f44b1bd3ec1 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-03[HICN-96] add callbacks in RTCmichele papalini1-2/+11
Change-Id: Ide96e5798ab57f057de6a6f91078a5082f69e313 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-04-03[HICN-167] fixes on timeouts and nacksmichele papalini1-1/+1
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-23/+58
Change-Id: Ibc8b9ef65feaf6fbe12dbaa285ddcd738e1cd197 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-03-23[HICN-6] ATS Working, little refactoring of appsMauro Sardara3-20/+22
Change-Id: I174815b70bf3a9fbe99ffab7dd2914be04d364b9 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-20[HICN-133] Fix return of number of produced packet of produce().Mauro Sardara1-1/+1
Change-Id: I157d858ce2d7eeaa16f404fcfee9f51a9e6b777b Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-19[HICN-125 HICN-126]Mauro Sardara2-12/+10
- Add MemBuf as return type of getPayload of transport::core::Packet - Fix incremental index manager Change-Id: Ib557d56b1bf42e3974364c611b825b21f1e3d3f1 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-18Merge "[HICN-103] Manifest retransmissions."Alberto Compagno1-0/+4
2019-03-18[HICN-103] Manifest retransmissions.Mauro Sardara1-0/+4
Change-Id: I1b61c79e99bb8da471d1e284ea2a629d48b9f308 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-15Merge "[HICN-118] Add .clang-format file, format all libtransport project."Mauro Sardara1-2/+2
2019-03-15[HICN-114] Update Hicn Http Server to hicn fdio stackAngelo Mantellini1-2/+2
Change-Id: Ic808c93c14f905fd403e60be82ce319757e84c9f Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-03-15[HICN-118] Add .clang-format file, format all libtransport project.Mauro Sardara1-2/+2
Change-Id: I61392567b648014eaa111fc2567770192fccffa6 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-14[HICN-116] Added RTC producer option to hiperf.Mauro Sardara3-15/+21
Change-Id: I665b7dd3c8eae222d62057bc3387daf6c73df1f8 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-08[HICN-102] Remove warnings and compilation errors in hicn on windowsAngelo Mantellini2-5/+5
Change-Id: Ibb5d90fe35097a29fa6edccd3c7859d043888717 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-03-08[HICN-99] Destroy in the correct order and in the correct event loop the ↵Mauro Sardara5-54/+23
attributes of connectors and sockets. Cleanup of prints. Change-Id: Ie7eef1d186e581aa950f47df20d57681dc33be55 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-05[HICN-73] Performance improvements of interest/data transmission and ↵Mauro Sardara1-5/+5
reception at low level in the stack (portal.h) Change-Id: I1525726f52040f1609e284bb9b995ea8794c5d5e Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-05[HICN-11] Rework on transport protocols improving components modularityMauro Sardara12-1594/+1152
Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-02-18[HICN-67] add interest callback in RTC producer socketmichele papalini1-2/+5
Change-Id: I8b2075d71f272956e213b0b1505d7af46844d387 Signed-off-by: michele papalini <micpapal@cisco.com>
2019-02-11[HICN-46] Remove warnings libtransport on windowsAngelo Mantellini5-16/+17
Change-Id: I09456770dcbca979491cdcadb310eab95a0dea17 Signed-off-by: Angelo Mantellini <manangel@cisco.com>