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