aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/utils
AgeCommit message (Collapse)AuthorFilesLines
2020-02-12[HICN-508] [HICN-509] [HICN-506] Manifest reworkMauro Sardara3-148/+111
Change-Id: I992205148910be008d66b5acb7f6f1365770f9e8 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-11[HICN-511] Added android log for libhicntransportMauro Sardara1-6/+4
Change-Id: I566939e02d7f2c8be6be9665d32c09f4737f69e1 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-02-05[HICN-502] fix min_filter max sizemichele papalini1-1/+1
Signed-off-by: michele papalini <micpapal@cisco.com> Change-Id: I108240376b67c221d440f43496a17513b89db0a3
2019-11-22[HICN-411] Change how manifests are requestedOlivier Roques1-29/+18
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-20[HICN-402] Limit in-flight interests for manifestsOlivier Roques1-0/+5
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-392] Assign independent suffixes for manifests/contentsOlivier Roques3-1/+210
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-356] Fix uninitialized pointerOlivier Roques1-0/+2
The signature verification method verify() in verifier.cc would try to initialize a pointer to the current packet's payload, which was never set in the first place. This fix calls the packet's method responsible for initializing that pointer. Signed-off-by: Olivier Roques <olvrqs@gmail.com> Change-Id: Ie5ab08036186ea4b766f6825c129ee68d01fc2b6
2019-10-31[HICN-371] Solve memory leaks in libtransport.Mauro Sardara1-1/+8
Signed-off-by: Mauro Sardara <msardara@cisco.com> Change-Id: I654843c3361c7bdb4b160f2441f08e8d91e97384 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-10-22[HICN-328] Reworking setSocketOption and getSocketOption to be thread-safeAlberto Compagno2-3/+9
Change-Id: Ie22572822b9ac1e6c300fd7982035c799546bd76 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-07-08[HICN-242] Perform only one allocation for the whole buffer passed to produce()Mauro Sardara2-4/+4
Change-Id: Ib4628d0a7711e2d7175b3dbb5c152dd22616ff32 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-05-13[HICN-194] support for android environmentAngelo Mantellini1-0/+2
Change-Id: I11a614709152035784e492ccd99bc383765a0aa1 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-03-23[HICN-6] ATS Working, little refactoring of appsMauro Sardara2-3/+3
Change-Id: I174815b70bf3a9fbe99ffab7dd2914be04d364b9 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-15[HICN-118] Add .clang-format file, format all libtransport project.Mauro Sardara1-1/+2
Change-Id: I61392567b648014eaa111fc2567770192fccffa6 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-12[HICN-109] Adding higet applicationAngelo Mantellini1-0/+1
Change-Id: If558eb5da804fde2ab331a463bf9c9c11cc471e9 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 Sardara2-31/+50
attributes of connectors and sockets. Cleanup of prints. Change-Id: Ie7eef1d186e581aa950f47df20d57681dc33be55 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-08[HICN-85] Added state to connectors.Mauro Sardara1-1/+1
Change-Id: I26d1b37fec4a2482b97a80fa5648f243745908f7 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-03-05[HICN-11] Rework on transport protocols improving components modularityMauro Sardara12-469/+36
Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-02-22[HICN-80] Avoid segfault when deleting memif interface on VPP.Mauro Sardara1-1/+2
Change-Id: Ie36cfc0ade82b38815d61a7ead2c72fc640236ed Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-02-13[HICN-61] Compile Error in libtransport in windows environmentAngelo Mantellini2-3/+5
Change-Id: I25642a194996e449b91d492b22a379466c524940 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-02-13Merge "[HICN-62] Using the new API in libparc to remove a per-packet copy of ↵Mauro Sardara1-1/+1
the signature"
2019-02-13[HICN-62] Using the new API in libparc to remove a per-packet copy of the ↵Alberto Compagno1-1/+1
signature Change-Id: I4d2dee75d7ba3ed94a1676fd4ab892c6bcad958a Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-02-13[HICN-60] Solved concurrent memory access which was leading to seg-faultAlberto Compagno3-7/+6
Change-Id: I7b9fcf79bb97650346f7d92af8cbb419f0a5cb95 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-02-13[HICN-59] Do not call clear on membuf sharing same underlying memory. Use ↵Mauro Sardara1-0/+3
trimEnd instead. Change-Id: I69463ede2b32f1d625b6161fabd08daca41c3483 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-02-12[HICN-52] Fix signature computation and verification in libtransportMauro Sardara2-22/+32
Change-Id: I9b30a9c9e95e2cb2f135fe7efd43e633235196d9 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-02-11[HICN-46] Remove warnings libtransport on windowsAngelo Mantellini5-11/+12
Change-Id: I09456770dcbca979491cdcadb310eab95a0dea17 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-02-07[HICN-39] Added api that return a pointer to the signature hold in a packetAlberto Compagno2-36/+10
[HICN-40] Fixed signature calculation by allocating a contiguous portion of memory that holds the entire hICN header (IP+TCP+AH) Change-Id: I9d40bab0e3ecb82949b8b3a00e2cc1214457e4e3 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-01-31[HICN-20] This source upgrade allows to compile ping_client, ping_server and ↵Angelo Mantellini3-5/+19
hiperf (utils folder) in Windows. Change-Id: I8253aa9aa640644b0daffd95dff202956371d814 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-01-30[HICN-18] first commit of libtransport for windowsAngelo Mantellini42-6/+22
Change-Id: I3a43b22194aa13ae5de1746e3d4bd9a275070261 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-01-21- Code style fixMauro Sardara6-36/+47
- Improved vpp binary api interface - Correction in object pool destructor - Fix error in Memif Connector Change-Id: Id1dd9219fc1ac0b3717ae019ebff17373bebc635 Signed-off-by: Mauro Sardara <msardara@cisco.com>
2019-01-17This is the first commit of the hicn projectv19.01Luca Muscariello45-0/+7631
Change-Id: I6f2544ad9b9f8891c88cc4bcce3cf19bd3cc863f Signed-off-by: Luca Muscariello <lumuscar+fdio@cisco.com>