ndn::InterestFilter Class Reference

declares the set of Interests a producer can serve, which starts with a name prefix, plus an optional regular expression More...

#include <interest-filter.hpp>

Classes

class  Error
 

Public Member Functions

 InterestFilter (const Name &prefix)
 Construct an InterestFilter to match Interests by prefix. More...
 
 InterestFilter (const char *prefixUri)
 Construct an InterestFilter to match Interests by prefix. More...
 
 InterestFilter (const std::string &prefixUri)
 Construct an InterestFilter to match Interests by prefix. More...
 
 InterestFilter (const Name &prefix, const std::string &regexFilter)
 Construct an InterestFilter to match Interests by prefix and regular expression. More...
 
bool doesMatch (const Name &name) const
 Check if specified Interest name matches the filter. More...
 
const NamegetPrefix () const
 
const RegexPatternListMatchergetRegexFilter () const
 
bool hasRegexFilter () const
 
 operator const Name & () const
 Implicit conversion to Name. More...
 

Detailed Description

declares the set of Interests a producer can serve, which starts with a name prefix, plus an optional regular expression

Definition at line 35 of file interest-filter.hpp.

Constructor & Destructor Documentation

ndn::InterestFilter::InterestFilter ( const Name prefix)

Construct an InterestFilter to match Interests by prefix.

This filter matches Interests whose name start with the given prefix.

Note
InterestFilter is implicitly convertible from Name.

Definition at line 27 of file interest-filter.cpp.

ndn::InterestFilter::InterestFilter ( const char *  prefixUri)

Construct an InterestFilter to match Interests by prefix.

This filter matches Interests whose name start with the given prefix.

Parameters
prefixUriname prefix, interpreted as ndn URI
Note
InterestFilter is implicitly convertible from null-terminated byte string.

Definition at line 32 of file interest-filter.cpp.

ndn::InterestFilter::InterestFilter ( const std::string &  prefixUri)

Construct an InterestFilter to match Interests by prefix.

This filter matches Interests whose name start with the given prefix.

Parameters
prefixUriname prefix, interpreted as ndn URI
Note
InterestFilter is implicitly convertible from std::string.

Definition at line 37 of file interest-filter.cpp.

ndn::InterestFilter::InterestFilter ( const Name prefix,
const std::string &  regexFilter 
)

Construct an InterestFilter to match Interests by prefix and regular expression.

This filter matches Interests whose name start with the given prefix and the remaining components match the given regular expression. For example, the following InterestFilter:

InterestFilter("/hello", "<world><>+")

matches Interests whose name has prefix /hello followed by component world and has at least one more component after it, such as:

/hello/world/%21 /hello/world/x/y/z

Note that regular expression will need to match all components (e.g., there are implicit heading ^ and trailing $ symbols in the regular expression).

Definition at line 42 of file interest-filter.cpp.

Member Function Documentation

bool ndn::InterestFilter::doesMatch ( const Name name) const

Check if specified Interest name matches the filter.

Definition at line 58 of file interest-filter.cpp.

const Name& ndn::InterestFilter::getPrefix ( ) const
inline

Definition at line 111 of file interest-filter.hpp.

const RegexPatternListMatcher& ndn::InterestFilter::getRegexFilter ( ) const
inline

Definition at line 123 of file interest-filter.hpp.

bool ndn::InterestFilter::hasRegexFilter ( ) const
inline

Definition at line 117 of file interest-filter.hpp.

ndn::InterestFilter::operator const Name & ( ) const

Implicit conversion to Name.

Note
This allows InterestCallback to be declared with Name rather than InterestFilter, but this does not work if InterestFilter has regular expression.

Definition at line 48 of file interest-filter.cpp.