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, 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 44 of file face-uri.hpp.
typedef function<void(const FaceUri&)> ndn::FaceUri::CanonizeSuccessCallback |
Definition at line 164 of file face-uri.hpp.
typedef function<void(const std::string& reason)> ndn::FaceUri::CanonizeFailureCallback |
Definition at line 165 of file face-uri.hpp.
ndn::FaceUri::FaceUri | ( | ) |
Definition at line 45 of file face-uri.cpp.
|
explicit |
construct by parsing
uri | scheme://host[:port]/path |
FaceUri::Error | if URI cannot be parsed |
Definition at line 50 of file face-uri.cpp.
References parse().
|
explicit |
Definition at line 57 of file face-uri.cpp.
|
explicit |
construct udp4 or udp6 canonical FaceUri
Definition at line 119 of file face-uri.cpp.
References ndn::to_string().
|
explicit |
construct tcp4 or tcp6 canonical FaceUri
Definition at line 127 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 135 of file face-uri.cpp.
References ndn::to_string().
|
explicit |
construct ether canonical FaceUri
Definition at line 161 of file face-uri.cpp.
bool ndn::FaceUri::parse | ( | const std::string & | uri | ) |
|
static |
create fd FaceUri from file descriptor
Definition at line 153 of file face-uri.cpp.
References ndn::to_string().
Referenced by nfd::face::UnixStreamTransport::UnixStreamTransport().
|
static |
create dev FaceUri from network device name
Definition at line 169 of file face-uri.cpp.
Referenced by ndn::DevCanonizeProvider::canonize(), 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 178 of file face-uri.cpp.
References ndn::to_string().
|
inline |
get scheme (protocol)
Definition at line 113 of file face-uri.hpp.
Referenced by canonize(), nfd::face::ProtocolFactory::createFace(), isCanonical(), nfd::matchFilter(), and nfd::face::NetdevBound::processConfig().
|
inline |
get host (domain)
Definition at line 120 of file face-uri.hpp.
Referenced by ndn::EtherCanonizeProvider::canonize(), ndn::DevCanonizeProvider::canonize(), ndn::EtherCanonizeProvider::isCanonical(), and ndn::DevCanonizeProvider::isCanonical().
|
inline |
get port
Definition at line 127 of file face-uri.hpp.
Referenced by ndn::DevCanonizeProvider::canonize(), ndn::EtherCanonizeProvider::isCanonical(), ndn::DevCanonizeProvider::isCanonical(), and ndn::UdpDevCanonizeProvider::isCanonical().
|
inline |
get path
Definition at line 134 of file face-uri.hpp.
Referenced by ndn::DevCanonizeProvider::canonize(), ndn::EtherCanonizeProvider::isCanonical(), ndn::DevCanonizeProvider::isCanonical(), and ndn::UdpDevCanonizeProvider::isCanonical().
std::string ndn::FaceUri::toString | ( | ) | const |
write as a string
Definition at line 204 of file face-uri.cpp.
Referenced by ndn::UdpDevCanonizeProvider::canonize(), nfd::copyFaceProperties(), nfd::makeCreateFaceResponse(), nfd::matchFilter(), and nfd::face::NetdevBound::processConfig().
bool ndn::FaceUri::operator== | ( | const FaceUri & | rhs | ) | const |
Definition at line 188 of file face-uri.cpp.
bool ndn::FaceUri::operator!= | ( | const FaceUri & | rhs | ) | const |
Definition at line 198 of file face-uri.cpp.
|
static |
Definition at line 630 of file face-uri.cpp.
References ndn::getCanonizeProvider().
Referenced by nfd::face::ProtocolFactory::createFace().
bool ndn::FaceUri::isCanonical | ( | ) | const |
determine whether this FaceUri is in canonical form
Definition at line 636 of file face-uri.cpp.
References ndn::getCanonizeProvider(), getScheme(), and ndn::CanonizeProvider::isCanonical().
Referenced by ndn::EtherCanonizeProvider::canonize(), ndn::DevCanonizeProvider::canonize(), nfd::face::ProtocolFactory::createFace(), and nfd::face::ProtocolFactory::createNetdevBoundFace().
void ndn::FaceUri::canonize | ( | const CanonizeSuccessCallback & | onSuccess, |
const CanonizeFailureCallback & | onFailure, | ||
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 |
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 647 of file face-uri.cpp.
References ndn::CanonizeProvider::canonize(), ndn::getCanonizeProvider(), and getScheme().
|
friend |
Definition at line 212 of file face-uri.cpp.