Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I5a144f804b87c3575f24c57ba5086136ec02efcd
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
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
|
|
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>
|
|
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>
|
|
Change-Id: Ie22572822b9ac1e6c300fd7982035c799546bd76
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
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>
|
|
Change-Id: Ib4628d0a7711e2d7175b3dbb5c152dd22616ff32
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I9a07c6c806ceba10f80a5f67337dce2eee76120d
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
where N is defined by the application.
Change-Id: Ib20309b40e43e4c0db09b9b484e18cd2e3ebf581
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I665b7dd3c8eae222d62057bc3387daf6c73df1f8
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: Ibb5d90fe35097a29fa6edccd3c7859d043888717
Signed-off-by: Angelo Mantellini <manangel@cisco.com>
|
|
attributes of connectors and sockets. Cleanup of prints.
Change-Id: Ie7eef1d186e581aa950f47df20d57681dc33be55
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I09456770dcbca979491cdcadb310eab95a0dea17
Signed-off-by: Angelo Mantellini <manangel@cisco.com>
|
|
[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>
|
|
Change-Id: I3a43b22194aa13ae5de1746e3d4bd9a275070261
Signed-off-by: Angelo Mantellini <manangel@cisco.com>
|
|
Change-Id: I6f2544ad9b9f8891c88cc4bcce3cf19bd3cc863f
Signed-off-by: Luca Muscariello <lumuscar+fdio@cisco.com>
|