Reduce implicit digest computation in Interest::matchesData
Interest::matchesData always requests the full Name (including the implicit digest component) of the Data packet, which requires implicit digest computation.
This is unnecessary unless the Interest Name probably contains the implicit digest as its last component or the Interest probably excludes the implicit digest of the Data.
Most Interests do not appear to contain or exclude the implicit digest, so that we can optimize for the expected case.
This Task is to avoid requesting the full Name of the Data packet unless it's necessary.
Updated by Junxiao Shi over 6 years ago
This Task does not conflict with ImplicitSha256DigestComponent #1640.
Currently, my code assumes an Interest Name might end with a digest if the last component is 32 octets.
With #1640, the code shall be updated to detect a digest by ImplicitSha256DigestComponent type, and treat everything else non-digest.