NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: 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 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

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

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

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

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

Constructor & Destructor Documentation

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

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

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

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().

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

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

References parse().

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.

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.

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().

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

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::onFaceRequest().

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

create fd FaceUri from file descriptor

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

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

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().

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

write as a string

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

Referenced by getPath().

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

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

Referenced by getPath().

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

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

Referenced by getPath().

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

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

References ndn::util::getCanonizeProvider().

Referenced by getPath().

bool ndn::util::FaceUri::isCanonical ( ) const
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
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 523 of file face-uri.cpp.

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

Referenced by ndn::util::CanonizeProvider::~CanonizeProvider().

Friends And Related Function Documentation

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

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


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