Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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>
|
|
Change-Id: I75f074413f5b829769ca9908253ffe389ec3bd3d
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: Id1f6d61fd316ec2ef6f1fc0c6b758e79275cfae6
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: Ia4b754c555fa83746680d9dcfd2c73f7d55c72a5
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I1e9a214ead9d4d9bacd98d797371783ad39909f7
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
- 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>
|
|
Change-Id: Ibb5d90fe35097a29fa6edccd3c7859d043888717
Signed-off-by: Angelo Mantellini <manangel@cisco.com>
|
|
Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I09456770dcbca979491cdcadb310eab95a0dea17
Signed-off-by: Angelo Mantellini <manangel@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>
|