#
#THIS IS A SAMPLE CLIENT INTEREST TRAFFIC CONFIGURATION FILE
#
# * TO BE USED TO GENERATE INTEREST MESSAGES BASED ON A PROBABILITY
#   PATTERN.
# * EVERY INIVIDUAL PATTERN DESCRIPTION MUST BE SEPARATED BY ONE
#   OR MORE '#' CHARACTERS FOR THE TOOL TO DISTINGUISH THEM
#   INDIVIUDALLY
# * THE FOLLOWING PARAMETERS MAY BE ADDED FOR EVERY TRAFFIC PATTERN
# * (Mandatory) NEXT TO A PARAMETER MEANS EVERY PATTERN SHOULD HAVE
#   IT FOR BEING CONSIDERED VALID
#   (Optional) MEANS OTHERWISE
# * ALSO PROVIDED ARE VALID VALUES POSSIBLE FOR EACH PARAMETER
# * PLEASE ENSURE THAT THE SUM OF TRAFFIC PERCENTAGE FOR ALL PATTERNS
#   PROVIDED DOES NOT EXCEED 100 IN ORDER TO MAINTAIN CORRECT BEHAVIOR
# * NNI STANDS FOR NON-NEGATIVE INTEGER
# * RANGE OF POSSIBLE VALUES IS SPECIFIED IN [] 
#
#
#(Mandatory)
#TrafficPercentage=NNI [0-100]
#Name=NDN Name
#
#(Optional)
#NameAppendBytes=NNI [>0]
#NameAppendSequenceNumber=NNI [>=0]
#MinSuffixComponents=NNI
#MaxSuffixComponents=NNI
#ExcludeBefore=NDN Name Component
#ExcludeAfter=NDN Name Component
#ExcludeBeforeBytes=NNI [>0]
#ExcludeAfterBytes=NNI [>0]
#ChildSelector=NNI [0-1]
#MustBeFresh=NNI [0-1]
#NonceDuplicationPercentage=NNI [0-100]
#Scope=NNI
#InterestLifetime=NNI [Milliseconds]
#
#
##########
TrafficPercentage=10
Name=/example
NameAppendBytes=4
MinSuffixComponents=2
##########
TrafficPercentage=30
Name=/example/A
MustBeFresh=1
NonceDuplicationPercentage=10
##########
TrafficPercentage=45
Name=/example
ExcludeBeforeBytes=4
##########
TrafficPercentage=5
Name=/example/B
NameAppendSequenceNumber=1
Scope=2
##########
