face: Implement WebSocket channel, face, and factory.
Change-Id: Ic4dbb1abdbbdbec028746ba14b11be8ab9cc1edb
Refs: #1468
diff --git a/core/face-uri.cpp b/core/face-uri.cpp
index 1b2092c..2969e20 100644
--- a/core/face-uri.cpp
+++ b/core/face-uri.cpp
@@ -112,6 +112,14 @@
m_port = boost::lexical_cast<std::string>(endpoint.port());
}
+FaceUri::FaceUri(const boost::asio::ip::tcp::endpoint& endpoint, const std::string& scheme)
+ : m_scheme(scheme)
+{
+ m_isV6 = endpoint.address().is_v6();
+ m_host = endpoint.address().to_string();
+ m_port = boost::lexical_cast<std::string>(endpoint.port());
+}
+
#ifdef HAVE_UNIX_SOCKETS
FaceUri::FaceUri(const boost::asio::local::stream_protocol::endpoint& endpoint)
: m_isV6(false)
diff --git a/core/face-uri.hpp b/core/face-uri.hpp
index 487f8f8..94474c7 100644
--- a/core/face-uri.hpp
+++ b/core/face-uri.hpp
@@ -79,6 +79,9 @@
explicit
FaceUri(const boost::asio::ip::udp::endpoint& endpoint);
+ /// construct tcp canonical FaceUri with customized scheme
+ FaceUri(const boost::asio::ip::tcp::endpoint& endpoint, const std::string& scheme);
+
#ifdef HAVE_UNIX_SOCKETS
/// construct unix canonical FaceUri
explicit