Merge github.com:grpc/grpc into endpoints

pull/3025/head
Craig Tiller 9 years ago
commit 207e644918
  1. 12
      BUILD
  2. 94
      Makefile
  3. 38
      build.json
  4. 4
      include/grpc++/server_builder.h
  5. 11
      include/grpc/grpc.h
  6. 20
      src/core/security/security_connector.c
  7. 2
      src/cpp/server/create_default_thread_pool.cc
  8. 2
      src/cpp/server/dynamic_thread_pool.cc
  9. 9
      src/cpp/server/dynamic_thread_pool.h
  10. 2
      src/cpp/server/fixed_size_thread_pool.cc
  11. 9
      src/cpp/server/fixed_size_thread_pool.h
  12. 2
      src/cpp/server/server.cc
  13. 8
      src/cpp/server/server_builder.cc
  14. 6
      src/cpp/server/thread_pool_interface.h
  15. 6
      test/cpp/end2end/end2end_test.cc
  16. 5
      test/cpp/end2end/mock_test.cc
  17. 5
      test/cpp/end2end/thread_stress_test.cc
  18. 12
      test/cpp/qps/server_sync.cc
  19. 77
      test/cpp/server/dynamic_thread_pool_test.cc
  20. 77
      test/cpp/server/fixed_size_thread_pool_test.cc
  21. 5
      test/cpp/util/cli_call_test.cc
  22. 3
      tools/doxygen/Doxyfile.c++
  23. 6
      tools/doxygen/Doxyfile.c++.internal
  24. 58
      tools/run_tests/sources_and_headers.json
  25. 36
      tools/run_tests/tests.json
  26. 18
      vsprojects/Grpc.mak
  27. 6
      vsprojects/grpc++/grpc++.vcxproj
  28. 18
      vsprojects/grpc++/grpc++.vcxproj.filters
  29. 6
      vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj
  30. 18
      vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters

12
BUILD

@ -677,6 +677,9 @@ cc_library(
"src/cpp/server/secure_server_credentials.h", "src/cpp/server/secure_server_credentials.h",
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
"src/cpp/common/create_auth_context.h", "src/cpp/common/create_auth_context.h",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/thread_pool_interface.h",
"src/cpp/client/secure_channel_arguments.cc", "src/cpp/client/secure_channel_arguments.cc",
"src/cpp/client/secure_credentials.cc", "src/cpp/client/secure_credentials.cc",
"src/cpp/common/auth_property_iterator.cc", "src/cpp/common/auth_property_iterator.cc",
@ -722,8 +725,6 @@ cc_library(
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -749,7 +750,6 @@ cc_library(
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
], ],
includes = [ includes = [
@ -769,6 +769,9 @@ cc_library(
srcs = [ srcs = [
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
"src/cpp/common/create_auth_context.h", "src/cpp/common/create_auth_context.h",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/thread_pool_interface.h",
"src/cpp/common/insecure_create_auth_context.cc", "src/cpp/common/insecure_create_auth_context.cc",
"src/cpp/client/channel.cc", "src/cpp/client/channel.cc",
"src/cpp/client/channel_arguments.cc", "src/cpp/client/channel_arguments.cc",
@ -809,8 +812,6 @@ cc_library(
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -836,7 +837,6 @@ cc_library(
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
], ],
includes = [ includes = [

File diff suppressed because one or more lines are too long

@ -42,8 +42,6 @@
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -69,12 +67,14 @@
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h" "include/grpc++/time.h"
], ],
"headers": [ "headers": [
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
"src/cpp/common/create_auth_context.h" "src/cpp/common/create_auth_context.h",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/thread_pool_interface.h"
], ],
"src": [ "src": [
"src/cpp/client/channel.cc", "src/cpp/client/channel.cc",
@ -2143,21 +2143,6 @@
"gpr" "gpr"
] ]
}, },
{
"name": "dynamic_thread_pool_test",
"build": "test",
"language": "c++",
"src": [
"test/cpp/server/dynamic_thread_pool_test.cc"
],
"deps": [
"grpc_test_util",
"grpc++",
"grpc",
"gpr_test_util",
"gpr"
]
},
{ {
"name": "end2end_test", "name": "end2end_test",
"build": "test", "build": "test",
@ -2174,21 +2159,6 @@
"gpr" "gpr"
] ]
}, },
{
"name": "fixed_size_thread_pool_test",
"build": "test",
"language": "c++",
"src": [
"test/cpp/server/fixed_size_thread_pool_test.cc"
],
"deps": [
"grpc_test_util",
"grpc++",
"grpc",
"gpr_test_util",
"gpr"
]
},
{ {
"name": "generic_end2end_test", "name": "generic_end2end_test",
"build": "test", "build": "test",

@ -96,10 +96,6 @@ class ServerBuilder {
std::shared_ptr<ServerCredentials> creds, std::shared_ptr<ServerCredentials> creds,
int* selected_port = nullptr); int* selected_port = nullptr);
// Set the thread pool used for running appliation rpc handlers.
// Does not take ownership.
void SetThreadPool(ThreadPoolInterface* thread_pool);
// Add a completion queue for handling asynchronous services // Add a completion queue for handling asynchronous services
// Caller is required to keep this completion queue live until // Caller is required to keep this completion queue live until
// the server is destroyed. // the server is destroyed.

@ -589,9 +589,14 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call *call,
THREAD SAFETY: grpc_call_destroy is thread-compatible */ THREAD SAFETY: grpc_call_destroy is thread-compatible */
void grpc_call_destroy(grpc_call *call); void grpc_call_destroy(grpc_call *call);
/** Request notification of a new call. 'cq_for_notification' must /** Request notification of a new call.
have been registered to the server via Once a call is received, a notification tagged with \a tag_new is added to
grpc_server_register_completion_queue. */ \a cq_for_notification. \a call, \a details and \a request_metadata are
updated with the appropriate call information. \a cq_bound_to_call is bound
to \a call, and batch operation notifications for that call will be posted
to \a cq_bound_to_call.
Note that \a cq_for_notification must have been registered to the server via
\a grpc_server_register_completion_queue. */
grpc_call_error grpc_server_request_call( grpc_call_error grpc_server_request_call(
grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_server *server, grpc_call **call, grpc_call_details *details,
grpc_metadata_array *request_metadata, grpc_metadata_array *request_metadata,

@ -575,6 +575,16 @@ grpc_security_status grpc_ssl_channel_security_connector_create(
if (!check_request_metadata_creds(request_metadata_creds)) { if (!check_request_metadata_creds(request_metadata_creds)) {
goto error; goto error;
} }
if (config->pem_root_certs == NULL) {
pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs);
if (pem_root_certs == NULL || pem_root_certs_size == 0) {
gpr_log(GPR_ERROR, "Could not get default pem root certs.");
goto error;
}
} else {
pem_root_certs = config->pem_root_certs;
pem_root_certs_size = config->pem_root_certs_size;
}
c = gpr_malloc(sizeof(grpc_ssl_channel_security_connector)); c = gpr_malloc(sizeof(grpc_ssl_channel_security_connector));
memset(c, 0, sizeof(grpc_ssl_channel_security_connector)); memset(c, 0, sizeof(grpc_ssl_channel_security_connector));
@ -590,16 +600,6 @@ grpc_security_status grpc_ssl_channel_security_connector_create(
if (overridden_target_name != NULL) { if (overridden_target_name != NULL) {
c->overridden_target_name = gpr_strdup(overridden_target_name); c->overridden_target_name = gpr_strdup(overridden_target_name);
} }
if (config->pem_root_certs == NULL) {
pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs);
if (pem_root_certs == NULL || pem_root_certs_size == 0) {
gpr_log(GPR_ERROR, "Could not get default pem root certs.");
goto error;
}
} else {
pem_root_certs = config->pem_root_certs;
pem_root_certs_size = config->pem_root_certs_size;
}
result = tsi_create_ssl_client_handshaker_factory( result = tsi_create_ssl_client_handshaker_factory(
config->pem_private_key, config->pem_private_key_size, config->pem_private_key, config->pem_private_key_size,
config->pem_cert_chain, config->pem_cert_chain_size, pem_root_certs, config->pem_cert_chain, config->pem_cert_chain_size, pem_root_certs,

@ -32,7 +32,7 @@
*/ */
#include <grpc/support/cpu.h> #include <grpc/support/cpu.h>
#include <grpc++/dynamic_thread_pool.h> #include "src/cpp/server/dynamic_thread_pool.h"
#ifndef GRPC_CUSTOM_DEFAULT_THREAD_POOL #ifndef GRPC_CUSTOM_DEFAULT_THREAD_POOL

@ -33,7 +33,7 @@
#include <grpc++/impl/sync.h> #include <grpc++/impl/sync.h>
#include <grpc++/impl/thd.h> #include <grpc++/impl/thd.h>
#include <grpc++/dynamic_thread_pool.h> #include "src/cpp/server/dynamic_thread_pool.h"
namespace grpc { namespace grpc {
DynamicThreadPool::DynamicThread::DynamicThread(DynamicThreadPool* pool) DynamicThreadPool::DynamicThread::DynamicThread(DynamicThreadPool* pool)

@ -31,19 +31,20 @@
* *
*/ */
#ifndef GRPCXX_DYNAMIC_THREAD_POOL_H #ifndef GRPC_INTERNAL_CPP_DYNAMIC_THREAD_POOL_H
#define GRPCXX_DYNAMIC_THREAD_POOL_H #define GRPC_INTERNAL_CPP_DYNAMIC_THREAD_POOL_H
#include <grpc++/config.h> #include <grpc++/config.h>
#include <grpc++/impl/sync.h> #include <grpc++/impl/sync.h>
#include <grpc++/impl/thd.h> #include <grpc++/impl/thd.h>
#include <grpc++/thread_pool_interface.h>
#include <list> #include <list>
#include <memory> #include <memory>
#include <queue> #include <queue>
#include "src/cpp/server/thread_pool_interface.h"
namespace grpc { namespace grpc {
class DynamicThreadPool GRPC_FINAL : public ThreadPoolInterface { class DynamicThreadPool GRPC_FINAL : public ThreadPoolInterface {
@ -80,4 +81,4 @@ class DynamicThreadPool GRPC_FINAL : public ThreadPoolInterface {
} // namespace grpc } // namespace grpc
#endif // GRPCXX_DYNAMIC_THREAD_POOL_H #endif // GRPC_INTERNAL_CPP_DYNAMIC_THREAD_POOL_H

@ -33,7 +33,7 @@
#include <grpc++/impl/sync.h> #include <grpc++/impl/sync.h>
#include <grpc++/impl/thd.h> #include <grpc++/impl/thd.h>
#include <grpc++/fixed_size_thread_pool.h> #include "src/cpp/server/fixed_size_thread_pool.h"
namespace grpc { namespace grpc {

@ -31,18 +31,19 @@
* *
*/ */
#ifndef GRPCXX_FIXED_SIZE_THREAD_POOL_H #ifndef GRPC_INTERNAL_CPP_FIXED_SIZE_THREAD_POOL_H
#define GRPCXX_FIXED_SIZE_THREAD_POOL_H #define GRPC_INTERNAL_CPP_FIXED_SIZE_THREAD_POOL_H
#include <grpc++/config.h> #include <grpc++/config.h>
#include <grpc++/impl/sync.h> #include <grpc++/impl/sync.h>
#include <grpc++/impl/thd.h> #include <grpc++/impl/thd.h>
#include <grpc++/thread_pool_interface.h>
#include <queue> #include <queue>
#include <vector> #include <vector>
#include "src/cpp/server/thread_pool_interface.h"
namespace grpc { namespace grpc {
class FixedSizeThreadPool GRPC_FINAL : public ThreadPoolInterface { class FixedSizeThreadPool GRPC_FINAL : public ThreadPoolInterface {
@ -64,4 +65,4 @@ class FixedSizeThreadPool GRPC_FINAL : public ThreadPoolInterface {
} // namespace grpc } // namespace grpc
#endif // GRPCXX_FIXED_SIZE_THREAD_POOL_H #endif // GRPC_INTERNAL_CPP_FIXED_SIZE_THREAD_POOL_H

@ -43,10 +43,10 @@
#include <grpc++/impl/service_type.h> #include <grpc++/impl/service_type.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
#include <grpc++/server_credentials.h> #include <grpc++/server_credentials.h>
#include <grpc++/thread_pool_interface.h>
#include <grpc++/time.h> #include <grpc++/time.h>
#include "src/core/profiling/timers.h" #include "src/core/profiling/timers.h"
#include "src/cpp/server/thread_pool_interface.h"
namespace grpc { namespace grpc {

@ -37,8 +37,8 @@
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpc++/impl/service_type.h> #include <grpc++/impl/service_type.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/thread_pool_interface.h> #include "src/cpp/server/thread_pool_interface.h"
#include <grpc++/fixed_size_thread_pool.h> #include "src/cpp/server/fixed_size_thread_pool.h"
namespace grpc { namespace grpc {
@ -89,10 +89,6 @@ void ServerBuilder::AddListeningPort(const grpc::string& addr,
ports_.push_back(port); ports_.push_back(port);
} }
void ServerBuilder::SetThreadPool(ThreadPoolInterface* thread_pool) {
thread_pool_ = thread_pool;
}
std::unique_ptr<Server> ServerBuilder::BuildAndStart() { std::unique_ptr<Server> ServerBuilder::BuildAndStart() {
bool thread_pool_owned = false; bool thread_pool_owned = false;
if (!async_services_.empty() && !services_.empty()) { if (!async_services_.empty() && !services_.empty()) {

@ -31,8 +31,8 @@
* *
*/ */
#ifndef GRPCXX_THREAD_POOL_INTERFACE_H #ifndef GRPC_INTERNAL_CPP_THREAD_POOL_INTERFACE_H
#define GRPCXX_THREAD_POOL_INTERFACE_H #define GRPC_INTERNAL_CPP_THREAD_POOL_INTERFACE_H
#include <functional> #include <functional>
@ -51,4 +51,4 @@ ThreadPoolInterface* CreateDefaultThreadPool();
} // namespace grpc } // namespace grpc
#endif // GRPCXX_THREAD_POOL_INTERFACE_H #endif // GRPC_INTERNAL_CPP_THREAD_POOL_INTERFACE_H

@ -45,7 +45,6 @@
#include <grpc++/client_context.h> #include <grpc++/client_context.h>
#include <grpc++/create_channel.h> #include <grpc++/create_channel.h>
#include <grpc++/credentials.h> #include <grpc++/credentials.h>
#include <grpc++/dynamic_thread_pool.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/server_builder.h> #include <grpc++/server_builder.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
@ -262,7 +261,7 @@ class TestServiceImplDupPkg
class End2endTest : public ::testing::TestWithParam<bool> { class End2endTest : public ::testing::TestWithParam<bool> {
protected: protected:
End2endTest() End2endTest()
: kMaxMessageSize_(8192), special_service_("special"), thread_pool_(2) {} : kMaxMessageSize_(8192), special_service_("special") {}
void SetUp() GRPC_OVERRIDE { void SetUp() GRPC_OVERRIDE {
int port = grpc_pick_unused_port_or_die(); int port = grpc_pick_unused_port_or_die();
@ -281,7 +280,6 @@ class End2endTest : public ::testing::TestWithParam<bool> {
builder.SetMaxMessageSize( builder.SetMaxMessageSize(
kMaxMessageSize_); // For testing max message size. kMaxMessageSize_); // For testing max message size.
builder.RegisterService(&dup_pkg_service_); builder.RegisterService(&dup_pkg_service_);
builder.SetThreadPool(&thread_pool_);
server_ = builder.BuildAndStart(); server_ = builder.BuildAndStart();
} }
@ -309,7 +307,6 @@ class End2endTest : public ::testing::TestWithParam<bool> {
ServerBuilder builder; ServerBuilder builder;
builder.AddListeningPort(proxyaddr.str(), InsecureServerCredentials()); builder.AddListeningPort(proxyaddr.str(), InsecureServerCredentials());
builder.RegisterService(proxy_service_.get()); builder.RegisterService(proxy_service_.get());
builder.SetThreadPool(&thread_pool_);
proxy_server_ = builder.BuildAndStart(); proxy_server_ = builder.BuildAndStart();
channel_ = CreateChannel(proxyaddr.str(), InsecureCredentials(), channel_ = CreateChannel(proxyaddr.str(), InsecureCredentials(),
@ -329,7 +326,6 @@ class End2endTest : public ::testing::TestWithParam<bool> {
TestServiceImpl service_; TestServiceImpl service_;
TestServiceImpl special_service_; TestServiceImpl special_service_;
TestServiceImplDupPkg dup_pkg_service_; TestServiceImplDupPkg dup_pkg_service_;
DynamicThreadPool thread_pool_;
}; };
static void SendRpc(grpc::cpp::test::util::TestService::Stub* stub, static void SendRpc(grpc::cpp::test::util::TestService::Stub* stub,

@ -42,7 +42,6 @@
#include <grpc++/client_context.h> #include <grpc++/client_context.h>
#include <grpc++/create_channel.h> #include <grpc++/create_channel.h>
#include <grpc++/credentials.h> #include <grpc++/credentials.h>
#include <grpc++/dynamic_thread_pool.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/server_builder.h> #include <grpc++/server_builder.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
@ -234,7 +233,7 @@ class TestServiceImpl : public TestService::Service {
class MockTest : public ::testing::Test { class MockTest : public ::testing::Test {
protected: protected:
MockTest() : thread_pool_(2) {} MockTest() {}
void SetUp() GRPC_OVERRIDE { void SetUp() GRPC_OVERRIDE {
int port = grpc_pick_unused_port_or_die(); int port = grpc_pick_unused_port_or_die();
@ -244,7 +243,6 @@ class MockTest : public ::testing::Test {
builder.AddListeningPort(server_address_.str(), builder.AddListeningPort(server_address_.str(),
InsecureServerCredentials()); InsecureServerCredentials());
builder.RegisterService(&service_); builder.RegisterService(&service_);
builder.SetThreadPool(&thread_pool_);
server_ = builder.BuildAndStart(); server_ = builder.BuildAndStart();
} }
@ -260,7 +258,6 @@ class MockTest : public ::testing::Test {
std::unique_ptr<Server> server_; std::unique_ptr<Server> server_;
std::ostringstream server_address_; std::ostringstream server_address_;
TestServiceImpl service_; TestServiceImpl service_;
DynamicThreadPool thread_pool_;
}; };
// Do one real rpc and one mocked one // Do one real rpc and one mocked one

@ -43,7 +43,6 @@
#include <grpc++/client_context.h> #include <grpc++/client_context.h>
#include <grpc++/create_channel.h> #include <grpc++/create_channel.h>
#include <grpc++/credentials.h> #include <grpc++/credentials.h>
#include <grpc++/dynamic_thread_pool.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/server_builder.h> #include <grpc++/server_builder.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
@ -177,7 +176,7 @@ class TestServiceImplDupPkg
class End2endTest : public ::testing::Test { class End2endTest : public ::testing::Test {
protected: protected:
End2endTest() : kMaxMessageSize_(8192), thread_pool_(2) {} End2endTest() : kMaxMessageSize_(8192) {}
void SetUp() GRPC_OVERRIDE { void SetUp() GRPC_OVERRIDE {
int port = grpc_pick_unused_port_or_die(); int port = grpc_pick_unused_port_or_die();
@ -190,7 +189,6 @@ class End2endTest : public ::testing::Test {
builder.SetMaxMessageSize( builder.SetMaxMessageSize(
kMaxMessageSize_); // For testing max message size. kMaxMessageSize_); // For testing max message size.
builder.RegisterService(&dup_pkg_service_); builder.RegisterService(&dup_pkg_service_);
builder.SetThreadPool(&thread_pool_);
server_ = builder.BuildAndStart(); server_ = builder.BuildAndStart();
} }
@ -208,7 +206,6 @@ class End2endTest : public ::testing::Test {
const int kMaxMessageSize_; const int kMaxMessageSize_;
TestServiceImpl service_; TestServiceImpl service_;
TestServiceImplDupPkg dup_pkg_service_; TestServiceImplDupPkg dup_pkg_service_;
DynamicThreadPool thread_pool_;
}; };
static void SendRpc(grpc::cpp::test::util::TestService::Stub* stub, static void SendRpc(grpc::cpp::test::util::TestService::Stub* stub,

@ -40,8 +40,6 @@
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/host_port.h> #include <grpc/support/host_port.h>
#include <grpc++/config.h> #include <grpc++/config.h>
#include <grpc++/dynamic_thread_pool.h>
#include <grpc++/fixed_size_thread_pool.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/server_builder.h> #include <grpc++/server_builder.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
@ -93,12 +91,7 @@ class TestServiceImpl GRPC_FINAL : public TestService::Service {
class SynchronousServer GRPC_FINAL : public grpc::testing::Server { class SynchronousServer GRPC_FINAL : public grpc::testing::Server {
public: public:
SynchronousServer(const ServerConfig& config, int port) SynchronousServer(const ServerConfig& config, int port)
: thread_pool_(), impl_(MakeImpl(port)) { : impl_(MakeImpl(port)) {
if (config.threads() > 0) {
thread_pool_.reset(new FixedSizeThreadPool(config.threads()));
} else {
thread_pool_.reset(new DynamicThreadPool(-config.threads()));
}
} }
private: private:
@ -112,13 +105,10 @@ class SynchronousServer GRPC_FINAL : public grpc::testing::Server {
builder.RegisterService(&service_); builder.RegisterService(&service_);
builder.SetThreadPool(thread_pool_.get());
return builder.BuildAndStart(); return builder.BuildAndStart();
} }
TestServiceImpl service_; TestServiceImpl service_;
std::unique_ptr<ThreadPoolInterface> thread_pool_;
std::unique_ptr<grpc::Server> impl_; std::unique_ptr<grpc::Server> impl_;
}; };

@ -1,77 +0,0 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include <condition_variable>
#include <functional>
#include <mutex>
#include <grpc++/dynamic_thread_pool.h>
#include <gtest/gtest.h>
namespace grpc {
class DynamicThreadPoolTest : public ::testing::Test {
public:
DynamicThreadPoolTest() : thread_pool_(0) {}
protected:
DynamicThreadPool thread_pool_;
};
void Callback(std::mutex* mu, std::condition_variable* cv, bool* done) {
std::unique_lock<std::mutex> lock(*mu);
*done = true;
cv->notify_all();
}
TEST_F(DynamicThreadPoolTest, Add) {
std::mutex mu;
std::condition_variable cv;
bool done = false;
std::function<void()> callback = std::bind(Callback, &mu, &cv, &done);
thread_pool_.Add(callback);
// Wait for the callback to finish.
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
}
} // namespace grpc
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
int result = RUN_ALL_TESTS();
return result;
}

@ -1,77 +0,0 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include <condition_variable>
#include <functional>
#include <mutex>
#include <grpc++/fixed_size_thread_pool.h>
#include <gtest/gtest.h>
namespace grpc {
class FixedSizeThreadPoolTest : public ::testing::Test {
public:
FixedSizeThreadPoolTest() : thread_pool_(4) {}
protected:
FixedSizeThreadPool thread_pool_;
};
void Callback(std::mutex* mu, std::condition_variable* cv, bool* done) {
std::unique_lock<std::mutex> lock(*mu);
*done = true;
cv->notify_all();
}
TEST_F(FixedSizeThreadPoolTest, Add) {
std::mutex mu;
std::condition_variable cv;
bool done = false;
std::function<void()> callback = std::bind(Callback, &mu, &cv, &done);
thread_pool_.Add(callback);
// Wait for the callback to finish.
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
}
} // namespace grpc
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
int result = RUN_ALL_TESTS();
return result;
}

@ -39,7 +39,6 @@
#include <grpc++/client_context.h> #include <grpc++/client_context.h>
#include <grpc++/create_channel.h> #include <grpc++/create_channel.h>
#include <grpc++/credentials.h> #include <grpc++/credentials.h>
#include <grpc++/dynamic_thread_pool.h>
#include <grpc++/server.h> #include <grpc++/server.h>
#include <grpc++/server_builder.h> #include <grpc++/server_builder.h>
#include <grpc++/server_context.h> #include <grpc++/server_context.h>
@ -75,7 +74,7 @@ class TestServiceImpl : public ::grpc::cpp::test::util::TestService::Service {
class CliCallTest : public ::testing::Test { class CliCallTest : public ::testing::Test {
protected: protected:
CliCallTest() : thread_pool_(2) {} CliCallTest() {}
void SetUp() GRPC_OVERRIDE { void SetUp() GRPC_OVERRIDE {
int port = grpc_pick_unused_port_or_die(); int port = grpc_pick_unused_port_or_die();
@ -85,7 +84,6 @@ class CliCallTest : public ::testing::Test {
builder.AddListeningPort(server_address_.str(), builder.AddListeningPort(server_address_.str(),
InsecureServerCredentials()); InsecureServerCredentials());
builder.RegisterService(&service_); builder.RegisterService(&service_);
builder.SetThreadPool(&thread_pool_);
server_ = builder.BuildAndStart(); server_ = builder.BuildAndStart();
} }
@ -102,7 +100,6 @@ class CliCallTest : public ::testing::Test {
std::unique_ptr<Server> server_; std::unique_ptr<Server> server_;
std::ostringstream server_address_; std::ostringstream server_address_;
TestServiceImpl service_; TestServiceImpl service_;
DynamicThreadPool thread_pool_;
}; };
// Send a rpc with a normal stub and then a CliCall. Verify they match. // Send a rpc with a normal stub and then a CliCall. Verify they match.

@ -772,8 +772,6 @@ include/grpc++/config.h \
include/grpc++/config_protobuf.h \ include/grpc++/config_protobuf.h \
include/grpc++/create_channel.h \ include/grpc++/create_channel.h \
include/grpc++/credentials.h \ include/grpc++/credentials.h \
include/grpc++/dynamic_thread_pool.h \
include/grpc++/fixed_size_thread_pool.h \
include/grpc++/generic_stub.h \ include/grpc++/generic_stub.h \
include/grpc++/impl/call.h \ include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/client_unary_call.h \
@ -799,7 +797,6 @@ include/grpc++/status.h \
include/grpc++/status_code_enum.h \ include/grpc++/status_code_enum.h \
include/grpc++/stream.h \ include/grpc++/stream.h \
include/grpc++/stub_options.h \ include/grpc++/stub_options.h \
include/grpc++/thread_pool_interface.h \
include/grpc++/time.h include/grpc++/time.h
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files

@ -772,8 +772,6 @@ include/grpc++/config.h \
include/grpc++/config_protobuf.h \ include/grpc++/config_protobuf.h \
include/grpc++/create_channel.h \ include/grpc++/create_channel.h \
include/grpc++/credentials.h \ include/grpc++/credentials.h \
include/grpc++/dynamic_thread_pool.h \
include/grpc++/fixed_size_thread_pool.h \
include/grpc++/generic_stub.h \ include/grpc++/generic_stub.h \
include/grpc++/impl/call.h \ include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/client_unary_call.h \
@ -799,13 +797,15 @@ include/grpc++/status.h \
include/grpc++/status_code_enum.h \ include/grpc++/status_code_enum.h \
include/grpc++/stream.h \ include/grpc++/stream.h \
include/grpc++/stub_options.h \ include/grpc++/stub_options.h \
include/grpc++/thread_pool_interface.h \
include/grpc++/time.h \ include/grpc++/time.h \
src/cpp/client/secure_credentials.h \ src/cpp/client/secure_credentials.h \
src/cpp/common/secure_auth_context.h \ src/cpp/common/secure_auth_context.h \
src/cpp/server/secure_server_credentials.h \ src/cpp/server/secure_server_credentials.h \
src/cpp/client/channel.h \ src/cpp/client/channel.h \
src/cpp/common/create_auth_context.h \ src/cpp/common/create_auth_context.h \
src/cpp/server/dynamic_thread_pool.h \
src/cpp/server/fixed_size_thread_pool.h \
src/cpp/server/thread_pool_interface.h \
src/cpp/client/secure_channel_arguments.cc \ src/cpp/client/secure_channel_arguments.cc \
src/cpp/client/secure_credentials.cc \ src/cpp/client/secure_credentials.cc \
src/cpp/common/auth_property_iterator.cc \ src/cpp/common/auth_property_iterator.cc \

@ -1197,21 +1197,6 @@
"test/cpp/util/time_test.cc" "test/cpp/util/time_test.cc"
] ]
}, },
{
"deps": [
"gpr",
"gpr_test_util",
"grpc",
"grpc++",
"grpc_test_util"
],
"headers": [],
"language": "c++",
"name": "dynamic_thread_pool_test",
"src": [
"test/cpp/server/dynamic_thread_pool_test.cc"
]
},
{ {
"deps": [ "deps": [
"gpr", "gpr",
@ -1228,21 +1213,6 @@
"test/cpp/end2end/end2end_test.cc" "test/cpp/end2end/end2end_test.cc"
] ]
}, },
{
"deps": [
"gpr",
"gpr_test_util",
"grpc",
"grpc++",
"grpc_test_util"
],
"headers": [],
"language": "c++",
"name": "fixed_size_thread_pool_test",
"src": [
"test/cpp/server/fixed_size_thread_pool_test.cc"
]
},
{ {
"deps": [ "deps": [
"gpr", "gpr",
@ -13143,8 +13113,6 @@
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -13170,13 +13138,15 @@
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
"src/cpp/client/secure_credentials.h", "src/cpp/client/secure_credentials.h",
"src/cpp/common/create_auth_context.h", "src/cpp/common/create_auth_context.h",
"src/cpp/common/secure_auth_context.h", "src/cpp/common/secure_auth_context.h",
"src/cpp/server/secure_server_credentials.h" "src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/secure_server_credentials.h",
"src/cpp/server/thread_pool_interface.h"
], ],
"language": "c++", "language": "c++",
"name": "grpc++", "name": "grpc++",
@ -13193,8 +13163,6 @@
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -13220,7 +13188,6 @@
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
"src/cpp/client/channel.cc", "src/cpp/client/channel.cc",
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
@ -13246,7 +13213,9 @@
"src/cpp/server/async_generic_service.cc", "src/cpp/server/async_generic_service.cc",
"src/cpp/server/create_default_thread_pool.cc", "src/cpp/server/create_default_thread_pool.cc",
"src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/dynamic_thread_pool.cc",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/insecure_server_credentials.cc",
"src/cpp/server/secure_server_credentials.cc", "src/cpp/server/secure_server_credentials.cc",
"src/cpp/server/secure_server_credentials.h", "src/cpp/server/secure_server_credentials.h",
@ -13254,6 +13223,7 @@
"src/cpp/server/server_builder.cc", "src/cpp/server/server_builder.cc",
"src/cpp/server/server_context.cc", "src/cpp/server/server_context.cc",
"src/cpp/server/server_credentials.cc", "src/cpp/server/server_credentials.cc",
"src/cpp/server/thread_pool_interface.h",
"src/cpp/util/byte_buffer.cc", "src/cpp/util/byte_buffer.cc",
"src/cpp/util/slice.cc", "src/cpp/util/slice.cc",
"src/cpp/util/status.cc", "src/cpp/util/status.cc",
@ -13317,8 +13287,6 @@
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -13344,10 +13312,12 @@
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
"src/cpp/common/create_auth_context.h" "src/cpp/common/create_auth_context.h",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/thread_pool_interface.h"
], ],
"language": "c++", "language": "c++",
"name": "grpc++_unsecure", "name": "grpc++_unsecure",
@ -13364,8 +13334,6 @@
"include/grpc++/config_protobuf.h", "include/grpc++/config_protobuf.h",
"include/grpc++/create_channel.h", "include/grpc++/create_channel.h",
"include/grpc++/credentials.h", "include/grpc++/credentials.h",
"include/grpc++/dynamic_thread_pool.h",
"include/grpc++/fixed_size_thread_pool.h",
"include/grpc++/generic_stub.h", "include/grpc++/generic_stub.h",
"include/grpc++/impl/call.h", "include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/client_unary_call.h",
@ -13391,7 +13359,6 @@
"include/grpc++/status_code_enum.h", "include/grpc++/status_code_enum.h",
"include/grpc++/stream.h", "include/grpc++/stream.h",
"include/grpc++/stub_options.h", "include/grpc++/stub_options.h",
"include/grpc++/thread_pool_interface.h",
"include/grpc++/time.h", "include/grpc++/time.h",
"src/cpp/client/channel.cc", "src/cpp/client/channel.cc",
"src/cpp/client/channel.h", "src/cpp/client/channel.h",
@ -13411,12 +13378,15 @@
"src/cpp/server/async_generic_service.cc", "src/cpp/server/async_generic_service.cc",
"src/cpp/server/create_default_thread_pool.cc", "src/cpp/server/create_default_thread_pool.cc",
"src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/dynamic_thread_pool.cc",
"src/cpp/server/dynamic_thread_pool.h",
"src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc",
"src/cpp/server/fixed_size_thread_pool.h",
"src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/insecure_server_credentials.cc",
"src/cpp/server/server.cc", "src/cpp/server/server.cc",
"src/cpp/server/server_builder.cc", "src/cpp/server/server_builder.cc",
"src/cpp/server/server_context.cc", "src/cpp/server/server_context.cc",
"src/cpp/server/server_credentials.cc", "src/cpp/server/server_credentials.cc",
"src/cpp/server/thread_pool_interface.h",
"src/cpp/util/byte_buffer.cc", "src/cpp/util/byte_buffer.cc",
"src/cpp/util/slice.cc", "src/cpp/util/slice.cc",
"src/cpp/util/status.cc", "src/cpp/util/status.cc",

@ -1357,24 +1357,6 @@
"windows" "windows"
] ]
}, },
{
"ci_platforms": [
"linux",
"mac",
"posix",
"windows"
],
"exclude_configs": [],
"flaky": false,
"language": "c++",
"name": "dynamic_thread_pool_test",
"platforms": [
"linux",
"mac",
"posix",
"windows"
]
},
{ {
"ci_platforms": [ "ci_platforms": [
"linux", "linux",
@ -1393,24 +1375,6 @@
"windows" "windows"
] ]
}, },
{
"ci_platforms": [
"linux",
"mac",
"posix",
"windows"
],
"exclude_configs": [],
"flaky": false,
"language": "c++",
"name": "fixed_size_thread_pool_test",
"platforms": [
"linux",
"mac",
"posix",
"windows"
]
},
{ {
"ci_platforms": [ "ci_platforms": [
"linux", "linux",

File diff suppressed because one or more lines are too long

@ -225,8 +225,6 @@
<ClInclude Include="..\..\include\grpc++\config_protobuf.h" /> <ClInclude Include="..\..\include\grpc++\config_protobuf.h" />
<ClInclude Include="..\..\include\grpc++\create_channel.h" /> <ClInclude Include="..\..\include\grpc++\create_channel.h" />
<ClInclude Include="..\..\include\grpc++\credentials.h" /> <ClInclude Include="..\..\include\grpc++\credentials.h" />
<ClInclude Include="..\..\include\grpc++\dynamic_thread_pool.h" />
<ClInclude Include="..\..\include\grpc++\fixed_size_thread_pool.h" />
<ClInclude Include="..\..\include\grpc++\generic_stub.h" /> <ClInclude Include="..\..\include\grpc++\generic_stub.h" />
<ClInclude Include="..\..\include\grpc++\impl\call.h" /> <ClInclude Include="..\..\include\grpc++\impl\call.h" />
<ClInclude Include="..\..\include\grpc++\impl\client_unary_call.h" /> <ClInclude Include="..\..\include\grpc++\impl\client_unary_call.h" />
@ -252,7 +250,6 @@
<ClInclude Include="..\..\include\grpc++\status_code_enum.h" /> <ClInclude Include="..\..\include\grpc++\status_code_enum.h" />
<ClInclude Include="..\..\include\grpc++\stream.h" /> <ClInclude Include="..\..\include\grpc++\stream.h" />
<ClInclude Include="..\..\include\grpc++\stub_options.h" /> <ClInclude Include="..\..\include\grpc++\stub_options.h" />
<ClInclude Include="..\..\include\grpc++\thread_pool_interface.h" />
<ClInclude Include="..\..\include\grpc++\time.h" /> <ClInclude Include="..\..\include\grpc++\time.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -261,6 +258,9 @@
<ClInclude Include="..\..\src\cpp\server\secure_server_credentials.h" /> <ClInclude Include="..\..\src\cpp\server\secure_server_credentials.h" />
<ClInclude Include="..\..\src\cpp\client\channel.h" /> <ClInclude Include="..\..\src\cpp\client\channel.h" />
<ClInclude Include="..\..\src\cpp\common\create_auth_context.h" /> <ClInclude Include="..\..\src\cpp\common\create_auth_context.h" />
<ClInclude Include="..\..\src\cpp\server\dynamic_thread_pool.h" />
<ClInclude Include="..\..\src\cpp\server\fixed_size_thread_pool.h" />
<ClInclude Include="..\..\src\cpp\server\thread_pool_interface.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\src\cpp\client\secure_channel_arguments.cc"> <ClCompile Include="..\..\src\cpp\client\secure_channel_arguments.cc">

@ -132,12 +132,6 @@
<ClInclude Include="..\..\include\grpc++\credentials.h"> <ClInclude Include="..\..\include\grpc++\credentials.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\grpc++\dynamic_thread_pool.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\fixed_size_thread_pool.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\generic_stub.h"> <ClInclude Include="..\..\include\grpc++\generic_stub.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
@ -213,9 +207,6 @@
<ClInclude Include="..\..\include\grpc++\stub_options.h"> <ClInclude Include="..\..\include\grpc++\stub_options.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\grpc++\thread_pool_interface.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\time.h"> <ClInclude Include="..\..\include\grpc++\time.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
@ -236,6 +227,15 @@
<ClInclude Include="..\..\src\cpp\common\create_auth_context.h"> <ClInclude Include="..\..\src\cpp\common\create_auth_context.h">
<Filter>src\cpp\common</Filter> <Filter>src\cpp\common</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\cpp\server\dynamic_thread_pool.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\server\fixed_size_thread_pool.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\server\thread_pool_interface.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -225,8 +225,6 @@
<ClInclude Include="..\..\include\grpc++\config_protobuf.h" /> <ClInclude Include="..\..\include\grpc++\config_protobuf.h" />
<ClInclude Include="..\..\include\grpc++\create_channel.h" /> <ClInclude Include="..\..\include\grpc++\create_channel.h" />
<ClInclude Include="..\..\include\grpc++\credentials.h" /> <ClInclude Include="..\..\include\grpc++\credentials.h" />
<ClInclude Include="..\..\include\grpc++\dynamic_thread_pool.h" />
<ClInclude Include="..\..\include\grpc++\fixed_size_thread_pool.h" />
<ClInclude Include="..\..\include\grpc++\generic_stub.h" /> <ClInclude Include="..\..\include\grpc++\generic_stub.h" />
<ClInclude Include="..\..\include\grpc++\impl\call.h" /> <ClInclude Include="..\..\include\grpc++\impl\call.h" />
<ClInclude Include="..\..\include\grpc++\impl\client_unary_call.h" /> <ClInclude Include="..\..\include\grpc++\impl\client_unary_call.h" />
@ -252,12 +250,14 @@
<ClInclude Include="..\..\include\grpc++\status_code_enum.h" /> <ClInclude Include="..\..\include\grpc++\status_code_enum.h" />
<ClInclude Include="..\..\include\grpc++\stream.h" /> <ClInclude Include="..\..\include\grpc++\stream.h" />
<ClInclude Include="..\..\include\grpc++\stub_options.h" /> <ClInclude Include="..\..\include\grpc++\stub_options.h" />
<ClInclude Include="..\..\include\grpc++\thread_pool_interface.h" />
<ClInclude Include="..\..\include\grpc++\time.h" /> <ClInclude Include="..\..\include\grpc++\time.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\src\cpp\client\channel.h" /> <ClInclude Include="..\..\src\cpp\client\channel.h" />
<ClInclude Include="..\..\src\cpp\common\create_auth_context.h" /> <ClInclude Include="..\..\src\cpp\common\create_auth_context.h" />
<ClInclude Include="..\..\src\cpp\server\dynamic_thread_pool.h" />
<ClInclude Include="..\..\src\cpp\server\fixed_size_thread_pool.h" />
<ClInclude Include="..\..\src\cpp\server\thread_pool_interface.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\src\cpp\common\insecure_create_auth_context.cc"> <ClCompile Include="..\..\src\cpp\common\insecure_create_auth_context.cc">

@ -117,12 +117,6 @@
<ClInclude Include="..\..\include\grpc++\credentials.h"> <ClInclude Include="..\..\include\grpc++\credentials.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\grpc++\dynamic_thread_pool.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\fixed_size_thread_pool.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\generic_stub.h"> <ClInclude Include="..\..\include\grpc++\generic_stub.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
@ -198,9 +192,6 @@
<ClInclude Include="..\..\include\grpc++\stub_options.h"> <ClInclude Include="..\..\include\grpc++\stub_options.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\grpc++\thread_pool_interface.h">
<Filter>include\grpc++</Filter>
</ClInclude>
<ClInclude Include="..\..\include\grpc++\time.h"> <ClInclude Include="..\..\include\grpc++\time.h">
<Filter>include\grpc++</Filter> <Filter>include\grpc++</Filter>
</ClInclude> </ClInclude>
@ -212,6 +203,15 @@
<ClInclude Include="..\..\src\cpp\common\create_auth_context.h"> <ClInclude Include="..\..\src\cpp\common\create_auth_context.h">
<Filter>src\cpp\common</Filter> <Filter>src\cpp\common</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\cpp\server\dynamic_thread_pool.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\server\fixed_size_thread_pool.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\server\thread_pool_interface.h">
<Filter>src\cpp\server</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

Loading…
Cancel
Save