diff options
author | 2015-02-09 13:47:39 -0800 | |
---|---|---|
committer | 2015-02-09 13:47:39 -0800 | |
commit | 0db1befae1a85c4a1d7a8ac09dd959555117827e (patch) | |
tree | f07db27f06a587aa3377e7a161f7e331d961c24f /include | |
parent | 14a65f976060a68982b6e17a8cb76fb770579afb (diff) |
Progress
Diffstat (limited to 'include')
-rw-r--r-- | include/grpc++/server.h | 8 | ||||
-rw-r--r-- | include/grpc++/server_builder.h | 4 | ||||
-rw-r--r-- | include/grpc/support/cpu.h | 49 |
3 files changed, 55 insertions, 6 deletions
diff --git a/include/grpc++/server.h b/include/grpc++/server.h index 3931d9a1bc..ae86683f0b 100644 --- a/include/grpc++/server.h +++ b/include/grpc++/server.h @@ -70,15 +70,15 @@ class Server { friend class ServerBuilder; // ServerBuilder use only - Server(ThreadPoolInterface* thread_pool, ServerCredentials* creds); + Server(ThreadPoolInterface* thread_pool, bool thread_pool_owned, ServerCredentials* creds); Server(); // Register a service. This call does not take ownership of the service. // The service must exist for the lifetime of the Server instance. - void RegisterService(RpcService* service); + bool RegisterService(RpcService* service); // Add a listening port. Can be called multiple times. - void AddPort(const grpc::string& addr); + int AddPort(const grpc::string& addr); // Start the server. - void Start(); + bool Start(); void AllowOneRpc(); void HandleQueueClosed(); diff --git a/include/grpc++/server_builder.h b/include/grpc++/server_builder.h index f9a40b302d..8b4c81bc87 100644 --- a/include/grpc++/server_builder.h +++ b/include/grpc++/server_builder.h @@ -57,7 +57,7 @@ class ServerBuilder { // BuildAndStart(). void RegisterService(SynchronousService* service); - void ReigsterAsyncService(AsynchronousService *service); + void RegisterAsyncService(AsynchronousService *service); // Add a listening port. Can be called multiple times. void AddPort(const grpc::string& addr); @@ -78,7 +78,7 @@ class ServerBuilder { std::vector<AsynchronousService*> async_services_; std::vector<grpc::string> ports_; std::shared_ptr<ServerCredentials> creds_; - ThreadPoolInterface* thread_pool_; + ThreadPoolInterface* thread_pool_ = nullptr; }; } // namespace grpc diff --git a/include/grpc/support/cpu.h b/include/grpc/support/cpu.h new file mode 100644 index 0000000000..f8ec2c6522 --- /dev/null +++ b/include/grpc/support/cpu.h @@ -0,0 +1,49 @@ +/* + * + * Copyright 2014, 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. + * + */ + +#ifndef __GRPC_INTERNAL_SUPPORT_CPU_H__ +#define __GRPC_INTERNAL_SUPPORT_CPU_H__ + +/* Interface providing CPU information for currently running system */ + +/* Return the number of CPU cores on the current system. Will return 0 if + if information is not available. */ +unsigned gpr_cpu_num_cores(void); + +/* Return the CPU on which the current thread is executing; N.B. This should + be considered advisory only - it is possible that the thread is switched + to a different CPU at any time. Returns a value in range + [0, gpr_cpu_num_cores() - 1] */ +unsigned gpr_cpu_current_cpu(void); + +#endif /* __GRPC_INTERNAL_SUPPORT_CPU_H__ */ |