You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by dm...@apache.org on 2014/12/13 00:41:26 UTC

[5/5] mesos git commit: Introduce process::network namespace.

Introduce process::network namespace.

Introduce process::network namespace to encapsulate socket call wrappers
and Socket class.

Review: https://reviews.apache.org/r/28959


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/a8ee2d32
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/a8ee2d32
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/a8ee2d32

Branch: refs/heads/master
Commit: a8ee2d320e5eedec0c3a295c7d9aa384342ab4b1
Parents: 16fc87a
Author: Evelina Dumitrescu <ev...@gmail.com>
Authored: Fri Dec 12 15:30:22 2014 -0800
Committer: Dominic Hamon <dh...@twitter.com>
Committed: Fri Dec 12 15:30:46 2014 -0800

----------------------------------------------------------------------
 3rdparty/libprocess/include/process/event.hpp   |  4 ++--
 3rdparty/libprocess/include/process/socket.hpp  |  6 ++++--
 3rdparty/libprocess/src/decoder.hpp             |  6 +++---
 3rdparty/libprocess/src/encoder.hpp             | 14 +++++++-------
 3rdparty/libprocess/src/http.cpp                |  4 ++--
 3rdparty/libprocess/src/process.cpp             |  9 +++++----
 3rdparty/libprocess/src/tests/decoder_tests.cpp |  1 +
 3rdparty/libprocess/src/tests/http_tests.cpp    |  4 ++--
 3rdparty/libprocess/src/tests/process_tests.cpp | 12 ++++++------
 9 files changed, 32 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/include/process/event.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/event.hpp b/3rdparty/libprocess/include/process/event.hpp
index 6392332..fa6beea 100644
--- a/3rdparty/libprocess/include/process/event.hpp
+++ b/3rdparty/libprocess/include/process/event.hpp
@@ -102,7 +102,7 @@ private:
 
 struct HttpEvent : Event
 {
-  HttpEvent(const Socket& _socket, http::Request* _request)
+  HttpEvent(const network::Socket& _socket, http::Request* _request)
     : socket(_socket), request(_request) {}
 
   virtual ~HttpEvent()
@@ -115,7 +115,7 @@ struct HttpEvent : Event
     visitor->visit(*this);
   }
 
-  const Socket socket;
+  const network::Socket socket;
   http::Request* const request;
 
 private:

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/include/process/socket.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/socket.hpp b/3rdparty/libprocess/include/process/socket.hpp
index 9f6c847..7e1e3f2 100644
--- a/3rdparty/libprocess/include/process/socket.hpp
+++ b/3rdparty/libprocess/include/process/socket.hpp
@@ -16,6 +16,7 @@
 
 
 namespace process {
+namespace network {
 
 // Returns a socket fd for the specified options. Note that on OS X,
 // the returned socket will have the SO_NOSIGPIPE option set.
@@ -158,13 +159,13 @@ public:
       // Supported in Linux >= 2.6.27.
 #if defined(SOCK_NONBLOCK) && defined(SOCK_CLOEXEC)
       Try<int> fd =
-        process::socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
+        network::socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
 
       if (fd.isError()) {
         ABORT("Failed to create socket: " + fd.error());
       }
 #else
-      Try<int> fd = process::socket(AF_INET, SOCK_STREAM, 0);
+      Try<int> fd = network::socket(AF_INET, SOCK_STREAM, 0);
       if (fd.isError()) {
         ABORT("Failed to create socket: " + fd.error());
       }
@@ -253,6 +254,7 @@ private:
   std::shared_ptr<Impl> impl;
 };
 
+} // namespace network {
 } // namespace process {
 
 #endif // __PROCESS_SOCKET_HPP__

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/decoder.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/decoder.hpp b/3rdparty/libprocess/src/decoder.hpp
index b66f378..8168464 100644
--- a/3rdparty/libprocess/src/decoder.hpp
+++ b/3rdparty/libprocess/src/decoder.hpp
@@ -23,7 +23,7 @@ namespace process {
 class DataDecoder
 {
 public:
-  explicit DataDecoder(const Socket& _s)
+  explicit DataDecoder(const network::Socket& _s)
     : s(_s), failure(false), request(NULL)
   {
     settings.on_message_begin = &DataDecoder::on_message_begin;
@@ -67,7 +67,7 @@ public:
     return failure;
   }
 
-  Socket socket() const
+  network::Socket socket() const
   {
     return s;
   }
@@ -240,7 +240,7 @@ private:
     return 0;
   }
 
-  const Socket s; // The socket this decoder is associated with.
+  const network::Socket s; // The socket this decoder is associated with.
 
   bool failure;
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/encoder.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/encoder.hpp b/3rdparty/libprocess/src/encoder.hpp
index 7331e28..52dfd7f 100644
--- a/3rdparty/libprocess/src/encoder.hpp
+++ b/3rdparty/libprocess/src/encoder.hpp
@@ -37,7 +37,7 @@ public:
     FILE
   };
 
-  explicit Encoder(const Socket& _s) : s(_s) {}
+  explicit Encoder(const network::Socket& _s) : s(_s) {}
   virtual ~Encoder() {}
 
   virtual Kind kind() const = 0;
@@ -46,20 +46,20 @@ public:
 
   virtual size_t remaining() const = 0;
 
-  Socket socket() const
+  network::Socket socket() const
   {
     return s;
   }
 
 private:
-  const Socket s; // The socket this encoder is associated with.
+  const network::Socket s; // The socket this encoder is associated with.
 };
 
 
 class DataEncoder : public Encoder
 {
 public:
-  DataEncoder(const Socket& s, const std::string& _data)
+  DataEncoder(const network::Socket& s, const std::string& _data)
     : Encoder(s), data(_data), index(0) {}
 
   virtual ~DataEncoder() {}
@@ -98,7 +98,7 @@ private:
 class MessageEncoder : public DataEncoder
 {
 public:
-  MessageEncoder(const Socket& s, Message* _message)
+  MessageEncoder(const network::Socket& s, Message* _message)
     : DataEncoder(s, encode(_message)), message(_message) {}
 
   virtual ~MessageEncoder()
@@ -153,7 +153,7 @@ class HttpResponseEncoder : public DataEncoder
 {
 public:
   HttpResponseEncoder(
-      const Socket& s,
+      const network::Socket& s,
       const http::Response& response,
       const http::Request& request)
     : DataEncoder(s, encode(response, request)) {}
@@ -237,7 +237,7 @@ public:
 class FileEncoder : public Encoder
 {
 public:
-  FileEncoder(const Socket& s, int _fd, size_t _size)
+  FileEncoder(const network::Socket& s, int _fd, size_t _size)
     : Encoder(s), fd(_fd), size(_size), index(0) {}
 
   virtual ~FileEncoder()

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/http.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/http.cpp b/3rdparty/libprocess/src/http.cpp
index 54f0e5d..869b205 100644
--- a/3rdparty/libprocess/src/http.cpp
+++ b/3rdparty/libprocess/src/http.cpp
@@ -66,7 +66,7 @@ Future<Response> request(
     const Option<string>& body,
     const Option<string>& contentType)
 {
-  Try<int> socket = process::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+  Try<int> socket = network::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
 
   if (socket.isError()) {
     return Failure("Failed to create socket: " + socket.error());
@@ -82,7 +82,7 @@ Future<Response> request(
 
   const string host = stringify(upid.node);
 
-  Try<int> connect = process::connect(s, upid.node);
+  Try<int> connect = network::connect(s, upid.node);
   if (connect.isError()) {
     os::close(s);
     return Failure(connect.error());

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/process.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/process.cpp b/3rdparty/libprocess/src/process.cpp
index d4d823d..028b33e 100644
--- a/3rdparty/libprocess/src/process.cpp
+++ b/3rdparty/libprocess/src/process.cpp
@@ -97,6 +97,7 @@ using process::http::OK;
 using process::http::Request;
 using process::http::Response;
 using process::http::ServiceUnavailable;
+using process::network::Socket;
 
 using std::deque;
 using std::find;
@@ -1281,7 +1282,7 @@ Future<Nothing> connect(const Socket& socket)
 
 Future<Nothing> Socket::Impl::connect(const Node& node)
 {
-  Try<int> connect = process::connect(get(), node);
+  Try<int> connect = network::connect(get(), node);
   if (connect.isError()) {
     if (errno == EINPROGRESS) {
       return io::poll(get(), io::WRITE)
@@ -1393,13 +1394,13 @@ Future<size_t> Socket::Impl::sendfile(int fd, off_t offset, size_t size)
 
 Try<Node> Socket::Impl::bind(const Node& node)
 {
-  Try<int> bind = process::bind(get(), node);
+  Try<int> bind = network::bind(get(), node);
   if (bind.isError()) {
     return Error(bind.error());
   }
 
   // Lookup and store assigned ip and assigned port.
-  return process::getsockname(get(), AF_INET);
+  return network::getsockname(get(), AF_INET);
 }
 
 
@@ -1416,7 +1417,7 @@ namespace internal {
 
 Future<Socket> accept(int fd)
 {
-  Try<int> accepted = process::accept(fd, AF_INET);
+  Try<int> accepted = network::accept(fd, AF_INET);
   if (accepted.isError()) {
     return Failure(accepted.error());
   }

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/tests/decoder_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/decoder_tests.cpp b/3rdparty/libprocess/src/tests/decoder_tests.cpp
index 04ca3ff..ef52798 100644
--- a/3rdparty/libprocess/src/tests/decoder_tests.cpp
+++ b/3rdparty/libprocess/src/tests/decoder_tests.cpp
@@ -15,6 +15,7 @@ using namespace process::http;
 using std::deque;
 using std::string;
 
+using process::network::Socket;
 
 TEST(Decoder, Request)
 {

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/tests/http_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/http_tests.cpp b/3rdparty/libprocess/src/tests/http_tests.cpp
index ac7913c..c71a91d 100644
--- a/3rdparty/libprocess/src/tests/http_tests.cpp
+++ b/3rdparty/libprocess/src/tests/http_tests.cpp
@@ -114,13 +114,13 @@ TEST(HTTP, Endpoints)
   spawn(process);
 
   // First hit '/body' (using explicit sockets and HTTP/1.0).
-  Try<int> socket = process::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+  Try<int> socket = network::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
 
   ASSERT_TRUE(socket.isSome());
 
   int s = socket.get();
 
-  ASSERT_TRUE(process::connect(s, process.self().node).isSome());
+  ASSERT_TRUE(network::connect(s, process.self().node).isSome());
 
   std::ostringstream out;
   out << "GET /" << process.self().id << "/body"

http://git-wip-us.apache.org/repos/asf/mesos/blob/a8ee2d32/3rdparty/libprocess/src/tests/process_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/process_tests.cpp b/3rdparty/libprocess/src/tests/process_tests.cpp
index d0a3945..3bbfe0a 100644
--- a/3rdparty/libprocess/src/tests/process_tests.cpp
+++ b/3rdparty/libprocess/src/tests/process_tests.cpp
@@ -1419,13 +1419,13 @@ TEST(Process, remote)
   EXPECT_CALL(process, handler(_, _))
     .WillOnce(FutureSatisfy(&handler));
 
-  Try<int> socket = process::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+  Try<int> socket = network::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
 
   ASSERT_TRUE(socket.isSome());
 
   int s = socket.get();
 
-  ASSERT_TRUE(process::connect(s, process.self().node).isSome());
+  ASSERT_TRUE(network::connect(s, process.self().node).isSome());
 
   Message message;
   message.name = "handler";
@@ -1485,16 +1485,16 @@ TEST(Process, http2)
   spawn(process);
 
   // Create a receiving socket so we can get messages back.
-  Try<int> socket = process::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+  Try<int> socket = network::socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
   ASSERT_TRUE(socket.isSome());
 
   int s = socket.get();
 
-  ASSERT_TRUE(process::bind(s, Node()).isSome());
+  ASSERT_TRUE(network::bind(s, Node()).isSome());
 
   // Create a UPID for 'Libprocess-From' based on the IP and port we
   // got assigned.
-  Try<Node> node = process::getsockname(s, AF_INET);
+  Try<Node> node = network::getsockname(s, AF_INET);
   ASSERT_TRUE(node.isSome());
 
   UPID from("", node.get());
@@ -1527,7 +1527,7 @@ TEST(Process, http2)
   post(process.self(), from, name);
 
   // Accept the incoming connection.
-  Try<int> accepted = process::accept(s, AF_INET);
+  Try<int> accepted = network::accept(s, AF_INET);
   ASSERT_TRUE(accepted.isSome());
 
   int c = accepted.get();