GRPC C++ 0.10.0.0

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
channel.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright 2015, Google Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following disclaimer
14 * in the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Google Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 */
33
34 #ifndef GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
35 #define GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
36
37 #include <memory>
38
39 #include <grpc++/channel_interface.h>
40 #include <grpc++/config.h>
41 #include <grpc++/impl/grpc_library.h>
42
43 struct grpc_channel;
44
45 namespace grpc {
46 class Call;
47 class CallOpSetInterface;
48 class ChannelArguments;
49 class CompletionQueue;
50 class Credentials;
51 class StreamContextInterface;
52
53 class Channel GRPC_FINAL : public GrpcLibrary, public ChannelInterface {
54 public:
55 explicit Channel(grpc_channel* c_channel);
56 Channel(const grpc::string& host, grpc_channel* c_channel);
57 ~Channel() GRPC_OVERRIDE;
58
59 virtual void* RegisterMethod(const char* method) GRPC_OVERRIDE;
60 virtual Call CreateCall(const RpcMethod& method, ClientContext* context,
61 CompletionQueue* cq) GRPC_OVERRIDE;
62 virtual void PerformOpsOnCall(CallOpSetInterface* ops,
63 Call* call) GRPC_OVERRIDE;
64
65 private:
66 const grpc::string host_;
67 grpc_channel* const c_channel_; // owned
68 };
69
70 } // namespace grpc
71
72 #endif // GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
grpc::string
std::string string
Definition: config.h:112
grpc::CallOpSetInterface
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
grpc_library.h
config.h
grpc::Channel::CreateCall
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq) GRPC_OVERRIDE
Definition: channel.cc:61
channel_interface.h
GRPC_FINAL
#define GRPC_FINAL
Definition: config.h:71
grpc::Channel::Channel
Channel(grpc_channel *c_channel)
Definition: channel.cc:54
grpc::ClientContext
Definition: client_context.h:74
grpc::Channel::RegisterMethod
virtual void * RegisterMethod(const char *method) GRPC_OVERRIDE
Definition: channel.cc:91
grpc::GrpcLibrary
Definition: grpc_library.h:41
grpc::Call
Definition: call.h:565
grpc::ChannelInterface
Definition: channel_interface.h:52
grpc::Channel::~Channel
~Channel() GRPC_OVERRIDE
Definition: channel.cc:59
grpc::CompletionQueue
Definition: completion_queue.h:87
grpc::RpcMethod
Definition: rpc_method.h:39
grpc::Channel::PerformOpsOnCall
virtual void PerformOpsOnCall(CallOpSetInterface *ops, Call *call) GRPC_OVERRIDE
Definition: channel.cc:80
GRPC_OVERRIDE
#define GRPC_OVERRIDE
Definition: config.h:77
grpc::Channel
Definition: channel.h:53