[Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
This revision was automatically updated to reflect the committed changes. Closed by commit rL306391: Move Connection and IOObject interfaces to Utility module (authored by labath). Changed prior to commit: https://reviews.llvm.org/D34400?vs=103971&id=104125#toc Repository: rL LLVM https://reviews.llvm.org/D34400 Files: lldb/trunk/include/lldb/Core/Connection.h lldb/trunk/include/lldb/Host/File.h lldb/trunk/include/lldb/Host/Host.h lldb/trunk/include/lldb/Host/IOObject.h lldb/trunk/include/lldb/Host/MainLoopBase.h lldb/trunk/include/lldb/Host/Socket.h lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h lldb/trunk/include/lldb/Host/windows/ConnectionGenericFileWindows.h lldb/trunk/include/lldb/Utility/Connection.h lldb/trunk/include/lldb/Utility/IOObject.h lldb/trunk/source/API/SBCommunication.cpp lldb/trunk/source/Core/CMakeLists.txt lldb/trunk/source/Core/Communication.cpp lldb/trunk/source/Core/Connection.cpp lldb/trunk/source/Host/CMakeLists.txt lldb/trunk/source/Host/common/Host.cpp lldb/trunk/source/Host/common/IOObject.cpp lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp lldb/trunk/source/Utility/CMakeLists.txt lldb/trunk/source/Utility/Connection.cpp lldb/trunk/source/Utility/IOObject.cpp lldb/trunk/tools/lldb-server/Acceptor.h Index: lldb/trunk/source/Utility/Connection.cpp === --- lldb/trunk/source/Utility/Connection.cpp +++ lldb/trunk/source/Utility/Connection.cpp @@ -0,0 +1,14 @@ +//===-- Connection.cpp --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// + +#include "lldb/Utility/Connection.h" + +using namespace lldb_private; + +Connection::~Connection() = default; Index: lldb/trunk/source/Utility/CMakeLists.txt === --- lldb/trunk/source/Utility/CMakeLists.txt +++ lldb/trunk/source/Utility/CMakeLists.txt @@ -1,13 +1,15 @@ add_lldb_library(lldbUtility Baton.cpp + Connection.cpp ConstString.cpp DataBufferHeap.cpp DataBufferLLVM.cpp DataEncoder.cpp DataExtractor.cpp FastDemangle.cpp FileSpec.cpp History.cpp + IOObject.cpp JSON.cpp LLDBAssert.cpp Log.cpp Index: lldb/trunk/source/Utility/IOObject.cpp === --- lldb/trunk/source/Utility/IOObject.cpp +++ lldb/trunk/source/Utility/IOObject.cpp @@ -0,0 +1,15 @@ +//===-- IOObject.cpp *- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// + +#include "lldb/Utility/IOObject.h" + +using namespace lldb_private; + +const IOObject::WaitableHandle IOObject::kInvalidHandleValue = -1; +IOObject::~IOObject() = default; Index: lldb/trunk/source/Host/CMakeLists.txt === --- lldb/trunk/source/Host/CMakeLists.txt +++ lldb/trunk/source/Host/CMakeLists.txt @@ -13,7 +13,6 @@ common/HostNativeThreadBase.cpp common/HostProcess.cpp common/HostThread.cpp - common/IOObject.cpp common/LockFileBase.cpp common/MainLoop.cpp common/MonitoringProcessLauncher.cpp Index: lldb/trunk/source/Host/common/Host.cpp === --- lldb/trunk/source/Host/common/Host.cpp +++ lldb/trunk/source/Host/common/Host.cpp @@ -58,6 +58,7 @@ #include "lldb/Host/Predicate.h" #include "lldb/Host/ProcessLauncher.h" #include "lldb/Host/ThreadLauncher.h" +#include "lldb/Host/posix/ConnectionFileDescriptorPosix.h" #include "lldb/Target/FileAction.h" #include "lldb/Target/ProcessLaunchInfo.h" #include "lldb/Target/UnixSignals.h" @@ -73,6 +74,7 @@ #include "llvm/Support/FileSystem.h" #if defined(_WIN32) +#include "lldb/Host/windows/ConnectionGenericFileWindows.h" #include "lldb/Host/windows/ProcessLauncherWindows.h" #else #include "lldb/Host/posix/ProcessLauncherPosixFork.h" @@ -624,6 +626,14 @@ return s_unix_signals_sp; } +std::unique_ptr Host::CreateDefaultConnection(llvm::StringRef url) { +#if defined(_WIN32) + if (url.startswith("file://")) +return std::unique_ptr(new ConnectionGenericFile()); +#endif + return std::unique_ptr(new ConnectionFileDescriptor()); +} + #if defined(LLVM_ON_UNIX) WaitStatus WaitStatus::Decode(int wstatus) { if (WIFEXITED(wstatus)) Index: lldb/trunk/source/Host/common/IOObject.cpp === --- lldb/trunk/source/Host/comm
[Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
zturner accepted this revision. zturner added a comment. This revision is now accepted and ready to land. Nice, yea this will be a big help I think. https://reviews.llvm.org/D34400 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
labath updated this revision to Diff 103971. labath added a comment. This is how things would look like if we move Connection to Utility instead. I needed to do two things to make this happen: - Keep Connection::CreateDefaultConnection in Host (now known as Host::CreateDefaultConnection), because this actually creates concrete instances). - Move IOObject to Utility as well. Connection interface was depending on this class. Although theoretically a forward declaration could suffice, we still shouldn't depend on stuff forward-declared in another module. The same rationale can apply to this class as well -- it's an abstract interface, which can live in Utility, and all concrete instances can (hopefully) stay in Host. https://reviews.llvm.org/D34400 Files: include/lldb/Core/Connection.h include/lldb/Host/File.h include/lldb/Host/Host.h include/lldb/Host/IOObject.h include/lldb/Host/MainLoopBase.h include/lldb/Host/Socket.h include/lldb/Host/posix/ConnectionFileDescriptorPosix.h include/lldb/Host/windows/ConnectionGenericFileWindows.h include/lldb/Utility/Connection.h include/lldb/Utility/IOObject.h source/API/SBCommunication.cpp source/Core/CMakeLists.txt source/Core/Communication.cpp source/Core/Connection.cpp source/Host/CMakeLists.txt source/Host/common/Host.cpp source/Host/common/IOObject.cpp source/Host/posix/ConnectionFileDescriptorPosix.cpp source/Utility/CMakeLists.txt source/Utility/Connection.cpp source/Utility/IOObject.cpp tools/lldb-server/Acceptor.h Index: tools/lldb-server/Acceptor.h === --- tools/lldb-server/Acceptor.h +++ tools/lldb-server/Acceptor.h @@ -9,7 +9,7 @@ #ifndef lldb_server_Acceptor_h_ #define lldb_server_Acceptor_h_ -#include "lldb/Core/Connection.h" +#include "lldb/Utility/Connection.h" #include "lldb/Host/Socket.h" #include "lldb/Utility/Status.h" Index: source/Utility/IOObject.cpp === --- source/Utility/IOObject.cpp +++ source/Utility/IOObject.cpp @@ -7,8 +7,9 @@ // //===--===// -#include "lldb/Host/IOObject.h" +#include "lldb/Utility/IOObject.h" using namespace lldb_private; const IOObject::WaitableHandle IOObject::kInvalidHandleValue = -1; +IOObject::~IOObject() = default; Index: source/Utility/Connection.cpp === --- source/Utility/Connection.cpp +++ source/Utility/Connection.cpp @@ -1,14 +1,14 @@ -//===-- IOObject.cpp *- C++ -*-===// +//===-- Connection.cpp --*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===--===// -#include "lldb/Host/IOObject.h" +#include "lldb/Utility/Connection.h" using namespace lldb_private; -const IOObject::WaitableHandle IOObject::kInvalidHandleValue = -1; +Connection::~Connection() = default; Index: source/Utility/CMakeLists.txt === --- source/Utility/CMakeLists.txt +++ source/Utility/CMakeLists.txt @@ -1,13 +1,15 @@ add_lldb_library(lldbUtility Baton.cpp + Connection.cpp ConstString.cpp DataBufferHeap.cpp DataBufferLLVM.cpp DataEncoder.cpp DataExtractor.cpp FastDemangle.cpp FileSpec.cpp History.cpp + IOObject.cpp JSON.cpp LLDBAssert.cpp Log.cpp Index: source/Host/posix/ConnectionFileDescriptorPosix.cpp === --- source/Host/posix/ConnectionFileDescriptorPosix.cpp +++ source/Host/posix/ConnectionFileDescriptorPosix.cpp @@ -16,10 +16,10 @@ #include "lldb/Host/posix/ConnectionFileDescriptorPosix.h" #include "lldb/Host/Config.h" -#include "lldb/Host/IOObject.h" #include "lldb/Host/Socket.h" #include "lldb/Host/SocketAddress.h" #include "lldb/Utility/SelectHelper.h" +#include "lldb/Utility/Timeout.h" // C Includes #include @@ -42,7 +42,6 @@ #include "llvm/ADT/SmallVector.h" #endif // Project includes -#include "lldb/Core/Communication.h" #include "lldb/Core/Timer.h" #include "lldb/Host/Host.h" #include "lldb/Host/Socket.h" Index: source/Host/common/Host.cpp === --- source/Host/common/Host.cpp +++ source/Host/common/Host.cpp @@ -58,6 +58,7 @@ #include "lldb/Host/Predicate.h" #include "lldb/Host/ProcessLauncher.h" #include "lldb/Host/ThreadLauncher.h" +#include "lldb/Host/posix/ConnectionFileDescriptorPosix.h" #include "lldb/Target/FileAction.h" #include "lldb/Target/ProcessLaunchInfo.h" #include "lldb/Target/UnixSignals.h" @@ -74,6 +75,7 @@ #if defined(_WIN32) #inc
Re: [Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
On 20 June 2017 at 16:47, Zachary Turner wrote: > I do think at some point we will need to break up Host, but whether the best > way is to move stuff into Utility or to somewhere else is an open question. > Host also depends on Target, Symbol, process plugins, and various other > things. So we will need a way to group together all the stuff in Host that > has no other dependencies. This could then remove the dependency from X -> > Host for many values of X. The process plugin dependency has already been removed. The current list I see is: Core, Interpreter, Symbol, Target, ScriptInterpreterPython. It's a fair number of things but it's not too many. > > I agree that Core is bigger, but unfortunately with deps it's kind of all or > nothing. You don't see any benefit from removing 99 if there's still 1 more. Yes, that's true. My intention is to slowly go through them and remove all 100 of them. I'm not saying it will be done quickly, and I don't even have much time to dedicate to that, but I can eventually get there. > > If you don't want to do it now that's fine as it does indeed require moving > many other things, but moving it to Host seems like a lateral move at best - > nothing gained nothing lost. What about moving the base class to Utility? At > least then you wouldn't need to link Host to use Connection, which could > encourage a factory-like pattern Yes, it does not bring us anything right now. But after I remove all of the Host->Core dependencies, I can remove the direct edge from the dependency graph, which I think *is* something. We will still have an indirect edge through one of the other modules, but it decreases the scope of the problem (density of the graph). As for the "moving the base class to Utility" idea, I had considered that already. Eventually, I decided I prefer keeping it in Host, close to the other classes, but it's a weak preference. I'd like to hear what others think about this. ? ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
I do think at some point we will need to break up Host, but whether the best way is to move stuff into Utility or to somewhere else is an open question. Host also depends on Target, Symbol, process plugins, and various other things. So we will need a way to group together all the stuff in Host that has no other dependencies. This could then remove the dependency from X -> Host for many values of X. I agree that Core is bigger, but unfortunately with deps it's kind of all or nothing. You don't see any benefit from removing 99 if there's still 1 more. If you don't want to do it now that's fine as it does indeed require moving many other things, but moving it to Host seems like a lateral move at best - nothing gained nothing lost. What about moving the base class to Utility? At least then you wouldn't need to link Host to use Connection, which could encourage a factory-like pattern On Tue, Jun 20, 2017 at 7:00 AM Pavel Labath wrote: > On 20 June 2017 at 14:28, Zachary Turner wrote: > > I had actually been considering going the other way. Moving connection > and > > all implementations to Utility. Host is a big contributor to the > dependency > > problems, so putting more stuff in seems like the wrong direction. > > Well, I'd say that Core is an even bigger contributor to the cycles > than Host (e.g. it has Timer.cpp, which depends on nothing, and > Debugger.cpp, which depends on everything). With this, I was looking > at breaking the Host->Core dependency. After this patch the only Core > files which are included from Host are: > Core/ArchSpec.h > Core/Communication.h > Core/Module.h > Core/ModuleSpec.h > Core/RegisterValue.h > Core/State.h > Core/StreamFile.h > Core/StructuredData.h > Core/Timer.h > Core/TraceOptions.h > > Of these, only the Module dependency worries me (but I haven't yet > looked at why exactly it's needed) -- I believe all the others can be > solved fairly easily by moving the relevant files to Host or Utility. > > > > > > The end state i had in mind was similar to llvm support (which is more > less > > the equivalent of lldb host), where it has all the host specific > > functionality but contains no deps. > > > > With that in mind, thoughts on moving everything to Utility? > > I am not categorically against it, but it's not my preferred solution > either. For example, if we were to move Connection there now, it would > require at least moving all of the socket library and pipes which is a > large chunk of host-specific code. I like how currently we have this > separation where Utility contains some fairly generic classes and > algorithms, and Host contains things for interfacing with the host > system (which tends to be ugly and full of ifdefs -- I'd like to avoid > ifdefs in Utlity if at all possible). > > I realize it's possible I may run into a wall with this philosophy, > but I'd like to try and give it a go. I think the fact that we have > the llvm support library under us, where we can hide a lot of the > non-debugger-specific host code, means that there is a fair chance > this could succeed. > > > > > > On Tue, Jun 20, 2017 at 5:56 AM Pavel Labath via Phabricator > > wrote: > >> > >> labath created this revision. > >> Herald added a subscriber: mgorny. > >> > >> All implementations of the connection interface live in the Host module > >> already, so it makes sense for the interface itself to be defined there. > >> > >> > >> https://reviews.llvm.org/D34400 > >> > >> Files: > >> include/lldb/Core/Connection.h > >> include/lldb/Host/Connection.h > >> include/lldb/Host/posix/ConnectionFileDescriptorPosix.h > >> include/lldb/Host/windows/ConnectionGenericFileWindows.h > >> source/Core/CMakeLists.txt > >> source/Core/Communication.cpp > >> source/Core/Connection.cpp > >> source/Host/CMakeLists.txt > >> source/Host/common/Connection.cpp > >> source/Host/posix/ConnectionFileDescriptorPosix.cpp > >> tools/lldb-server/Acceptor.h > >> > > > ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
On 20 June 2017 at 14:28, Zachary Turner wrote: > I had actually been considering going the other way. Moving connection and > all implementations to Utility. Host is a big contributor to the dependency > problems, so putting more stuff in seems like the wrong direction. Well, I'd say that Core is an even bigger contributor to the cycles than Host (e.g. it has Timer.cpp, which depends on nothing, and Debugger.cpp, which depends on everything). With this, I was looking at breaking the Host->Core dependency. After this patch the only Core files which are included from Host are: Core/ArchSpec.h Core/Communication.h Core/Module.h Core/ModuleSpec.h Core/RegisterValue.h Core/State.h Core/StreamFile.h Core/StructuredData.h Core/Timer.h Core/TraceOptions.h Of these, only the Module dependency worries me (but I haven't yet looked at why exactly it's needed) -- I believe all the others can be solved fairly easily by moving the relevant files to Host or Utility. > > The end state i had in mind was similar to llvm support (which is more less > the equivalent of lldb host), where it has all the host specific > functionality but contains no deps. > > With that in mind, thoughts on moving everything to Utility? I am not categorically against it, but it's not my preferred solution either. For example, if we were to move Connection there now, it would require at least moving all of the socket library and pipes which is a large chunk of host-specific code. I like how currently we have this separation where Utility contains some fairly generic classes and algorithms, and Host contains things for interfacing with the host system (which tends to be ugly and full of ifdefs -- I'd like to avoid ifdefs in Utlity if at all possible). I realize it's possible I may run into a wall with this philosophy, but I'd like to try and give it a go. I think the fact that we have the llvm support library under us, where we can hide a lot of the non-debugger-specific host code, means that there is a fair chance this could succeed. > > On Tue, Jun 20, 2017 at 5:56 AM Pavel Labath via Phabricator > wrote: >> >> labath created this revision. >> Herald added a subscriber: mgorny. >> >> All implementations of the connection interface live in the Host module >> already, so it makes sense for the interface itself to be defined there. >> >> >> https://reviews.llvm.org/D34400 >> >> Files: >> include/lldb/Core/Connection.h >> include/lldb/Host/Connection.h >> include/lldb/Host/posix/ConnectionFileDescriptorPosix.h >> include/lldb/Host/windows/ConnectionGenericFileWindows.h >> source/Core/CMakeLists.txt >> source/Core/Communication.cpp >> source/Core/Connection.cpp >> source/Host/CMakeLists.txt >> source/Host/common/Connection.cpp >> source/Host/posix/ConnectionFileDescriptorPosix.cpp >> tools/lldb-server/Acceptor.h >> > ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
I had actually been considering going the other way. Moving connection and all implementations to Utility. Host is a big contributor to the dependency problems, so putting more stuff in seems like the wrong direction. The end state i had in mind was similar to llvm support (which is more less the equivalent of lldb host), where it has all the host specific functionality but contains no deps. With that in mind, thoughts on moving everything to Utility? On Tue, Jun 20, 2017 at 5:56 AM Pavel Labath via Phabricator < revi...@reviews.llvm.org> wrote: > labath created this revision. > Herald added a subscriber: mgorny. > > All implementations of the connection interface live in the Host module > already, so it makes sense for the interface itself to be defined there. > > > https://reviews.llvm.org/D34400 > > Files: > include/lldb/Core/Connection.h > include/lldb/Host/Connection.h > include/lldb/Host/posix/ConnectionFileDescriptorPosix.h > include/lldb/Host/windows/ConnectionGenericFileWindows.h > source/Core/CMakeLists.txt > source/Core/Communication.cpp > source/Core/Connection.cpp > source/Host/CMakeLists.txt > source/Host/common/Connection.cpp > source/Host/posix/ConnectionFileDescriptorPosix.cpp > tools/lldb-server/Acceptor.h > > ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D34400: Move Connection from Core to Host
labath created this revision. Herald added a subscriber: mgorny. All implementations of the connection interface live in the Host module already, so it makes sense for the interface itself to be defined there. https://reviews.llvm.org/D34400 Files: include/lldb/Core/Connection.h include/lldb/Host/Connection.h include/lldb/Host/posix/ConnectionFileDescriptorPosix.h include/lldb/Host/windows/ConnectionGenericFileWindows.h source/Core/CMakeLists.txt source/Core/Communication.cpp source/Core/Connection.cpp source/Host/CMakeLists.txt source/Host/common/Connection.cpp source/Host/posix/ConnectionFileDescriptorPosix.cpp tools/lldb-server/Acceptor.h Index: tools/lldb-server/Acceptor.h === --- tools/lldb-server/Acceptor.h +++ tools/lldb-server/Acceptor.h @@ -9,7 +9,7 @@ #ifndef lldb_server_Acceptor_h_ #define lldb_server_Acceptor_h_ -#include "lldb/Core/Connection.h" +#include "lldb/Host/Connection.h" #include "lldb/Host/Socket.h" #include "lldb/Utility/Status.h" Index: source/Host/posix/ConnectionFileDescriptorPosix.cpp === --- source/Host/posix/ConnectionFileDescriptorPosix.cpp +++ source/Host/posix/ConnectionFileDescriptorPosix.cpp @@ -20,6 +20,7 @@ #include "lldb/Host/Socket.h" #include "lldb/Host/SocketAddress.h" #include "lldb/Utility/SelectHelper.h" +#include "lldb/Utility/Timeout.h" // C Includes #include @@ -42,7 +43,6 @@ #include "llvm/ADT/SmallVector.h" #endif // Project includes -#include "lldb/Core/Communication.h" #include "lldb/Core/Timer.h" #include "lldb/Host/Host.h" #include "lldb/Host/Socket.h" Index: source/Host/common/Connection.cpp === --- source/Host/common/Connection.cpp +++ source/Host/common/Connection.cpp @@ -7,7 +7,7 @@ // //===--===// -#include "lldb/Core/Connection.h" +#include "lldb/Host/Connection.h" #if defined(_WIN32) #include "lldb/Host/windows/ConnectionGenericFileWindows.h" Index: source/Host/CMakeLists.txt === --- source/Host/CMakeLists.txt +++ source/Host/CMakeLists.txt @@ -4,6 +4,7 @@ endmacro() add_host_subdirectory(common + common/Connection.cpp common/File.cpp common/FileCache.cpp common/FileSystem.cpp Index: source/Core/Communication.cpp === --- source/Core/Communication.cpp +++ source/Core/Communication.cpp @@ -9,9 +9,9 @@ #include "lldb/Core/Communication.h" -#include "lldb/Core/Connection.h" #include "lldb/Core/Event.h" #include "lldb/Core/Listener.h" +#include "lldb/Host/Connection.h" #include "lldb/Host/HostThread.h" #include "lldb/Host/ThreadLauncher.h" #include "lldb/Utility/ConstString.h" // for ConstString Index: source/Core/CMakeLists.txt === --- source/Core/CMakeLists.txt +++ source/Core/CMakeLists.txt @@ -7,7 +7,6 @@ ArchSpec.cpp Broadcaster.cpp Communication.cpp - Connection.cpp Debugger.cpp Disassembler.cpp DumpDataExtractor.cpp Index: include/lldb/Host/windows/ConnectionGenericFileWindows.h === --- include/lldb/Host/windows/ConnectionGenericFileWindows.h +++ include/lldb/Host/windows/ConnectionGenericFileWindows.h @@ -10,7 +10,7 @@ #ifndef liblldb_Host_windows_ConnectionGenericFileWindows_h_ #define liblldb_Host_windows_ConnectionGenericFileWindows_h_ -#include "lldb/Core/Connection.h" +#include "lldb/Host/Connection.h" #include "lldb/Host/windows/windows.h" #include "lldb/lldb-types.h" Index: include/lldb/Host/posix/ConnectionFileDescriptorPosix.h === --- include/lldb/Host/posix/ConnectionFileDescriptorPosix.h +++ include/lldb/Host/posix/ConnectionFileDescriptorPosix.h @@ -19,7 +19,7 @@ // Other libraries and framework includes // Project includes -#include "lldb/Core/Connection.h" +#include "lldb/Host/Connection.h" #include "lldb/Host/IOObject.h" #include "lldb/Host/Pipe.h" #include "lldb/Host/Predicate.h" Index: include/lldb/Host/Connection.h === --- include/lldb/Host/Connection.h +++ include/lldb/Host/Connection.h @@ -31,7 +31,7 @@ namespace lldb_private { //-- -/// @class Connection Connection.h "lldb/Core/Connection.h" +/// @class Connection Connection.h "lldb/Host/Connection.h" /// @brief A communication connection class. /// /// A class that implements that actual communication functions for ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/li