diff --git a/clang-tools-extra/clangd/index/remote/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/CMakeLists.txt --- a/clang-tools-extra/clangd/index/remote/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/CMakeLists.txt @@ -1,5 +1,6 @@ if (CLANGD_ENABLE_REMOTE) - generate_protos(RemoteIndexProtos "Index.proto" GRPC) + generate_protos(RemoteIndexServiceProto "Service.proto" GRPC) + generate_protos(RemoteIndexProto "Index.proto") include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../) @@ -12,7 +13,8 @@ Client.cpp LINK_LIBS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto clangdRemoteMarshalling protobuf @@ -21,7 +23,8 @@ clangdSupport DEPENDS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto ) add_subdirectory(marshalling) diff --git a/clang-tools-extra/clangd/index/remote/Client.cpp b/clang-tools-extra/clangd/index/remote/Client.cpp --- a/clang-tools-extra/clangd/index/remote/Client.cpp +++ b/clang-tools-extra/clangd/index/remote/Client.cpp @@ -9,7 +9,7 @@ #include #include "Client.h" -#include "Index.grpc.pb.h" +#include "Service.grpc.pb.h" #include "index/Index.h" #include "index/Serialization.h" #include "marshalling/Marshalling.h" diff --git a/clang-tools-extra/clangd/index/remote/Index.proto b/clang-tools-extra/clangd/index/remote/Index.proto --- a/clang-tools-extra/clangd/index/remote/Index.proto +++ b/clang-tools-extra/clangd/index/remote/Index.proto @@ -10,19 +10,6 @@ package clang.clangd.remote.v1; -// Semantics of SymbolIndex match clangd::SymbolIndex with all required -// structures corresponding to their clangd::* counterparts. -// NOTE: Enum values are offset by one to detect missing values. -service SymbolIndex { - rpc Lookup(LookupRequest) returns (stream LookupReply) {} - - rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {} - - rpc Refs(RefsRequest) returns (stream RefsReply) {} - - rpc Relations(RelationsRequest) returns (stream RelationsReply) {} -} - message LookupRequest { repeated string ids = 1; } // The response is a stream of symbol messages and the terminating message diff --git a/clang-tools-extra/clangd/index/remote/Service.proto b/clang-tools-extra/clangd/index/remote/Service.proto new file mode 100644 --- /dev/null +++ b/clang-tools-extra/clangd/index/remote/Service.proto @@ -0,0 +1,26 @@ +//===--- Service.proto - Remote index service definition ------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +syntax = "proto2"; + +package clang.clangd.remote.v1; + +import "Index.proto"; + +// Semantics of SymbolIndex match clangd::SymbolIndex with all required +// structures corresponding to their clangd::* counterparts. +service SymbolIndex { + rpc Lookup(LookupRequest) returns (stream LookupReply) {} + + rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {} + + rpc Refs(RefsRequest) returns (stream RefsReply) {} + + rpc Relations(RelationsRequest) returns (stream RelationsReply) {} +} + diff --git a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt --- a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt @@ -2,12 +2,12 @@ Marshalling.cpp LINK_LIBS - RemoteIndexProtos + RemoteIndexProto protobuf clangDaemon clangdSupport DEPENDS - RemoteIndexProtos + RemoteIndexProto ) diff --git a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt --- a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt @@ -5,7 +5,8 @@ Server.cpp DEPENDS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto ) target_link_libraries(clangd-index-server @@ -13,7 +14,8 @@ clangDaemon clangdSupport - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto clangdRemoteMarshalling grpc++ diff --git a/clang-tools-extra/clangd/index/remote/server/Server.cpp b/clang-tools-extra/clangd/index/remote/server/Server.cpp --- a/clang-tools-extra/clangd/index/remote/server/Server.cpp +++ b/clang-tools-extra/clangd/index/remote/server/Server.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "Index.pb.h" +#include "Service.grpc.pb.h" #include "index/Index.h" #include "index/Serialization.h" #include "index/Symbol.h"