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
|
|
|
|
Signed-off-by: mashemat <mhemmatp@cisco.com>
Change-Id: I6c2f65e61a2f13db8261a32482336b21f07d5e45
|
|
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>
|
|
|
|
Change-Id: Iaac34a53ae95b511594a5dcd6b1e614eba9ff135
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: I5c24f687e8e815d0e2f437ff8ce7fbb2c76e0579
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
|
|
control api
Change-Id: Id097368dcde993775f206623195cc5aa57b4fe12
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: I41ca0f411053992625dec0b32ffe6a444c5bc51c
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: I4cb2378b2e44afbaedb984409a221b2e3f0e99b4
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
|
|
|
|
Change-Id: I230d4cc51710fa4ce7ce24c97cd72b1fc7d1f573
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: If3f9a7db1e1310fdc08d1003b28e5e1d4006b61e
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
Signed-off-by: masoud <mhemmatp@cisco.com>
Change-Id: Idabe9d3a3b03139ad3cdb20c8c822e6dd7d4c553
|
|
|
|
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Change-Id: Ib31e731c02341234169bd5163eb86fe1da900e40
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
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
|
|
Change-Id: Ic0ce2d01a05c2724eeaf91f76aafa2facedcbaf3
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
|
|
|
|
Signed-off-by: Angelo Mantellini <angelo.mantellini@cisco.com>
Change-Id: I23dfdbfc79a8e0bf385ae8ab0d56b90fecaf8c53
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Change-Id: I654843c3361c7bdb4b160f2441f08e8d91e97384
Signed-off-by: Mauro Sardara <msardara@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>
|
|
incl. reattempts in case of errors"
|
|
reattempts in case of errors
Change-Id: Ia4ecf621fbd513d9e29313d2aaa487aa65811183
Signed-off-by: Jordan Augé <jordan.auge@cisco.com>
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Id8f59c9c52d7c1fa21edbae9ee1b965b25fe6800
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I2e52d002533706abdd82fbca5ebb80e81374de86
|
|
Signed-off-by: Angelo Mantellini <angelo.mantellini@cisco.com>
Change-Id: Ie41760070d027d2b28c9eb8b7c27ad5438c746ae
|
|
|
|
Change-Id: I7617becdb520f20caca341be11fbb8c1054de021
Signed-off-by: Jordan Augé <jordan.auge@cisco.com>
|
|
wainting for the timeout
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I84074d106bf2cfd3f7a3fb02947198179b0b5b74
|
|
|
|
Adding missing python3-ply package on the build-package script
Change-Id: I3fa536483bb3e8f3a6bd81011515172b00cce4ff
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
|
|
Change-Id: I1c9a7099fbf59c09fb22475e9695373f316d0b6e
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
Change-Id: Ibb709d45f9572e5cde11f9a64f4a1b9212b6cc92
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
missing commands in CLI"
|
|
commands in CLI
Change-Id: I999b8321715fca1d09f89eacf7fac4029e32cbba
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
missing commands in CLI"
|
|
commands in CLI
Change-Id: I2a5d04d6fab06344e5b89ea52d76c7a3f016004c
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
missing commands in CLI"
|
|
interface
Change-Id: I920a0eb091d826e1eb0d1f786fb0b437487f7ff7
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
commands in CLI
Change-Id: Ifc743b65493b87a5156bca7ad63f8cae516460d8
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
|
|
|
|
Change-Id: I901ef6cd52d83537d70e3bb49af9e4540fd26c6f
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|