// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #ifndef BIN_DBG_CONNECTION_LINUX_H_ #define BIN_DBG_CONNECTION_LINUX_H_ #include #include #include class DebuggerConnectionImpl { public: static void StartHandler(int port_number); static intptr_t Send(intptr_t socket, const char* buf, int len); static intptr_t Receive(intptr_t socket, char* buf, int len); private: static void SetupPollQueue(); static void HandleEvent(struct epoll_event* event); static void Handler(uword args); // File descriptors for pipes used to communicate with the debugger thread. static int wakeup_fds_[2]; // File descriptor for the polling queue. static int epoll_fd_; }; #endif // BIN_DBG_CONNECTION_LINUX_H_