[Nfd-dev] repo-ng protocol: ChildSelector

Alex Afanasyev alexander.afanasyev at ucla.edu
Tue Jul 15 15:35:37 PDT 2014


My opinion is that semantics of delete operation in repo is different from semantics of search operation (given that only one packet can be returned).   When deleting, you suppose to already know what you're deleting and if you specify prefix (or prefix with child selector, which in turn also defines some prefix), then the whole subtree of this prefix should be deleted.

So, I'm voting for the following repo semantics:

- selector match in normal Interest is to retrieve any Data that matches selectors
- selector match for delete Interest is to delete all Data packet that matche selects

---
Alex

On Jul 15, 2014, at 12:02 AM, Junxiao Shi <shijunxiao at email.arizona.edu> wrote:

> Dear folks
> 
> I have difficulty understanding how repo-ng is expected to process ChildSelector in the delete command.
> 
> Repo protocol <http://redmine.named-data.net/projects/repo-ng/wiki/Repo_Protocol_Specification#Repo-Command-Selectors> states:
> The concrete definitions of both standard NDN selectors and repo command selectors are the same.
> the standard NDN selectors just matches one data packet that conforms to the selector conditions, but repo command selectors would matches any data packets.
> Repo command supports parts of standard NDN interests including MinSuffixComponents, MaxSuffixComponents, PublisherPublicKeyLocator, Exclude, ChildSelector.
> selectors are just supported in delete command.
> NDN-TLV spec <http://named-data.net/doc/ndn-tlv/interest.html#childselector> states:
> Often a given Interest can match more than one Data within a given content store. The ChildSelector provides a way of expressing a preference for which of these should be returned.
> As I understand from these rules, an implementation is required to process Selectors in a delete command, which is used as a filter to determine whether a stored Data under the name prefix should be erased or not.
> However, ChildSelector is different from other selectors in that it does not provide a filter, but expresses a preference about which one Data should be picked among multiple equally-admissible Data.
> 
> My question is: if ChildSelector is present in a delete command, should a repo implementation evaluate the preference rules and erase only one Data, or should this field be ignored?
> 
> Yours, Junxiao
> _______________________________________________
> Nfd-dev mailing list
> Nfd-dev at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20140715/ecab5203/attachment.html>


More information about the Nfd-dev mailing list