New flag and error message for class to memo key conversion
[hiphop-php.git] / hphp / runtime / debugger / debugger_server.h
blob4aa18146fdb26fccf5b0a5c31fa8193bd543a7c8
1 /*
2 +----------------------------------------------------------------------+
3 | HipHop for PHP |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
17 #pragma once
19 #include <vector>
21 #include "hphp/runtime/base/socket.h"
22 #include "hphp/util/async-func.h"
24 namespace HPHP::Eval {
25 ///////////////////////////////////////////////////////////////////////////////
28 * Only needed for accepting remote debugger client's connection requests.
30 struct DebuggerServer {
32 * Start/stop for remote debugging.
34 static bool Start();
35 static void Stop();
37 /////////////////////////////////////////////////////////////////////////////
39 DebuggerServer();
40 ~DebuggerServer();
42 bool start();
43 void stop();
45 // server thread
46 void accept();
48 private:
49 static DebuggerServer s_debugger_server;
51 req::ptr<Socket> nthSocket(unsigned i) const {
52 return req::make<StreamSocket>(m_socks[i]);
55 AsyncFunc<DebuggerServer> m_serverThread;
56 bool m_stopped;
57 std::vector<std::shared_ptr<SocketData>> m_socks;
60 ///////////////////////////////////////////////////////////////////////////////