#
#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
##########
