Implementation of alternative transport layer for macOS based on XPC.
Based on these two other patches:
https://reviews.llvm.org/D48559
https://reviews.llvm.org/D48560
Paths
| Differential D48562
[clangd] XPC transport layer AbandonedPublic Authored by jkorous on Jun 25 2018, 1:09 PM.
Details
Summary Implementation of alternative transport layer for macOS based on XPC. Based on these two other patches:
Diff Detail Event TimelineHerald added subscribers: cfe-commits, MaskRay, ioeric and 2 others. · View Herald TranscriptJun 25 2018, 1:09 PM
Comment Actions Two changes in test client based on internal review by XPC folks:
Comment Actions Just an initial couple of thoughts here, haven't yet been through in detail. Mostly I wonder if we can use slightly different abstractions in D48559 to so the JSON/XPC parts get the code reuse we want but the work required to call one vs the other is smaller. Need to think about this more.
Comment Actions Hi Sam, I am definitely open to discussion about the right abstraction. I will push patches rebased on TOT and changes based on your comments today or tomorrow and I am trying to figure out how could we use your Transport abstraction proposal (https://reviews.llvm.org/D49389) without Json in it's interface in the meantime.
Comment Actions BTW Just for the record - I put the rebased & updated patch here: [clangd] XPC WIP https://reviews.llvm.org/D49548
Revision Contents
Diff 152888 CMakeLists.txt
Features.inc.inProtocolHandlers.h
clangd/CMakeLists.txt
clangd/xpc/initialize.test
lit.cfg
lit.site.cfg.in
tool/CMakeLists.txt
tool/ClangdMain.cpp
xpc/CMakeLists.txt
xpc/README.txt
xpc/XPCDispatcher.h
xpc/XPCDispatcher.cpp
xpc/cmake/Info.plist.in
xpc/cmake/XPCServiceInfo.plist.in
xpc/cmake/modules/CreateClangdXPCFramework.cmake
xpc/framework/CMakeLists.txt
xpc/framework/ClangdXPC.cpp
xpc/test-client/CMakeLists.txt
xpc/test-client/ClangdXPCTestClient.cpp
|
nit: can we give these the same name?
I'd vote for dropping the _SUPPORT too: either CLANGD_ENABLE_XPC or CLANGD_BUILD_XPC.
Maybe the latter is better, since an environment variable controls the runtime behavior anyway.