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/08 19:28:11 UTC

mesos git commit: Remove dead source file (not referenced in makefile)

Repository: mesos
Updated Branches:
  refs/heads/master 3455c8985 -> 974c4cd72


Remove dead source file (not referenced in makefile)

Review:


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

Branch: refs/heads/master
Commit: 974c4cd72ef29553f1af5bf94f03d2a109d31b6e
Parents: 3455c89
Author: Dominic Hamon <dh...@twitter.com>
Authored: Fri Dec 5 15:14:17 2014 -0800
Committer: Dominic Hamon <dh...@twitter.com>
Committed: Mon Dec 8 10:27:46 2014 -0800

----------------------------------------------------------------------
 3rdparty/libprocess/src/httpd.cpp | 299 ---------------------------------
 1 file changed, 299 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/974c4cd7/3rdparty/libprocess/src/httpd.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/httpd.cpp b/3rdparty/libprocess/src/httpd.cpp
deleted file mode 100644
index 902ba89..0000000
--- a/3rdparty/libprocess/src/httpd.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-/* TODO(benh): TCP_CORK!!!!! */
-/* TODO(benh): Complete HttpParser & HttpMessage implementation. */
-/* TODO(benh): Turn off Nagle (on TCP_NODELAY) for pipelined requests. */
-
-#include <string.h>
-
-#include <process.hpp>
-#include <tuple.hpp>
-
-#include <iostream>
-#include <map>
-#include <sstream>
-#include <stdexcept>
-
-#include <arpa/inet.h>
-
-#include <stout/os.hpp>
-
-#include "net.hpp"
-
-#include "http-parser/http_parser.h"
-
-using std::cerr;
-using std::cout;
-using std::endl;
-using std::runtime_error;
-using std::string;
-using std::map;
-
-using process::tuple::Tuple;
-
-#define HTTP_500                                                    \
-  "HTTP/1.1 500 Internal Server Error\r\n\r\n"
-
-#define HTTP_501                                                    \
-  "HTTP/1.1 501 Not Implemented\r\n\r\n"
-
-#define HTTP_404                                                    \
-  "HTTP/1.1 404 Not Found\r\n\r\n"
-
-
-struct HttpMessage
-{
-  unsigned short method;
-  /* TODO(*): Use HTTP_MAX_URI_SIZE. */
-  string uri;
-};
-
-
-class HttpParser
-{
-protected:
-  static int on_uri(http_parser *parser, const char *p, size_t len)
-  {
-    HttpMessage *message = (HttpMessage *) parser->data;
-    message->uri += string(p, len);
-    return 0;
-  }
-
-  static int on_headers_complete(http_parser *parser)
-  {
-    HttpMessage *message = (HttpMessage *) parser->data;
-    message->method = parser->method;
-    return 0;
-  }
-
-public:
-  static HttpMessage * parse(const string &raw)
-  {
-    http_parser parser;
-    http_parser_init(&parser, HTTP_REQUEST);
-
-    HttpMessage *message = new HttpMessage;
-
-    parser.data = message;
-
-    parser.on_message_begin     = NULL;
-    parser.on_header_field      = NULL;
-    parser.on_header_value      = NULL;
-    parser.on_path              = NULL;
-    parser.on_uri               = &HttpParser::on_uri;
-    parser.on_fragment          = NULL;
-    parser.on_query_string      = NULL;
-    parser.on_body              = NULL;
-    parser.on_headers_complete  = &HttpParser::on_headers_complete;
-    parser.on_message_complete  = NULL;
-
-    http_parser_execute(&parser, raw.c_str(), raw.length());
-
-    if (http_parser_has_error(&parser)) {
-      ABORT("parser error");
-    }
-
-    return message;
-  }
-};
-
-
-class HttpConnection : public SocketProcess<TCP>
-{
-protected:
-  void operator () ()
-  {
-    //cout << ht_id() << ": running " << this << " connection (1)" << endl;
-
-    string raw;
-
-    /* Read headers (until CRLF CRLF). */
-    do {
-      char buf[512];
-      ssize_t len = recv(buf, 512);
-      raw += string(buf, len);
-    } while (raw.find("\r\n\r\n") == string::npos);
-
-    //cout << ht_id() << ": running " << this << " connection (2)" << endl;
-
-    /* Parse headers. */
-    HttpMessage *message = HttpParser::parse(raw);
-
-    /* Handle request. */
-    switch (message->method) {
-    case HTTP_GET: {
-      message->uri =
-        message->uri != "/"
-        ? "." + message->uri
-        : "./index.html";
-
-      //cout << "URI: " << message->uri << endl;
-
-      /* Open file (if possible). */
-      int fd;
-
-      if ((fd = open(message->uri.c_str(), O_RDONLY, 0)) < 0) {
-        send(HTTP_404, strlen(HTTP_404));
-        return;
-      }
-
-      /* Lookup file size. */
-      struct stat fd_stat;
-
-      if (fstat(fd, &fd_stat) < 0) {
-        send(HTTP_500, strlen(HTTP_500));
-        os::close(fd);
-        return;
-      }
-
-      /* TODO(benh): Use TCP_CORK. */
-
-      /* Transmit reply header. */
-      std::stringstream out;
-
-      out << "HTTP/1.1 200 OK\r\n";
-
-      /* Determine the content type. */
-      if (message->uri.find(".jpg") != string::npos) {
-        out << "Content-Type: image/jpeg\r\n";
-      } else if (message->uri.find(".gif") != string::npos) {
-        out << "Content-Type: image/gif\r\n";
-      } else if (message->uri.find(".png") != string::npos) {
-        out << "Content-Type: image/png\r\n";
-      } else if (message->uri.find(".css") != string::npos) {
-        out << "Content-Type: text/css\r\n";
-      } else {
-        out << "Content-Type: text/html\r\n";
-      }
-
-      out <<
-        "Content-Length: " << fd_stat.st_size << "\r\n"
-        "\r\n";
-
-      //cout << out.str() << endl;
-
-      send(out.str().c_str(), out.str().size());
-
-      //cout << ht_id() << ": running " << this << " connection (3)" << endl;
-
-      /* Transmit file (TODO(benh): Use file cache.). */
-      sendfile(fd, fd_stat.st_size);
-
-      //cout << ht_id() << ": running " << this << " connection (4)" << endl;
-
-      os::close(fd);
-
-      break;
-    }
-
-    default:
-      /* Unimplemented. */
-      send(HTTP_501, strlen(HTTP_501));
-      break;
-    }
-  }
-
-public:
-  explicit HttpConnection(int s) : SocketProcess<TCP>(s) {}
-  ~HttpConnection() {}
-};
-
-
-enum HTTP_MESSAGES { ACCEPT = PROCESS_MSGID };
-
-namespace process { namespace tuple { TUPLE(::ACCEPT, (int)); }}
-
-class HttpAcceptor : public Tuple< Acceptor<TCP> >
-{
-private:
-  PID server;
-
-protected:
-  void operator () ()
-  {
-    do {
-      struct sockaddr_in addr;
-      int c = accept(addr);
-      //cout << ht_id() << ": running acceptor" << endl;
-      send<ACCEPT>(server, c);
-    } while (true);
-  }
-
-public:
-  HttpAcceptor(const PID &_server, int s) : server(_server) { socket(s); }
-};
-
-
-
-class HttpServer : public Tuple< Server<TCP> >
-{
-private:
-  map<PID, HttpConnection *> connections;
-
-protected:
-  void operator () ()
-  {
-    int on = 1;
-    setsockopt(SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
-    bind();
-    listen(100000);
-
-    HttpAcceptor *acceptor = new HttpAcceptor(self(), s);
-    link(spawn(acceptor));
-
-    do {
-      switch (receive()) {
-      case ACCEPT: {
-        //cout << ht_id() << ": running server (accept)" << endl;
-        int c;
-        unpack<ACCEPT>(c);
-        HttpConnection *connection = new HttpConnection(c);
-        connections[link(spawn(connection))] = connection;
-        //cout << "...started (" << connection << ")..." << endl;
-        break;
-      }
-      case PROCESS_EXIT: {
-        //cout << ht_id() << ": running server (exit)" << endl;
-        if (from() == acceptor->getPID()) {
-          throw runtime_error("unimplemented acceptor failure");
-        } else if (connections.find(from()) != connections.end()) {
-          HttpConnection *connection = connections[from()];
-          connections.erase(from());
-          delete connection;
-          //cout << "...finished (" << connection << ")..." << endl;
-        }
-        break;
-      }
-      default:
-        cout << "HttpServer received unexpected message" << endl;
-        break;
-      }
-    } while (true);
-  }
-
-public:
-  HttpServer(int port) { init(INADDR_ANY, port); }
-};
-
-
-
-int main(int argc, char **argv)
-{
-  /* TODO(benh): Blah, 'sendfile' doesn't let us use MSG_NOSIGNAL. :(  */
-  signal(SIGPIPE, SIG_IGN);
-
-  if (argc != 2) {
-    cerr << "usage: " << argv[0] << " <port>" << endl;
-    return -1;
-  }
-
-#ifdef USE_LITHE
-  ProcessScheduler *scheduler = new ProcessScheduler();
-  Process::spawn(new HttpServer(atoi(argv[1])));
-  /* TODO(benh): Make Process::wait take and use the hart if using Lithe! */
-  for (;;)
-    sleep(10000);
-#else
-  Process::wait(Process::spawn(new HttpServer(atoi(argv[1]))));
-#endif /* USE_LITHE */
-
-  return 0;
-}