Project

General

Profile

Feature #2961

Updated by Tai-Lin Chu almost 9 years ago

# Introduction 

 There are two parts in this proposal: 

 
 1. Remove maxSuffixComponent, minSuffixComponent, and exclude 
 2. Add "accept" 


 # Accept 

 Accept deals with suffixes, which are names. 

 To make sure that we are on the same page, I give one example: 

 ``` 
 data name: /a/b/c 
 interest name: /a 
 suffix: /b/c (a name with 2 components) 
 ``` 
 Now I define "accept": 

 ``` 
 Accept ::= ACCEPT-TYPE TLV-LENGTH (Interval)+ 
 Interval ::= INTERVAL-TYPE TLV-LENGTH (Name? Name?) // (Name .. Name) 
 ``` 

 Note:  

 1. These intervals are open. 
 2. None of them should overlap, so the form is canonical. 
 3. An omitted left open interval is the smallest suffix; an omitted right open interval is the largest suffix. In a interval, the endpoints cannot both be omitted. 
 4. Accept deals with the suffix space (not full name). 

 Accept offers "deep" cuts in the suffix space tree (each interval contains names instead of components). Moreover, it directly specifies the target X instead of excluding NOT X. 


Back