nfd::tools::nfdc Namespace Reference

Namespaces

 text
 
 xml
 

Classes

class  ChannelModule
 provides access to NFD channel dataset More...
 
class  CommandArguments
 contains named command arguments More...
 
class  CommandDefinition
 declares semantics of a command More...
 
class  CommandParser
 parses a command More...
 
class  ExecuteContext
 context for command execution More...
 
class  FaceModule
 provides access to NFD face management More...
 
class  FibModule
 provides access to NFD FIB management More...
 
class  FindFace
 procedure to find a face More...
 
class  ForwarderGeneralModule
 provides access to NFD forwarder general status More...
 
class  Module
 provides access to an NFD management module More...
 
class  RibModule
 provides access to NFD RIB management More...
 
class  StatusReport
 collects and prints NFD status report More...
 
struct  StatusReportOptions
 
class  StrategyChoiceModule
 provides access to NFD Strategy Choice management More...
 

Typedefs

using ExecuteCommand = std::function< void(ExecuteContext &ctx)>
 a function to execute a command More...
 

Enumerations

enum  ArgValueType {
  ArgValueType::NONE,
  ArgValueType::ANY,
  ArgValueType::BOOLEAN,
  ArgValueType::UNSIGNED,
  ArgValueType::STRING,
  ArgValueType::REPORT_FORMAT,
  ArgValueType::NAME,
  ArgValueType::FACE_URI,
  ArgValueType::FACE_ID_OR_URI,
  ArgValueType::FACE_PERSISTENCY,
  ArgValueType::ROUTE_ORIGIN
}
 indicates argument value type More...
 
enum  AvailableIn : uint8_t {
  AVAILABLE_IN_NONE = 0,
  AVAILABLE_IN_ONE_SHOT = 1 << 0,
  AVAILABLE_IN_BATCH = 1 << 1,
  AVAILABLE_IN_HELP = 1 << 7,
  AVAILABLE_IN_ALL = 0xff
}
 indicates which modes is a command allowed More...
 
enum  ParseMode : uint8_t {
  ParseMode::ONE_SHOT = AVAILABLE_IN_ONE_SHOT,
  ParseMode::BATCH = AVAILABLE_IN_BATCH
}
 indicates which mode is the parser operated in More...
 
enum  Positional {
  Positional::NO = false,
  Positional::YES = true
}
 indicates whether an argument can be specified as positional More...
 
enum  ReportFormat {
  ReportFormat::XML = 1,
  ReportFormat::TEXT = 2
}
 
enum  Required {
  Required::NO = false,
  Required::YES = true
}
 indicates whether an argument is required More...
 

Functions

static time::system_clock::Duration calculateUptime (const ForwarderStatus &status)
 
static std::string getMetavarFromType (ArgValueType vt)
 
void help (ExecuteContext &ctx, const CommandParser &parser)
 the 'help' command More...
 
void helpList (std::ostream &os, const CommandParser &parser, ParseMode mode, const std::string &noun)
 
static void helpSingle (const std::string &noun, const std::string &verb)
 
static int main (int argc, char **argv)
 
 NDN_LOG_INIT (nfdc.CommandDefinition)
 
std::ostream & operator<< (std::ostream &os, ArgValueType vt)
 
std::ostream & operator<< (std::ostream &os, AvailableIn modes)
 
std::ostream & operator<< (std::ostream &os, ReportFormat fmt)
 
std::ostream & operator<< (std::ostream &os, ParseMode mode)
 
static bool parseBoolean (const std::string &s)
 
static FacePersistency parseFacePersistency (const std::string &s)
 
ReportFormat parseReportFormat (const std::string &s)
 
static bool persistencyLessThan (FacePersistency x, FacePersistency y)
 order persistency in NONE < ON_DEMAND < PERSISTENCY < PERMANENT More...
 
void registerCommands (CommandParser &parser)
 
void registerHelpCommand (CommandParser &parser)
 registers 'help' command More...
 
void registerStatusCommands (CommandParser &parser)
 registers status commands More...
 
void reportStatus (ExecuteContext &ctx, const StatusReportOptions &options)
 collect a status report and write to stdout More...
 
static void reportStatusComprehensive (ExecuteContext &ctx)
 the 'status report' command More...
 
static void reportStatusSingleSection (ExecuteContext &ctx, bool StatusReportOptions::*wantSection)
 single-section status command More...
 

Variables

const int LIST_COMMAND_NAME_COLUMN_WIDTH = 16
 

Typedef Documentation

using nfd::tools::nfdc::ExecuteCommand = typedef std::function<void(ExecuteContext& ctx)>

a function to execute a command

Definition at line 91 of file execute-command.hpp.

Enumeration Type Documentation

indicates argument value type

Enumerator
NONE 

boolean argument without value

The argument appears in CommandArguments as bool value 'true'. It must not be declared as positional.

ANY 

any arguments

The argument appears in CommandArguments as std::vector<std::string>. It must be declared as positional, and will consume all subsequent tokens.

BOOLEAN 

boolean

The argument appears in CommandArguments as bool.

UNSIGNED 

non-negative integer

The argument appears in CommandArguments as uint64_t. Acceptable input range is [0, std::numeric_limits<int64_t>::max()].

STRING 

arbitrary string

The argument appears in CommandArguments as std::string.

REPORT_FORMAT 

report format 'xml' or 'text'

The argument appears in CommandArguments as nfd::tools::nfdc::ReportFormat.

NAME 

Name prefix.

The argument appears in CommandArguments as ndn::Name.

FACE_URI 

FaceUri.

The argument appears in CommandArguments as ndn::FaceUri.

FACE_ID_OR_URI 

FaceId or FaceUri.

The argument appears in CommandArguments as either uint64_t or ndn::FaceUri.

FACE_PERSISTENCY 

face persistency 'persistent' or 'permanent'

The argument appears in CommandArguments as ndn::nfd::FacePersistency.

ROUTE_ORIGIN 

route origin

The argument appears in CommandArguments as ndn::nfd::RouteOrigin.

Definition at line 37 of file command-definition.hpp.

indicates which modes is a command allowed

Enumerator
AVAILABLE_IN_NONE 
AVAILABLE_IN_ONE_SHOT 

one-shot mode

AVAILABLE_IN_BATCH 

batch mode

AVAILABLE_IN_HELP 

visible in help listing

AVAILABLE_IN_ALL 

Definition at line 39 of file command-parser.hpp.

enum nfd::tools::nfdc::ParseMode : uint8_t
strong

indicates which mode is the parser operated in

Enumerator
ONE_SHOT 

one-shot mode

BATCH 

batch mode

Definition at line 52 of file command-parser.hpp.

indicates whether an argument can be specified as positional

Enumerator
NO 

argument must be named

YES 

argument can be specified as positional

Definition at line 120 of file command-definition.hpp.

Enumerator
XML 
TEXT 

Definition at line 42 of file status-report.hpp.

indicates whether an argument is required

Enumerator
NO 

argument is optional

YES 

argument is required

Definition at line 113 of file command-definition.hpp.

Function Documentation

static time::system_clock::Duration nfd::tools::nfdc::calculateUptime ( const ForwarderStatus &  status)
static

Definition at line 48 of file forwarder-general-module.cpp.

static std::string nfd::tools::nfdc::getMetavarFromType ( ArgValueType  vt)
static

Definition at line 66 of file command-definition.cpp.

void nfd::tools::nfdc::help ( ExecuteContext ctx,
const CommandParser parser 
)

the 'help' command

Definition at line 76 of file help.cpp.

void nfd::tools::nfdc::helpList ( std::ostream &  os,
const CommandParser parser,
ParseMode  mode,
const std::string &  noun 
)

Definition at line 40 of file help.cpp.

static void nfd::tools::nfdc::helpSingle ( const std::string &  noun,
const std::string &  verb 
)
static

Definition at line 67 of file help.cpp.

static int nfd::tools::nfdc::main ( int  argc,
char **  argv 
)
static

Definition at line 37 of file main.cpp.

nfd::tools::nfdc::NDN_LOG_INIT ( nfdc.  CommandDefinition)
std::ostream & nfd::tools::nfdc::operator<< ( std::ostream &  os,
ArgValueType  vt 
)

Definition at line 36 of file command-definition.cpp.

std::ostream & nfd::tools::nfdc::operator<< ( std::ostream &  os,
AvailableIn  modes 
)

Definition at line 41 of file command-parser.cpp.

std::ostream & nfd::tools::nfdc::operator<< ( std::ostream &  os,
ReportFormat  fmt 
)

Definition at line 46 of file status-report.cpp.

std::ostream & nfd::tools::nfdc::operator<< ( std::ostream &  os,
ParseMode  mode 
)

Definition at line 61 of file command-parser.cpp.

static bool nfd::tools::nfdc::parseBoolean ( const std::string &  s)
static

Definition at line 220 of file command-definition.cpp.

static FacePersistency nfd::tools::nfdc::parseFacePersistency ( const std::string &  s)
static

Definition at line 232 of file command-definition.cpp.

ReportFormat nfd::tools::nfdc::parseReportFormat ( const std::string &  s)

Definition at line 34 of file status-report.cpp.

static bool nfd::tools::nfdc::persistencyLessThan ( FacePersistency  x,
FacePersistency  y 
)
static

order persistency in NONE < ON_DEMAND < PERSISTENCY < PERMANENT

Definition at line 133 of file face-module.cpp.

void nfd::tools::nfdc::registerCommands ( CommandParser parser)

Definition at line 38 of file available-commands.cpp.

void nfd::tools::nfdc::registerHelpCommand ( CommandParser parser)

registers 'help' command

Definition at line 91 of file help.cpp.

void nfd::tools::nfdc::registerStatusCommands ( CommandParser parser)

registers status commands

Providing the following commands:

  • status report
  • status show
  • channel list
  • strategy list
  • fib list
  • route list

Definition at line 115 of file status.cpp.

void nfd::tools::nfdc::reportStatus ( ExecuteContext ctx,
const StatusReportOptions options 
)

collect a status report and write to stdout

Definition at line 41 of file status.cpp.

static void nfd::tools::nfdc::reportStatusComprehensive ( ExecuteContext ctx)
static

the 'status report' command

Definition at line 105 of file status.cpp.

static void nfd::tools::nfdc::reportStatusSingleSection ( ExecuteContext ctx,
bool StatusReportOptions::*  wantSection 
)
static

single-section status command

Definition at line 95 of file status.cpp.

Variable Documentation

const int nfd::tools::nfdc::LIST_COMMAND_NAME_COLUMN_WIDTH = 16

Definition at line 37 of file help.cpp.