NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::util::FaceUri Class Reference

represents the underlying protocol and address used by a Face More...

#include <face-uri.hpp>

Classes

class  Error
 

Public Types

typedef function< void(const FaceUri &)> CanonizeSuccessCallback
 
typedef function< void(const std::string &reason)> CanonizeFailureCallback
 

Public Member Functions

 FaceUri ()
 
 FaceUri (const std::string &uri)
 construct by parsing More...
 
 FaceUri (const char *uri)
 
bool parse (const std::string &uri)
 exception-safe parsing More...
 
 FaceUri (const boost::asio::ip::udp::endpoint &endpoint)
 construct udp4 or udp6 canonical FaceUri More...
 
 FaceUri (const boost::asio::ip::tcp::endpoint &endpoint)
 construct tcp4 or tcp6 canonical FaceUri More...
 
 FaceUri (const boost::asio::ip::tcp::endpoint &endpoint, const std::string &scheme)
 construct tcp canonical FaceUri with customized scheme More...
 
 FaceUri (const ethernet::Address &address)
 construct ether canonical FaceUri More...
 
const std::string & getScheme () const
 get scheme (protocol) More...
 
const std::string & getHost () const
 get host (domain) More...
 
const std::string & getPort () const
 get port More...
 
const std::string & getPath () const
 get path More...
 
std::string toString () const
 write as a string More...
 
bool operator== (const FaceUri &rhs) const
 
bool operator!= (const FaceUri &rhs) const
 
bool isCanonical () const
 determine whether this FaceUri is in canonical form More...
 
void canonize (const CanonizeSuccessCallback &onSuccess, const CanonizeFailureCallback &onFailure, boost::asio::io_service &io, const time::nanoseconds &timeout) const
 asynchronously convert this FaceUri to canonical form More...
 

Static Public Member Functions

static FaceUri fromFd (int fd)
 create fd FaceUri from file descriptor More...
 
static FaceUri fromDev (const std::string &ifname)
 create dev FaceUri from network device name More...
 
static FaceUri fromUdpDev (const boost::asio::ip::udp::endpoint &endpoint, const std::string &ifname)
 create udp4 or udp6 NIC-associated FaceUri from endpoint and network device name More...
 
static bool canCanonize (const std::string &scheme)
 

Friends

std::ostream & operator<< (std::ostream &os, const FaceUri &uri)
 

Detailed Description

represents the underlying protocol and address used by a Face

See also
http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#FaceUri

Definition at line 44 of file face-uri.hpp.

Member Typedef Documentation

◆ CanonizeSuccessCallback

typedef function<void(const FaceUri&)> ndn::util::FaceUri::CanonizeSuccessCallback

Definition at line 164 of file face-uri.hpp.

◆ CanonizeFailureCallback

typedef function<void(const std::string& reason)> ndn::util::FaceUri::CanonizeFailureCallback

Definition at line 165 of file face-uri.hpp.

Constructor & Destructor Documentation

◆ FaceUri() [1/7]

ndn::util::FaceUri::FaceUri ( )

Definition at line 43 of file face-uri.cpp.

Referenced by ndn::util::FaceUri::Error::Error(), and FaceUri().

◆ FaceUri() [2/7]

ndn::util::FaceUri::FaceUri ( const std::string &  uri)
explicit

construct by parsing

Parameters
urischeme://host[:port]/path
Exceptions
FaceUri::Errorif URI cannot be parsed

Definition at line 48 of file face-uri.cpp.

References parse().

◆ FaceUri() [3/7]

ndn::util::FaceUri::FaceUri ( const char *  uri)
explicit

Definition at line 55 of file face-uri.cpp.

References parse().

◆ FaceUri() [4/7]

ndn::util::FaceUri::FaceUri ( const boost::asio::ip::udp::endpoint &  endpoint)
explicit

construct udp4 or udp6 canonical FaceUri

Definition at line 110 of file face-uri.cpp.

References ndn::to_string().

◆ FaceUri() [5/7]

ndn::util::FaceUri::FaceUri ( const boost::asio::ip::tcp::endpoint &  endpoint)
explicit

construct tcp4 or tcp6 canonical FaceUri

Definition at line 118 of file face-uri.cpp.

References ndn::to_string().

◆ FaceUri() [6/7]

ndn::util::FaceUri::FaceUri ( const boost::asio::ip::tcp::endpoint &  endpoint,
const std::string &  scheme 
)

construct tcp canonical FaceUri with customized scheme

Definition at line 126 of file face-uri.cpp.

References FaceUri(), and ndn::to_string().

◆ FaceUri() [7/7]

ndn::util::FaceUri::FaceUri ( const ethernet::Address address)
explicit

construct ether canonical FaceUri

Definition at line 152 of file face-uri.cpp.

References ndn::util::ethernet::Address::toString().

Member Function Documentation

◆ parse()

bool ndn::util::FaceUri::parse ( const std::string &  uri)

exception-safe parsing

Definition at line 63 of file face-uri.cpp.

Referenced by ndn::util::FaceUri::Error::Error(), FaceUri(), and nfd::FaceManager::setConfigFile().

◆ fromFd()

FaceUri ndn::util::FaceUri::fromFd ( int  fd)
static

create fd FaceUri from file descriptor

Definition at line 144 of file face-uri.cpp.

References ndn::to_string().

Referenced by ndn::util::FaceUri::Error::Error(), and nfd::face::UnixStreamTransport::UnixStreamTransport().

◆ fromDev()

FaceUri ndn::util::FaceUri::fromDev ( const std::string &  ifname)
static

create dev FaceUri from network device name

Definition at line 160 of file face-uri.cpp.

Referenced by ndn::util::FaceUri::Error::Error(), and nfd::face::EthernetTransport::EthernetTransport().

◆ fromUdpDev()

FaceUri ndn::util::FaceUri::fromUdpDev ( const boost::asio::ip::udp::endpoint &  endpoint,
const std::string &  ifname 
)
static

create udp4 or udp6 NIC-associated FaceUri from endpoint and network device name

Definition at line 169 of file face-uri.cpp.

References ndn::to_string().

Referenced by ndn::util::FaceUri::Error::Error().

◆ getScheme()

◆ getHost()

◆ getPort()

◆ getPath()

◆ toString()

std::string ndn::util::FaceUri::toString ( ) const

write as a string

Definition at line 195 of file face-uri.cpp.

Referenced by ndn::util::UdpDevCanonizeProvider::canonize(), getPath(), and nfd::FaceManager::setConfigFile().

◆ operator==()

bool ndn::util::FaceUri::operator== ( const FaceUri rhs) const

Definition at line 179 of file face-uri.cpp.

Referenced by getPath().

◆ operator!=()

bool ndn::util::FaceUri::operator!= ( const FaceUri rhs) const

Definition at line 189 of file face-uri.cpp.

Referenced by getPath().

◆ canCanonize()

bool ndn::util::FaceUri::canCanonize ( const std::string &  scheme)
static
Returns
whether a FaceUri of the scheme can be canonized

Definition at line 546 of file face-uri.cpp.

References ndn::util::getCanonizeProvider().

Referenced by getPath().

◆ isCanonical()

bool ndn::util::FaceUri::isCanonical ( ) const

◆ canonize()

void ndn::util::FaceUri::canonize ( const CanonizeSuccessCallback onSuccess,
const CanonizeFailureCallback onFailure,
boost::asio::io_service &  io,
const time::nanoseconds &  timeout 
) const

asynchronously convert this FaceUri to canonical form

Parameters
onSuccessfunction to call after this FaceUri is converted to canonical form
Note
A new FaceUri in canonical form will be created; this FaceUri is unchanged.
Parameters
onFailurefunction to call if this FaceUri cannot be converted to canonical form
ioreference to boost::asio::io_service instance
timeoutmaximum allowable duration of the operations. It's intentional not to provide a default value: the caller should set a reasonable value in balance between network delay and user experience.

Definition at line 563 of file face-uri.cpp.

References ndn::util::CanonizeProvider::canonize(), ndn::util::getCanonizeProvider(), and getScheme().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const FaceUri uri 
)
friend

Definition at line 203 of file face-uri.cpp.


The documentation for this class was generated from the following files: