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 custom 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, 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) |
represents the underlying protocol and address used by a Face
Definition at line 43 of file face-uri.hpp.
typedef function<void(const FaceUri&)> ndn::FaceUri::CanonizeSuccessCallback |
Definition at line 163 of file face-uri.hpp.
typedef function<void(const std::string& reason)> ndn::FaceUri::CanonizeFailureCallback |
Definition at line 164 of file face-uri.hpp.
ndn::FaceUri::FaceUri | ( | ) |
Definition at line 46 of file face-uri.cpp.
Referenced by ndn::FaceUri::Error::Error(), and FaceUri().
|
explicit |
construct by parsing
uri | scheme://host[:port]/path |
FaceUri::Error | if URI cannot be parsed |
Definition at line 51 of file face-uri.cpp.
References parse().
|
explicit |
Definition at line 58 of file face-uri.cpp.
|
explicit |
construct udp4 or udp6 canonical FaceUri
Definition at line 121 of file face-uri.cpp.
References ndn::to_string().
|
explicit |
construct tcp4 or tcp6 canonical FaceUri
Definition at line 129 of file face-uri.cpp.
References ndn::to_string().
ndn::FaceUri::FaceUri | ( | const boost::asio::ip::tcp::endpoint & | endpoint, |
const std::string & | scheme | ||
) |
construct tcp canonical FaceUri with custom scheme
Definition at line 137 of file face-uri.cpp.
References FaceUri(), and ndn::to_string().
|
explicit |
construct ether canonical FaceUri
Definition at line 163 of file face-uri.cpp.
bool ndn::FaceUri::parse | ( | const std::string & | uri | ) |
exception-safe parsing
Definition at line 64 of file face-uri.cpp.
Referenced by ndn::FaceUri::Error::Error(), FaceUri(), and nfd::FaceManager::setConfigFile().
|
static |
create fd FaceUri from file descriptor
Definition at line 155 of file face-uri.cpp.
References ndn::to_string().
Referenced by ndn::FaceUri::Error::Error(), and nfd::face::UnixStreamTransport::UnixStreamTransport().
|
static |
create dev FaceUri from network device name
Definition at line 171 of file face-uri.cpp.
Referenced by ndn::DevCanonizeProvider::canonize(), ndn::FaceUri::Error::Error(), nfd::face::EthernetChannel::EthernetChannel(), nfd::face::MulticastEthernetTransport::MulticastEthernetTransport(), and nfd::face::UnicastEthernetTransport::UnicastEthernetTransport().
|
static |
create udp4 or udp6 NIC-associated FaceUri from endpoint and network device name
Definition at line 180 of file face-uri.cpp.
References ndn::to_string().
Referenced by ndn::FaceUri::Error::Error().
|
inline |
get scheme (protocol)
Definition at line 112 of file face-uri.hpp.
Referenced by canonize(), ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::canonize(), ndn::TcpTransport::getSocketHostAndPortFromUri(), isCanonical(), ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::isCanonical(), nfd::FaceManager::setConfigFile(), and ndn::UnixTransport::UnixTransport().
|
inline |
get host (domain)
Definition at line 119 of file face-uri.hpp.
Referenced by ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::canonize(), ndn::EtherCanonizeProvider::canonize(), ndn::DevCanonizeProvider::canonize(), nfd::face::TcpFactory::createFace(), nfd::face::EthernetFactory::createFace(), nfd::face::UdpFactory::createFace(), ndn::TcpTransport::getSocketHostAndPortFromUri(), ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::isCanonical(), ndn::EtherCanonizeProvider::isCanonical(), and ndn::DevCanonizeProvider::isCanonical().
|
inline |
get port
Definition at line 126 of file face-uri.hpp.
Referenced by ndn::DevCanonizeProvider::canonize(), nfd::face::TcpFactory::createFace(), nfd::face::UdpFactory::createFace(), ndn::TcpTransport::getSocketHostAndPortFromUri(), ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::isCanonical(), ndn::EtherCanonizeProvider::isCanonical(), ndn::DevCanonizeProvider::isCanonical(), and ndn::UdpDevCanonizeProvider::isCanonical().
|
inline |
get path
Definition at line 133 of file face-uri.hpp.
References canCanonize(), isCanonical(), operator!=(), operator==(), and toString().
Referenced by ndn::DevCanonizeProvider::canonize(), ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::isCanonical(), ndn::EtherCanonizeProvider::isCanonical(), ndn::DevCanonizeProvider::isCanonical(), ndn::UdpDevCanonizeProvider::isCanonical(), and ndn::UnixTransport::UnixTransport().
std::string ndn::FaceUri::toString | ( | ) | const |
write as a string
Definition at line 206 of file face-uri.cpp.
Referenced by ndn::UdpDevCanonizeProvider::canonize(), getPath(), and nfd::FaceManager::setConfigFile().
bool ndn::FaceUri::operator== | ( | const FaceUri & | rhs | ) | const |
Definition at line 190 of file face-uri.cpp.
Referenced by getPath().
bool ndn::FaceUri::operator!= | ( | const FaceUri & | rhs | ) | const |
Definition at line 200 of file face-uri.cpp.
Referenced by getPath().
|
static |
Definition at line 635 of file face-uri.cpp.
References ndn::getCanonizeProvider().
Referenced by getPath().
bool ndn::FaceUri::isCanonical | ( | ) | const |
determine whether this FaceUri is in canonical form
Definition at line 641 of file face-uri.cpp.
References ndn::getCanonizeProvider(), getScheme(), and ndn::CanonizeProvider::isCanonical().
Referenced by ndn::IpHostCanonizeProvider< boost::asio::ip::tcp >::canonize(), ndn::DevCanonizeProvider::canonize(), ndn::UdpDevCanonizeProvider::canonize(), nfd::face::EthernetFactory::createFace(), nfd::face::TcpFactory::createFace(), nfd::face::UdpFactory::createFace(), getPath(), and nfd::FaceManager::setConfigFile().
void ndn::FaceUri::canonize | ( | const CanonizeSuccessCallback & | onSuccess, |
const CanonizeFailureCallback & | onFailure, | ||
boost::asio::io_service & | io, | ||
time::nanoseconds | timeout | ||
) | const |
asynchronously convert this FaceUri to canonical form
onSuccess | function to call after this FaceUri is converted to canonical form |
onFailure | function to call if this FaceUri cannot be converted to canonical form |
io | reference to boost::asio::io_service instance |
timeout | maximum 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 652 of file face-uri.cpp.
References ndn::CanonizeProvider::canonize(), ndn::getCanonizeProvider(), and getScheme().
|
friend |
Definition at line 214 of file face-uri.cpp.