1// Generated by the gRPC C++ plugin.
2// If you make any local change, they will be lost.
3// source: tensorflow/core/protobuf/coordination_service.proto
4#ifndef GRPC_tensorflow_2fcore_2fprotobuf_2fcoordination_5fservice_2eproto__INCLUDED
5#define GRPC_tensorflow_2fcore_2fprotobuf_2fcoordination_5fservice_2eproto__INCLUDED
6
7#include "tensorflow/core/protobuf/coordination_service.pb.h"
8
9#include <functional>
10#include <grpc/impl/codegen/port_platform.h>
11#include <grpcpp/impl/codegen/async_generic_service.h>
12#include <grpcpp/impl/codegen/async_stream.h>
13#include <grpcpp/impl/codegen/async_unary_call.h>
14#include <grpcpp/impl/codegen/client_callback.h>
15#include <grpcpp/impl/codegen/client_context.h>
16#include <grpcpp/impl/codegen/completion_queue.h>
17#include <grpcpp/impl/codegen/message_allocator.h>
18#include <grpcpp/impl/codegen/method_handler.h>
19#include <grpcpp/impl/codegen/proto_utils.h>
20#include <grpcpp/impl/codegen/rpc_method.h>
21#include <grpcpp/impl/codegen/server_callback.h>
22#include <grpcpp/impl/codegen/server_callback_handlers.h>
23#include <grpcpp/impl/codegen/server_context.h>
24#include <grpcpp/impl/codegen/service_type.h>
25#include <grpcpp/impl/codegen/status.h>
26#include <grpcpp/impl/codegen/stub_options.h>
27#include <grpcpp/impl/codegen/sync_stream.h>
28
29namespace tensorflow {
30
31
32namespace grpc {
33
34// Coordination Service defines a TensorFlow service that controls and
35// coordinates distributed execution in a cluster of multiple tasks.
36//
37// The service keeps track of the cluster configuration and the state of cluster
38// members or the leader depending on the role of the current task. The
39// distributed runtime leverages this service to coordinate and perform cluster
40// initialization, check the healthiness of tasks, and propagate error
41// messages to the cluster.
42class CoordinationService final {
43 public:
44 static constexpr char const* service_full_name() {
45 return "tensorflow.CoordinationService";
46 }
47 class StubInterface {
48 public:
49 virtual ~StubInterface() {}
50 // Register task to coordination service so that the service starts to track
51 // liveness of the task. RPC blocks and returns only when it registers to
52 // the service successfully, or error happens in the registering process.
53 virtual ::grpc::Status RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::tensorflow::RegisterTaskResponse* response) = 0;
54 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>> AsyncRegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) {
55 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>>(AsyncRegisterTaskRaw(context, request, cq));
56 }
57 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>> PrepareAsyncRegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) {
58 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>>(PrepareAsyncRegisterTaskRaw(context, request, cq));
59 }
60 // Heartbeat message from task to coordination service. Heartbeat is sent from
61 // a task to refresh its timestamp on leader to avoid it becoming stale.
62 // RPC responds immediately after refreshing the timestamp on leader.
63 virtual ::grpc::Status Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::tensorflow::HeartbeatResponse* response) = 0;
64 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>> AsyncHeartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) {
65 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>>(AsyncHeartbeatRaw(context, request, cq));
66 }
67 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>> PrepareAsyncHeartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) {
68 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>>(PrepareAsyncHeartbeatRaw(context, request, cq));
69 }
70 // Wait for all tasks in the cluster to be up and running. The RPC request
71 // only gets responded when all tasks have registered, or some error occurs.
72 virtual ::grpc::Status WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::tensorflow::WaitForAllTasksResponse* response) = 0;
73 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>> AsyncWaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) {
74 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>>(AsyncWaitForAllTasksRaw(context, request, cq));
75 }
76 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>> PrepareAsyncWaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) {
77 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>>(PrepareAsyncWaitForAllTasksRaw(context, request, cq));
78 }
79 // Disconnects task from the service. If `shutdown_barrier_timeout_in_ms` is
80 // specified in the config, blocks until all tasks reach the barrier before
81 // disconnecting together. If the barrier times out, tasks at the barrier will
82 // still disconnect, while an error is reported to tasks that did not reach
83 // the barrier on time.
84 virtual ::grpc::Status ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::tensorflow::ShutdownTaskResponse* response) = 0;
85 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>> AsyncShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) {
86 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>>(AsyncShutdownTaskRaw(context, request, cq));
87 }
88 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>> PrepareAsyncShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) {
89 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>>(PrepareAsyncShutdownTaskRaw(context, request, cq));
90 }
91 // Disconnects task from the service if it is in an ERROR state, thereby
92 // allowing it to reconnect via RegisterTask() in the future.
93 virtual ::grpc::Status ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::tensorflow::ResetTaskResponse* response) = 0;
94 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>> AsyncResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) {
95 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>>(AsyncResetTaskRaw(context, request, cq));
96 }
97 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>> PrepareAsyncResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) {
98 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>>(PrepareAsyncResetTaskRaw(context, request, cq));
99 }
100 // Report error to the task. RPC sets the receiving instance of coordination
101 // service agent to error state permanently.
102 // TODO(b/195990880): Consider splitting this into a different RPC service.
103 virtual ::grpc::Status ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::tensorflow::ReportErrorToTaskResponse* response) = 0;
104 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>> AsyncReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) {
105 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>>(AsyncReportErrorToTaskRaw(context, request, cq));
106 }
107 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>> PrepareAsyncReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) {
108 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>>(PrepareAsyncReportErrorToTaskRaw(context, request, cq));
109 }
110 // Report task error to coordination service. RPC sets the service-side task
111 // state to error, and propagate the error to other tasks in the cluster.
112 virtual ::grpc::Status ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::tensorflow::ReportErrorToServiceResponse* response) = 0;
113 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>> AsyncReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) {
114 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>>(AsyncReportErrorToServiceRaw(context, request, cq));
115 }
116 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>> PrepareAsyncReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) {
117 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>>(PrepareAsyncReportErrorToServiceRaw(context, request, cq));
118 }
119 // Insert configuration key-value that will be accessible to all cluster
120 // tasks. The key can be formatted as Unix file path with hierarchy. The
121 // coordination service key-value store should only be used for cluster
122 // configuration data.
123 virtual ::grpc::Status InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::tensorflow::InsertKeyValueResponse* response) = 0;
124 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>> AsyncInsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
125 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>>(AsyncInsertKeyValueRaw(context, request, cq));
126 }
127 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>> PrepareAsyncInsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
128 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>>(PrepareAsyncInsertKeyValueRaw(context, request, cq));
129 }
130 // Get configuration key-value. The request blocks until the key-value data
131 // becomes available (i.e., set by a task in the cluster).
132 virtual ::grpc::Status GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::tensorflow::GetKeyValueResponse* response) = 0;
133 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>> AsyncGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
134 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>>(AsyncGetKeyValueRaw(context, request, cq));
135 }
136 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>> PrepareAsyncGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
137 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>>(PrepareAsyncGetKeyValueRaw(context, request, cq));
138 }
139 // Get configuration key-value. The request does not block, but returns an
140 // error if the requested key does not exist.
141 virtual ::grpc::Status TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::tensorflow::TryGetKeyValueResponse* response) = 0;
142 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>> AsyncTryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
143 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>>(AsyncTryGetKeyValueRaw(context, request, cq));
144 }
145 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>> PrepareAsyncTryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
146 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>>(PrepareAsyncTryGetKeyValueRaw(context, request, cq));
147 }
148 // Same as GetKeyValue, but returns all values that have keys which are
149 // prefixed with the directory key.
150 virtual ::grpc::Status GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::tensorflow::GetKeyValueDirResponse* response) = 0;
151 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>> AsyncGetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) {
152 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>>(AsyncGetKeyValueDirRaw(context, request, cq));
153 }
154 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>> PrepareAsyncGetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) {
155 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>>(PrepareAsyncGetKeyValueDirRaw(context, request, cq));
156 }
157 // Delete configuration key-value. If is_directory is set in request,
158 // recursively clean up all key-values under the path specified by `key`.
159 virtual ::grpc::Status DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::tensorflow::DeleteKeyValueResponse* response) = 0;
160 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>> AsyncDeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
161 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>>(AsyncDeleteKeyValueRaw(context, request, cq));
162 }
163 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>> PrepareAsyncDeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
164 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>>(PrepareAsyncDeleteKeyValueRaw(context, request, cq));
165 }
166 // Blocks until all (or a subset of) tasks are at the barrier or the barrier
167 // fails.
168 //
169 // `barrier_id` should be unique across barriers. Once the barrier has passed
170 // or failed, subsequent calls will not block, and immediately respond with
171 // the previous response.
172 //
173 // The first WaitAtBarrier() call received by the service for a particular
174 // barrier id is special in that it determines the barrier deadline based on
175 // timeout duration.
176 // However, if subsequent calls by different agents specify a different set of
177 // `tasks` for the same `barrier_id`, the barrier will fail instantly.
178 //
179 // If no tasks are specified (default), the barrier will block for all the
180 // connected tasks.
181 //
182 // Possible service errors:
183 // - DeadlineExceeded: Timed out waiting for specified tasks at the barrier.
184 // Deadline is determined by the server timestamp when it receives the
185 // first WaitAtBarrier() + timeout duration.
186 // - Cancelled: One of the tasks called CancelBarrier().
187 // - Aborted: Service is shutting down.
188 // - Internal: Any participating task is in ERROR state.
189 // - InvalidArgument: (1) Conflicting tasks specified by different agents
190 // for the same barrier, (2) one of the participating tasks is not in
191 // the cluster, or (3) task making the request is not included in the
192 // list of participating tasks.
193 virtual ::grpc::Status Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::tensorflow::BarrierResponse* response) = 0;
194 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>> AsyncBarrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) {
195 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>>(AsyncBarrierRaw(context, request, cq));
196 }
197 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>> PrepareAsyncBarrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) {
198 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>>(PrepareAsyncBarrierRaw(context, request, cq));
199 }
200 // Aborts the barrier if it is ongoing.
201 // Current and future WaitAtBarrier() calls with the same id will return a
202 // CANCELLED error status.
203 // Possible service errors:
204 // - FailedPrecondition: Barrier has already been passed.
205 virtual ::grpc::Status CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::tensorflow::CancelBarrierResponse* response) = 0;
206 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>> AsyncCancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) {
207 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>>(AsyncCancelBarrierRaw(context, request, cq));
208 }
209 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>> PrepareAsyncCancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) {
210 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>>(PrepareAsyncCancelBarrierRaw(context, request, cq));
211 }
212 class experimental_async_interface {
213 public:
214 virtual ~experimental_async_interface() {}
215 // Register task to coordination service so that the service starts to track
216 // liveness of the task. RPC blocks and returns only when it registers to
217 // the service successfully, or error happens in the registering process.
218 virtual void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
219 virtual void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
220 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
221 virtual void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
222 #else
223 virtual void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
224 #endif
225 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
226 virtual void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
227 #else
228 virtual void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
229 #endif
230 // Heartbeat message from task to coordination service. Heartbeat is sent from
231 // a task to refresh its timestamp on leader to avoid it becoming stale.
232 // RPC responds immediately after refreshing the timestamp on leader.
233 virtual void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, std::function<void(::grpc::Status)>) = 0;
234 virtual void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, std::function<void(::grpc::Status)>) = 0;
235 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
236 virtual void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
237 #else
238 virtual void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
239 #endif
240 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
241 virtual void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
242 #else
243 virtual void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
244 #endif
245 // Wait for all tasks in the cluster to be up and running. The RPC request
246 // only gets responded when all tasks have registered, or some error occurs.
247 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, std::function<void(::grpc::Status)>) = 0;
248 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, std::function<void(::grpc::Status)>) = 0;
249 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
250 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
251 #else
252 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
253 #endif
254 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
255 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
256 #else
257 virtual void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
258 #endif
259 // Disconnects task from the service. If `shutdown_barrier_timeout_in_ms` is
260 // specified in the config, blocks until all tasks reach the barrier before
261 // disconnecting together. If the barrier times out, tasks at the barrier will
262 // still disconnect, while an error is reported to tasks that did not reach
263 // the barrier on time.
264 virtual void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
265 virtual void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
266 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
267 virtual void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
268 #else
269 virtual void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
270 #endif
271 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
272 virtual void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
273 #else
274 virtual void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
275 #endif
276 // Disconnects task from the service if it is in an ERROR state, thereby
277 // allowing it to reconnect via RegisterTask() in the future.
278 virtual void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
279 virtual void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
280 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
281 virtual void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
282 #else
283 virtual void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
284 #endif
285 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
286 virtual void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
287 #else
288 virtual void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
289 #endif
290 // Report error to the task. RPC sets the receiving instance of coordination
291 // service agent to error state permanently.
292 // TODO(b/195990880): Consider splitting this into a different RPC service.
293 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
294 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, std::function<void(::grpc::Status)>) = 0;
295 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
296 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
297 #else
298 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
299 #endif
300 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
301 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
302 #else
303 virtual void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
304 #endif
305 // Report task error to coordination service. RPC sets the service-side task
306 // state to error, and propagate the error to other tasks in the cluster.
307 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, std::function<void(::grpc::Status)>) = 0;
308 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, std::function<void(::grpc::Status)>) = 0;
309 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
310 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
311 #else
312 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
313 #endif
314 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
315 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
316 #else
317 virtual void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
318 #endif
319 // Insert configuration key-value that will be accessible to all cluster
320 // tasks. The key can be formatted as Unix file path with hierarchy. The
321 // coordination service key-value store should only be used for cluster
322 // configuration data.
323 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
324 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
325 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
326 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
327 #else
328 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
329 #endif
330 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
331 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
332 #else
333 virtual void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
334 #endif
335 // Get configuration key-value. The request blocks until the key-value data
336 // becomes available (i.e., set by a task in the cluster).
337 virtual void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
338 virtual void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
339 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
340 virtual void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
341 #else
342 virtual void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
343 #endif
344 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
345 virtual void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
346 #else
347 virtual void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
348 #endif
349 // Get configuration key-value. The request does not block, but returns an
350 // error if the requested key does not exist.
351 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
352 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
353 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
354 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
355 #else
356 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
357 #endif
358 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
359 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
360 #else
361 virtual void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
362 #endif
363 // Same as GetKeyValue, but returns all values that have keys which are
364 // prefixed with the directory key.
365 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, std::function<void(::grpc::Status)>) = 0;
366 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, std::function<void(::grpc::Status)>) = 0;
367 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
368 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
369 #else
370 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
371 #endif
372 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
373 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
374 #else
375 virtual void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
376 #endif
377 // Delete configuration key-value. If is_directory is set in request,
378 // recursively clean up all key-values under the path specified by `key`.
379 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
380 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, std::function<void(::grpc::Status)>) = 0;
381 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
382 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
383 #else
384 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
385 #endif
386 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
387 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
388 #else
389 virtual void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
390 #endif
391 // Blocks until all (or a subset of) tasks are at the barrier or the barrier
392 // fails.
393 //
394 // `barrier_id` should be unique across barriers. Once the barrier has passed
395 // or failed, subsequent calls will not block, and immediately respond with
396 // the previous response.
397 //
398 // The first WaitAtBarrier() call received by the service for a particular
399 // barrier id is special in that it determines the barrier deadline based on
400 // timeout duration.
401 // However, if subsequent calls by different agents specify a different set of
402 // `tasks` for the same `barrier_id`, the barrier will fail instantly.
403 //
404 // If no tasks are specified (default), the barrier will block for all the
405 // connected tasks.
406 //
407 // Possible service errors:
408 // - DeadlineExceeded: Timed out waiting for specified tasks at the barrier.
409 // Deadline is determined by the server timestamp when it receives the
410 // first WaitAtBarrier() + timeout duration.
411 // - Cancelled: One of the tasks called CancelBarrier().
412 // - Aborted: Service is shutting down.
413 // - Internal: Any participating task is in ERROR state.
414 // - InvalidArgument: (1) Conflicting tasks specified by different agents
415 // for the same barrier, (2) one of the participating tasks is not in
416 // the cluster, or (3) task making the request is not included in the
417 // list of participating tasks.
418 virtual void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, std::function<void(::grpc::Status)>) = 0;
419 virtual void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, std::function<void(::grpc::Status)>) = 0;
420 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
421 virtual void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
422 #else
423 virtual void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
424 #endif
425 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
426 virtual void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
427 #else
428 virtual void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
429 #endif
430 // Aborts the barrier if it is ongoing.
431 // Current and future WaitAtBarrier() calls with the same id will return a
432 // CANCELLED error status.
433 // Possible service errors:
434 // - FailedPrecondition: Barrier has already been passed.
435 virtual void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, std::function<void(::grpc::Status)>) = 0;
436 virtual void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, std::function<void(::grpc::Status)>) = 0;
437 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
438 virtual void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
439 #else
440 virtual void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
441 #endif
442 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
443 virtual void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
444 #else
445 virtual void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
446 #endif
447 };
448 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
449 typedef class experimental_async_interface async_interface;
450 #endif
451 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
452 async_interface* async() { return experimental_async(); }
453 #endif
454 virtual class experimental_async_interface* experimental_async() { return nullptr; }
455 private:
456 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>* AsyncRegisterTaskRaw(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
457 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::RegisterTaskResponse>* PrepareAsyncRegisterTaskRaw(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
458 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>* AsyncHeartbeatRaw(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) = 0;
459 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::HeartbeatResponse>* PrepareAsyncHeartbeatRaw(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) = 0;
460 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>* AsyncWaitForAllTasksRaw(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) = 0;
461 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::WaitForAllTasksResponse>* PrepareAsyncWaitForAllTasksRaw(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) = 0;
462 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>* AsyncShutdownTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
463 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ShutdownTaskResponse>* PrepareAsyncShutdownTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
464 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>* AsyncResetTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
465 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ResetTaskResponse>* PrepareAsyncResetTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
466 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>* AsyncReportErrorToTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
467 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToTaskResponse>* PrepareAsyncReportErrorToTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) = 0;
468 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>* AsyncReportErrorToServiceRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) = 0;
469 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::ReportErrorToServiceResponse>* PrepareAsyncReportErrorToServiceRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) = 0;
470 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>* AsyncInsertKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
471 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::InsertKeyValueResponse>* PrepareAsyncInsertKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
472 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>* AsyncGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
473 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueResponse>* PrepareAsyncGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
474 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>* AsyncTryGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
475 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::TryGetKeyValueResponse>* PrepareAsyncTryGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
476 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>* AsyncGetKeyValueDirRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) = 0;
477 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::GetKeyValueDirResponse>* PrepareAsyncGetKeyValueDirRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) = 0;
478 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>* AsyncDeleteKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
479 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::DeleteKeyValueResponse>* PrepareAsyncDeleteKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) = 0;
480 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>* AsyncBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) = 0;
481 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::BarrierResponse>* PrepareAsyncBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) = 0;
482 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>* AsyncCancelBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) = 0;
483 virtual ::grpc::ClientAsyncResponseReaderInterface< ::tensorflow::CancelBarrierResponse>* PrepareAsyncCancelBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) = 0;
484 };
485 class Stub final : public StubInterface {
486 public:
487 Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);
488 ::grpc::Status RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::tensorflow::RegisterTaskResponse* response) override;
489 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>> AsyncRegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) {
490 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>>(AsyncRegisterTaskRaw(context, request, cq));
491 }
492 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>> PrepareAsyncRegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) {
493 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>>(PrepareAsyncRegisterTaskRaw(context, request, cq));
494 }
495 ::grpc::Status Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::tensorflow::HeartbeatResponse* response) override;
496 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>> AsyncHeartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) {
497 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>>(AsyncHeartbeatRaw(context, request, cq));
498 }
499 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>> PrepareAsyncHeartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) {
500 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>>(PrepareAsyncHeartbeatRaw(context, request, cq));
501 }
502 ::grpc::Status WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::tensorflow::WaitForAllTasksResponse* response) override;
503 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>> AsyncWaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) {
504 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>>(AsyncWaitForAllTasksRaw(context, request, cq));
505 }
506 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>> PrepareAsyncWaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) {
507 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>>(PrepareAsyncWaitForAllTasksRaw(context, request, cq));
508 }
509 ::grpc::Status ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::tensorflow::ShutdownTaskResponse* response) override;
510 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>> AsyncShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) {
511 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>>(AsyncShutdownTaskRaw(context, request, cq));
512 }
513 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>> PrepareAsyncShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) {
514 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>>(PrepareAsyncShutdownTaskRaw(context, request, cq));
515 }
516 ::grpc::Status ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::tensorflow::ResetTaskResponse* response) override;
517 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>> AsyncResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) {
518 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>>(AsyncResetTaskRaw(context, request, cq));
519 }
520 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>> PrepareAsyncResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) {
521 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>>(PrepareAsyncResetTaskRaw(context, request, cq));
522 }
523 ::grpc::Status ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::tensorflow::ReportErrorToTaskResponse* response) override;
524 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>> AsyncReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) {
525 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>>(AsyncReportErrorToTaskRaw(context, request, cq));
526 }
527 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>> PrepareAsyncReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) {
528 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>>(PrepareAsyncReportErrorToTaskRaw(context, request, cq));
529 }
530 ::grpc::Status ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::tensorflow::ReportErrorToServiceResponse* response) override;
531 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>> AsyncReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) {
532 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>>(AsyncReportErrorToServiceRaw(context, request, cq));
533 }
534 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>> PrepareAsyncReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) {
535 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>>(PrepareAsyncReportErrorToServiceRaw(context, request, cq));
536 }
537 ::grpc::Status InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::tensorflow::InsertKeyValueResponse* response) override;
538 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>> AsyncInsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
539 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>>(AsyncInsertKeyValueRaw(context, request, cq));
540 }
541 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>> PrepareAsyncInsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
542 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>>(PrepareAsyncInsertKeyValueRaw(context, request, cq));
543 }
544 ::grpc::Status GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::tensorflow::GetKeyValueResponse* response) override;
545 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>> AsyncGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
546 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>>(AsyncGetKeyValueRaw(context, request, cq));
547 }
548 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>> PrepareAsyncGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
549 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>>(PrepareAsyncGetKeyValueRaw(context, request, cq));
550 }
551 ::grpc::Status TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::tensorflow::TryGetKeyValueResponse* response) override;
552 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>> AsyncTryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
553 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>>(AsyncTryGetKeyValueRaw(context, request, cq));
554 }
555 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>> PrepareAsyncTryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
556 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>>(PrepareAsyncTryGetKeyValueRaw(context, request, cq));
557 }
558 ::grpc::Status GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::tensorflow::GetKeyValueDirResponse* response) override;
559 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>> AsyncGetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) {
560 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>>(AsyncGetKeyValueDirRaw(context, request, cq));
561 }
562 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>> PrepareAsyncGetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) {
563 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>>(PrepareAsyncGetKeyValueDirRaw(context, request, cq));
564 }
565 ::grpc::Status DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::tensorflow::DeleteKeyValueResponse* response) override;
566 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>> AsyncDeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
567 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>>(AsyncDeleteKeyValueRaw(context, request, cq));
568 }
569 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>> PrepareAsyncDeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) {
570 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>>(PrepareAsyncDeleteKeyValueRaw(context, request, cq));
571 }
572 ::grpc::Status Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::tensorflow::BarrierResponse* response) override;
573 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>> AsyncBarrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) {
574 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>>(AsyncBarrierRaw(context, request, cq));
575 }
576 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>> PrepareAsyncBarrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) {
577 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>>(PrepareAsyncBarrierRaw(context, request, cq));
578 }
579 ::grpc::Status CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::tensorflow::CancelBarrierResponse* response) override;
580 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>> AsyncCancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) {
581 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>>(AsyncCancelBarrierRaw(context, request, cq));
582 }
583 std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>> PrepareAsyncCancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) {
584 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>>(PrepareAsyncCancelBarrierRaw(context, request, cq));
585 }
586 class experimental_async final :
587 public StubInterface::experimental_async_interface {
588 public:
589 void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, std::function<void(::grpc::Status)>) override;
590 void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, std::function<void(::grpc::Status)>) override;
591 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
592 void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
593 #else
594 void RegisterTask(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
595 #endif
596 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
597 void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
598 #else
599 void RegisterTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::RegisterTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
600 #endif
601 void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, std::function<void(::grpc::Status)>) override;
602 void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, std::function<void(::grpc::Status)>) override;
603 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
604 void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
605 #else
606 void Heartbeat(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
607 #endif
608 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
609 void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
610 #else
611 void Heartbeat(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::HeartbeatResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
612 #endif
613 void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, std::function<void(::grpc::Status)>) override;
614 void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, std::function<void(::grpc::Status)>) override;
615 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
616 void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
617 #else
618 void WaitForAllTasks(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
619 #endif
620 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
621 void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
622 #else
623 void WaitForAllTasks(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::WaitForAllTasksResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
624 #endif
625 void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, std::function<void(::grpc::Status)>) override;
626 void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, std::function<void(::grpc::Status)>) override;
627 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
628 void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
629 #else
630 void ShutdownTask(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
631 #endif
632 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
633 void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
634 #else
635 void ShutdownTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ShutdownTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
636 #endif
637 void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, std::function<void(::grpc::Status)>) override;
638 void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, std::function<void(::grpc::Status)>) override;
639 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
640 void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
641 #else
642 void ResetTask(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
643 #endif
644 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
645 void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
646 #else
647 void ResetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ResetTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
648 #endif
649 void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, std::function<void(::grpc::Status)>) override;
650 void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, std::function<void(::grpc::Status)>) override;
651 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
652 void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
653 #else
654 void ReportErrorToTask(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
655 #endif
656 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
657 void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
658 #else
659 void ReportErrorToTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToTaskResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
660 #endif
661 void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, std::function<void(::grpc::Status)>) override;
662 void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, std::function<void(::grpc::Status)>) override;
663 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
664 void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
665 #else
666 void ReportErrorToService(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
667 #endif
668 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
669 void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
670 #else
671 void ReportErrorToService(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::ReportErrorToServiceResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
672 #endif
673 void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
674 void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
675 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
676 void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
677 #else
678 void InsertKeyValue(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
679 #endif
680 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
681 void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
682 #else
683 void InsertKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::InsertKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
684 #endif
685 void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
686 void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
687 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
688 void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
689 #else
690 void GetKeyValue(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
691 #endif
692 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
693 void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
694 #else
695 void GetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
696 #endif
697 void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
698 void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
699 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
700 void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
701 #else
702 void TryGetKeyValue(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
703 #endif
704 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
705 void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
706 #else
707 void TryGetKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::TryGetKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
708 #endif
709 void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, std::function<void(::grpc::Status)>) override;
710 void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, std::function<void(::grpc::Status)>) override;
711 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
712 void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
713 #else
714 void GetKeyValueDir(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
715 #endif
716 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
717 void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
718 #else
719 void GetKeyValueDir(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::GetKeyValueDirResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
720 #endif
721 void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
722 void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, std::function<void(::grpc::Status)>) override;
723 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
724 void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
725 #else
726 void DeleteKeyValue(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
727 #endif
728 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
729 void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
730 #else
731 void DeleteKeyValue(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::DeleteKeyValueResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
732 #endif
733 void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, std::function<void(::grpc::Status)>) override;
734 void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, std::function<void(::grpc::Status)>) override;
735 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
736 void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
737 #else
738 void Barrier(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
739 #endif
740 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
741 void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
742 #else
743 void Barrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::BarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
744 #endif
745 void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, std::function<void(::grpc::Status)>) override;
746 void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, std::function<void(::grpc::Status)>) override;
747 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
748 void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
749 #else
750 void CancelBarrier(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
751 #endif
752 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
753 void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
754 #else
755 void CancelBarrier(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::tensorflow::CancelBarrierResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
756 #endif
757 private:
758 friend class Stub;
759 explicit experimental_async(Stub* stub): stub_(stub) { }
760 Stub* stub() { return stub_; }
761 Stub* stub_;
762 };
763 class experimental_async_interface* experimental_async() override { return &async_stub_; }
764
765 private:
766 std::shared_ptr< ::grpc::ChannelInterface> channel_;
767 class experimental_async async_stub_{this};
768 ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>* AsyncRegisterTaskRaw(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) override;
769 ::grpc::ClientAsyncResponseReader< ::tensorflow::RegisterTaskResponse>* PrepareAsyncRegisterTaskRaw(::grpc::ClientContext* context, const ::tensorflow::RegisterTaskRequest& request, ::grpc::CompletionQueue* cq) override;
770 ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>* AsyncHeartbeatRaw(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) override;
771 ::grpc::ClientAsyncResponseReader< ::tensorflow::HeartbeatResponse>* PrepareAsyncHeartbeatRaw(::grpc::ClientContext* context, const ::tensorflow::HeartbeatRequest& request, ::grpc::CompletionQueue* cq) override;
772 ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>* AsyncWaitForAllTasksRaw(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) override;
773 ::grpc::ClientAsyncResponseReader< ::tensorflow::WaitForAllTasksResponse>* PrepareAsyncWaitForAllTasksRaw(::grpc::ClientContext* context, const ::tensorflow::WaitForAllTasksRequest& request, ::grpc::CompletionQueue* cq) override;
774 ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>* AsyncShutdownTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) override;
775 ::grpc::ClientAsyncResponseReader< ::tensorflow::ShutdownTaskResponse>* PrepareAsyncShutdownTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ShutdownTaskRequest& request, ::grpc::CompletionQueue* cq) override;
776 ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>* AsyncResetTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) override;
777 ::grpc::ClientAsyncResponseReader< ::tensorflow::ResetTaskResponse>* PrepareAsyncResetTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ResetTaskRequest& request, ::grpc::CompletionQueue* cq) override;
778 ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>* AsyncReportErrorToTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) override;
779 ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToTaskResponse>* PrepareAsyncReportErrorToTaskRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToTaskRequest& request, ::grpc::CompletionQueue* cq) override;
780 ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>* AsyncReportErrorToServiceRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) override;
781 ::grpc::ClientAsyncResponseReader< ::tensorflow::ReportErrorToServiceResponse>* PrepareAsyncReportErrorToServiceRaw(::grpc::ClientContext* context, const ::tensorflow::ReportErrorToServiceRequest& request, ::grpc::CompletionQueue* cq) override;
782 ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>* AsyncInsertKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
783 ::grpc::ClientAsyncResponseReader< ::tensorflow::InsertKeyValueResponse>* PrepareAsyncInsertKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::InsertKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
784 ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>* AsyncGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
785 ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueResponse>* PrepareAsyncGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
786 ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>* AsyncTryGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
787 ::grpc::ClientAsyncResponseReader< ::tensorflow::TryGetKeyValueResponse>* PrepareAsyncTryGetKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::TryGetKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
788 ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>* AsyncGetKeyValueDirRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) override;
789 ::grpc::ClientAsyncResponseReader< ::tensorflow::GetKeyValueDirResponse>* PrepareAsyncGetKeyValueDirRaw(::grpc::ClientContext* context, const ::tensorflow::GetKeyValueDirRequest& request, ::grpc::CompletionQueue* cq) override;
790 ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>* AsyncDeleteKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
791 ::grpc::ClientAsyncResponseReader< ::tensorflow::DeleteKeyValueResponse>* PrepareAsyncDeleteKeyValueRaw(::grpc::ClientContext* context, const ::tensorflow::DeleteKeyValueRequest& request, ::grpc::CompletionQueue* cq) override;
792 ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>* AsyncBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) override;
793 ::grpc::ClientAsyncResponseReader< ::tensorflow::BarrierResponse>* PrepareAsyncBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::BarrierRequest& request, ::grpc::CompletionQueue* cq) override;
794 ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>* AsyncCancelBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) override;
795 ::grpc::ClientAsyncResponseReader< ::tensorflow::CancelBarrierResponse>* PrepareAsyncCancelBarrierRaw(::grpc::ClientContext* context, const ::tensorflow::CancelBarrierRequest& request, ::grpc::CompletionQueue* cq) override;
796 const ::grpc::internal::RpcMethod rpcmethod_RegisterTask_;
797 const ::grpc::internal::RpcMethod rpcmethod_Heartbeat_;
798 const ::grpc::internal::RpcMethod rpcmethod_WaitForAllTasks_;
799 const ::grpc::internal::RpcMethod rpcmethod_ShutdownTask_;
800 const ::grpc::internal::RpcMethod rpcmethod_ResetTask_;
801 const ::grpc::internal::RpcMethod rpcmethod_ReportErrorToTask_;
802 const ::grpc::internal::RpcMethod rpcmethod_ReportErrorToService_;
803 const ::grpc::internal::RpcMethod rpcmethod_InsertKeyValue_;
804 const ::grpc::internal::RpcMethod rpcmethod_GetKeyValue_;
805 const ::grpc::internal::RpcMethod rpcmethod_TryGetKeyValue_;
806 const ::grpc::internal::RpcMethod rpcmethod_GetKeyValueDir_;
807 const ::grpc::internal::RpcMethod rpcmethod_DeleteKeyValue_;
808 const ::grpc::internal::RpcMethod rpcmethod_Barrier_;
809 const ::grpc::internal::RpcMethod rpcmethod_CancelBarrier_;
810 };
811 static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
812
813 class Service : public ::grpc::Service {
814 public:
815 Service();
816 virtual ~Service();
817 // Register task to coordination service so that the service starts to track
818 // liveness of the task. RPC blocks and returns only when it registers to
819 // the service successfully, or error happens in the registering process.
820 virtual ::grpc::Status RegisterTask(::grpc::ServerContext* context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response);
821 // Heartbeat message from task to coordination service. Heartbeat is sent from
822 // a task to refresh its timestamp on leader to avoid it becoming stale.
823 // RPC responds immediately after refreshing the timestamp on leader.
824 virtual ::grpc::Status Heartbeat(::grpc::ServerContext* context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response);
825 // Wait for all tasks in the cluster to be up and running. The RPC request
826 // only gets responded when all tasks have registered, or some error occurs.
827 virtual ::grpc::Status WaitForAllTasks(::grpc::ServerContext* context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response);
828 // Disconnects task from the service. If `shutdown_barrier_timeout_in_ms` is
829 // specified in the config, blocks until all tasks reach the barrier before
830 // disconnecting together. If the barrier times out, tasks at the barrier will
831 // still disconnect, while an error is reported to tasks that did not reach
832 // the barrier on time.
833 virtual ::grpc::Status ShutdownTask(::grpc::ServerContext* context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response);
834 // Disconnects task from the service if it is in an ERROR state, thereby
835 // allowing it to reconnect via RegisterTask() in the future.
836 virtual ::grpc::Status ResetTask(::grpc::ServerContext* context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response);
837 // Report error to the task. RPC sets the receiving instance of coordination
838 // service agent to error state permanently.
839 // TODO(b/195990880): Consider splitting this into a different RPC service.
840 virtual ::grpc::Status ReportErrorToTask(::grpc::ServerContext* context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response);
841 // Report task error to coordination service. RPC sets the service-side task
842 // state to error, and propagate the error to other tasks in the cluster.
843 virtual ::grpc::Status ReportErrorToService(::grpc::ServerContext* context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response);
844 // Insert configuration key-value that will be accessible to all cluster
845 // tasks. The key can be formatted as Unix file path with hierarchy. The
846 // coordination service key-value store should only be used for cluster
847 // configuration data.
848 virtual ::grpc::Status InsertKeyValue(::grpc::ServerContext* context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response);
849 // Get configuration key-value. The request blocks until the key-value data
850 // becomes available (i.e., set by a task in the cluster).
851 virtual ::grpc::Status GetKeyValue(::grpc::ServerContext* context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response);
852 // Get configuration key-value. The request does not block, but returns an
853 // error if the requested key does not exist.
854 virtual ::grpc::Status TryGetKeyValue(::grpc::ServerContext* context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response);
855 // Same as GetKeyValue, but returns all values that have keys which are
856 // prefixed with the directory key.
857 virtual ::grpc::Status GetKeyValueDir(::grpc::ServerContext* context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response);
858 // Delete configuration key-value. If is_directory is set in request,
859 // recursively clean up all key-values under the path specified by `key`.
860 virtual ::grpc::Status DeleteKeyValue(::grpc::ServerContext* context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response);
861 // Blocks until all (or a subset of) tasks are at the barrier or the barrier
862 // fails.
863 //
864 // `barrier_id` should be unique across barriers. Once the barrier has passed
865 // or failed, subsequent calls will not block, and immediately respond with
866 // the previous response.
867 //
868 // The first WaitAtBarrier() call received by the service for a particular
869 // barrier id is special in that it determines the barrier deadline based on
870 // timeout duration.
871 // However, if subsequent calls by different agents specify a different set of
872 // `tasks` for the same `barrier_id`, the barrier will fail instantly.
873 //
874 // If no tasks are specified (default), the barrier will block for all the
875 // connected tasks.
876 //
877 // Possible service errors:
878 // - DeadlineExceeded: Timed out waiting for specified tasks at the barrier.
879 // Deadline is determined by the server timestamp when it receives the
880 // first WaitAtBarrier() + timeout duration.
881 // - Cancelled: One of the tasks called CancelBarrier().
882 // - Aborted: Service is shutting down.
883 // - Internal: Any participating task is in ERROR state.
884 // - InvalidArgument: (1) Conflicting tasks specified by different agents
885 // for the same barrier, (2) one of the participating tasks is not in
886 // the cluster, or (3) task making the request is not included in the
887 // list of participating tasks.
888 virtual ::grpc::Status Barrier(::grpc::ServerContext* context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response);
889 // Aborts the barrier if it is ongoing.
890 // Current and future WaitAtBarrier() calls with the same id will return a
891 // CANCELLED error status.
892 // Possible service errors:
893 // - FailedPrecondition: Barrier has already been passed.
894 virtual ::grpc::Status CancelBarrier(::grpc::ServerContext* context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response);
895 };
896 template <class BaseClass>
897 class WithAsyncMethod_RegisterTask : public BaseClass {
898 private:
899 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
900 public:
901 WithAsyncMethod_RegisterTask() {
902 ::grpc::Service::MarkMethodAsync(0);
903 }
904 ~WithAsyncMethod_RegisterTask() override {
905 BaseClassMustBeDerivedFromService(this);
906 }
907 // disable synchronous version of this method
908 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
909 abort();
910 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
911 }
912 void RequestRegisterTask(::grpc::ServerContext* context, ::tensorflow::RegisterTaskRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::RegisterTaskResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
913 ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
914 }
915 };
916 template <class BaseClass>
917 class WithAsyncMethod_Heartbeat : public BaseClass {
918 private:
919 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
920 public:
921 WithAsyncMethod_Heartbeat() {
922 ::grpc::Service::MarkMethodAsync(1);
923 }
924 ~WithAsyncMethod_Heartbeat() override {
925 BaseClassMustBeDerivedFromService(this);
926 }
927 // disable synchronous version of this method
928 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
929 abort();
930 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
931 }
932 void RequestHeartbeat(::grpc::ServerContext* context, ::tensorflow::HeartbeatRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::HeartbeatResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
933 ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
934 }
935 };
936 template <class BaseClass>
937 class WithAsyncMethod_WaitForAllTasks : public BaseClass {
938 private:
939 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
940 public:
941 WithAsyncMethod_WaitForAllTasks() {
942 ::grpc::Service::MarkMethodAsync(2);
943 }
944 ~WithAsyncMethod_WaitForAllTasks() override {
945 BaseClassMustBeDerivedFromService(this);
946 }
947 // disable synchronous version of this method
948 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
949 abort();
950 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
951 }
952 void RequestWaitForAllTasks(::grpc::ServerContext* context, ::tensorflow::WaitForAllTasksRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::WaitForAllTasksResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
953 ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
954 }
955 };
956 template <class BaseClass>
957 class WithAsyncMethod_ShutdownTask : public BaseClass {
958 private:
959 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
960 public:
961 WithAsyncMethod_ShutdownTask() {
962 ::grpc::Service::MarkMethodAsync(3);
963 }
964 ~WithAsyncMethod_ShutdownTask() override {
965 BaseClassMustBeDerivedFromService(this);
966 }
967 // disable synchronous version of this method
968 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
969 abort();
970 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
971 }
972 void RequestShutdownTask(::grpc::ServerContext* context, ::tensorflow::ShutdownTaskRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::ShutdownTaskResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
973 ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag);
974 }
975 };
976 template <class BaseClass>
977 class WithAsyncMethod_ResetTask : public BaseClass {
978 private:
979 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
980 public:
981 WithAsyncMethod_ResetTask() {
982 ::grpc::Service::MarkMethodAsync(4);
983 }
984 ~WithAsyncMethod_ResetTask() override {
985 BaseClassMustBeDerivedFromService(this);
986 }
987 // disable synchronous version of this method
988 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
989 abort();
990 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
991 }
992 void RequestResetTask(::grpc::ServerContext* context, ::tensorflow::ResetTaskRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::ResetTaskResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
993 ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
994 }
995 };
996 template <class BaseClass>
997 class WithAsyncMethod_ReportErrorToTask : public BaseClass {
998 private:
999 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1000 public:
1001 WithAsyncMethod_ReportErrorToTask() {
1002 ::grpc::Service::MarkMethodAsync(5);
1003 }
1004 ~WithAsyncMethod_ReportErrorToTask() override {
1005 BaseClassMustBeDerivedFromService(this);
1006 }
1007 // disable synchronous version of this method
1008 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
1009 abort();
1010 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1011 }
1012 void RequestReportErrorToTask(::grpc::ServerContext* context, ::tensorflow::ReportErrorToTaskRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::ReportErrorToTaskResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1013 ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
1014 }
1015 };
1016 template <class BaseClass>
1017 class WithAsyncMethod_ReportErrorToService : public BaseClass {
1018 private:
1019 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1020 public:
1021 WithAsyncMethod_ReportErrorToService() {
1022 ::grpc::Service::MarkMethodAsync(6);
1023 }
1024 ~WithAsyncMethod_ReportErrorToService() override {
1025 BaseClassMustBeDerivedFromService(this);
1026 }
1027 // disable synchronous version of this method
1028 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
1029 abort();
1030 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1031 }
1032 void RequestReportErrorToService(::grpc::ServerContext* context, ::tensorflow::ReportErrorToServiceRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::ReportErrorToServiceResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1033 ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
1034 }
1035 };
1036 template <class BaseClass>
1037 class WithAsyncMethod_InsertKeyValue : public BaseClass {
1038 private:
1039 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1040 public:
1041 WithAsyncMethod_InsertKeyValue() {
1042 ::grpc::Service::MarkMethodAsync(7);
1043 }
1044 ~WithAsyncMethod_InsertKeyValue() override {
1045 BaseClassMustBeDerivedFromService(this);
1046 }
1047 // disable synchronous version of this method
1048 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
1049 abort();
1050 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1051 }
1052 void RequestInsertKeyValue(::grpc::ServerContext* context, ::tensorflow::InsertKeyValueRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::InsertKeyValueResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1053 ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag);
1054 }
1055 };
1056 template <class BaseClass>
1057 class WithAsyncMethod_GetKeyValue : public BaseClass {
1058 private:
1059 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1060 public:
1061 WithAsyncMethod_GetKeyValue() {
1062 ::grpc::Service::MarkMethodAsync(8);
1063 }
1064 ~WithAsyncMethod_GetKeyValue() override {
1065 BaseClassMustBeDerivedFromService(this);
1066 }
1067 // disable synchronous version of this method
1068 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
1069 abort();
1070 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1071 }
1072 void RequestGetKeyValue(::grpc::ServerContext* context, ::tensorflow::GetKeyValueRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::GetKeyValueResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1073 ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag);
1074 }
1075 };
1076 template <class BaseClass>
1077 class WithAsyncMethod_TryGetKeyValue : public BaseClass {
1078 private:
1079 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1080 public:
1081 WithAsyncMethod_TryGetKeyValue() {
1082 ::grpc::Service::MarkMethodAsync(9);
1083 }
1084 ~WithAsyncMethod_TryGetKeyValue() override {
1085 BaseClassMustBeDerivedFromService(this);
1086 }
1087 // disable synchronous version of this method
1088 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
1089 abort();
1090 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1091 }
1092 void RequestTryGetKeyValue(::grpc::ServerContext* context, ::tensorflow::TryGetKeyValueRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::TryGetKeyValueResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1093 ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag);
1094 }
1095 };
1096 template <class BaseClass>
1097 class WithAsyncMethod_GetKeyValueDir : public BaseClass {
1098 private:
1099 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1100 public:
1101 WithAsyncMethod_GetKeyValueDir() {
1102 ::grpc::Service::MarkMethodAsync(10);
1103 }
1104 ~WithAsyncMethod_GetKeyValueDir() override {
1105 BaseClassMustBeDerivedFromService(this);
1106 }
1107 // disable synchronous version of this method
1108 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
1109 abort();
1110 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1111 }
1112 void RequestGetKeyValueDir(::grpc::ServerContext* context, ::tensorflow::GetKeyValueDirRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::GetKeyValueDirResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1113 ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag);
1114 }
1115 };
1116 template <class BaseClass>
1117 class WithAsyncMethod_DeleteKeyValue : public BaseClass {
1118 private:
1119 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1120 public:
1121 WithAsyncMethod_DeleteKeyValue() {
1122 ::grpc::Service::MarkMethodAsync(11);
1123 }
1124 ~WithAsyncMethod_DeleteKeyValue() override {
1125 BaseClassMustBeDerivedFromService(this);
1126 }
1127 // disable synchronous version of this method
1128 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
1129 abort();
1130 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1131 }
1132 void RequestDeleteKeyValue(::grpc::ServerContext* context, ::tensorflow::DeleteKeyValueRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::DeleteKeyValueResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1133 ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag);
1134 }
1135 };
1136 template <class BaseClass>
1137 class WithAsyncMethod_Barrier : public BaseClass {
1138 private:
1139 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1140 public:
1141 WithAsyncMethod_Barrier() {
1142 ::grpc::Service::MarkMethodAsync(12);
1143 }
1144 ~WithAsyncMethod_Barrier() override {
1145 BaseClassMustBeDerivedFromService(this);
1146 }
1147 // disable synchronous version of this method
1148 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
1149 abort();
1150 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1151 }
1152 void RequestBarrier(::grpc::ServerContext* context, ::tensorflow::BarrierRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::BarrierResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1153 ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag);
1154 }
1155 };
1156 template <class BaseClass>
1157 class WithAsyncMethod_CancelBarrier : public BaseClass {
1158 private:
1159 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1160 public:
1161 WithAsyncMethod_CancelBarrier() {
1162 ::grpc::Service::MarkMethodAsync(13);
1163 }
1164 ~WithAsyncMethod_CancelBarrier() override {
1165 BaseClassMustBeDerivedFromService(this);
1166 }
1167 // disable synchronous version of this method
1168 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
1169 abort();
1170 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1171 }
1172 void RequestCancelBarrier(::grpc::ServerContext* context, ::tensorflow::CancelBarrierRequest* request, ::grpc::ServerAsyncResponseWriter< ::tensorflow::CancelBarrierResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
1173 ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag);
1174 }
1175 };
1176 typedef WithAsyncMethod_RegisterTask<WithAsyncMethod_Heartbeat<WithAsyncMethod_WaitForAllTasks<WithAsyncMethod_ShutdownTask<WithAsyncMethod_ResetTask<WithAsyncMethod_ReportErrorToTask<WithAsyncMethod_ReportErrorToService<WithAsyncMethod_InsertKeyValue<WithAsyncMethod_GetKeyValue<WithAsyncMethod_TryGetKeyValue<WithAsyncMethod_GetKeyValueDir<WithAsyncMethod_DeleteKeyValue<WithAsyncMethod_Barrier<WithAsyncMethod_CancelBarrier<Service > > > > > > > > > > > > > > AsyncService;
1177 template <class BaseClass>
1178 class ExperimentalWithCallbackMethod_RegisterTask : public BaseClass {
1179 private:
1180 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1181 public:
1182 ExperimentalWithCallbackMethod_RegisterTask() {
1183 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1184 ::grpc::Service::
1185 #else
1186 ::grpc::Service::experimental().
1187 #endif
1188 MarkMethodCallback(0,
1189 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::RegisterTaskRequest, ::tensorflow::RegisterTaskResponse>(
1190 [this](
1191 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1192 ::grpc::CallbackServerContext*
1193 #else
1194 ::grpc::experimental::CallbackServerContext*
1195 #endif
1196 context, const ::tensorflow::RegisterTaskRequest* request, ::tensorflow::RegisterTaskResponse* response) { return this->RegisterTask(context, request, response); }));}
1197 void SetMessageAllocatorFor_RegisterTask(
1198 ::grpc::experimental::MessageAllocator< ::tensorflow::RegisterTaskRequest, ::tensorflow::RegisterTaskResponse>* allocator) {
1199 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1200 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0);
1201 #else
1202 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(0);
1203 #endif
1204 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::RegisterTaskRequest, ::tensorflow::RegisterTaskResponse>*>(handler)
1205 ->SetMessageAllocator(allocator);
1206 }
1207 ~ExperimentalWithCallbackMethod_RegisterTask() override {
1208 BaseClassMustBeDerivedFromService(this);
1209 }
1210 // disable synchronous version of this method
1211 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
1212 abort();
1213 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1214 }
1215 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1216 virtual ::grpc::ServerUnaryReactor* RegisterTask(
1217 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/)
1218 #else
1219 virtual ::grpc::experimental::ServerUnaryReactor* RegisterTask(
1220 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/)
1221 #endif
1222 { return nullptr; }
1223 };
1224 template <class BaseClass>
1225 class ExperimentalWithCallbackMethod_Heartbeat : public BaseClass {
1226 private:
1227 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1228 public:
1229 ExperimentalWithCallbackMethod_Heartbeat() {
1230 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1231 ::grpc::Service::
1232 #else
1233 ::grpc::Service::experimental().
1234 #endif
1235 MarkMethodCallback(1,
1236 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::HeartbeatRequest, ::tensorflow::HeartbeatResponse>(
1237 [this](
1238 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1239 ::grpc::CallbackServerContext*
1240 #else
1241 ::grpc::experimental::CallbackServerContext*
1242 #endif
1243 context, const ::tensorflow::HeartbeatRequest* request, ::tensorflow::HeartbeatResponse* response) { return this->Heartbeat(context, request, response); }));}
1244 void SetMessageAllocatorFor_Heartbeat(
1245 ::grpc::experimental::MessageAllocator< ::tensorflow::HeartbeatRequest, ::tensorflow::HeartbeatResponse>* allocator) {
1246 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1247 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1);
1248 #else
1249 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(1);
1250 #endif
1251 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::HeartbeatRequest, ::tensorflow::HeartbeatResponse>*>(handler)
1252 ->SetMessageAllocator(allocator);
1253 }
1254 ~ExperimentalWithCallbackMethod_Heartbeat() override {
1255 BaseClassMustBeDerivedFromService(this);
1256 }
1257 // disable synchronous version of this method
1258 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
1259 abort();
1260 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1261 }
1262 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1263 virtual ::grpc::ServerUnaryReactor* Heartbeat(
1264 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/)
1265 #else
1266 virtual ::grpc::experimental::ServerUnaryReactor* Heartbeat(
1267 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/)
1268 #endif
1269 { return nullptr; }
1270 };
1271 template <class BaseClass>
1272 class ExperimentalWithCallbackMethod_WaitForAllTasks : public BaseClass {
1273 private:
1274 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1275 public:
1276 ExperimentalWithCallbackMethod_WaitForAllTasks() {
1277 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1278 ::grpc::Service::
1279 #else
1280 ::grpc::Service::experimental().
1281 #endif
1282 MarkMethodCallback(2,
1283 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::WaitForAllTasksRequest, ::tensorflow::WaitForAllTasksResponse>(
1284 [this](
1285 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1286 ::grpc::CallbackServerContext*
1287 #else
1288 ::grpc::experimental::CallbackServerContext*
1289 #endif
1290 context, const ::tensorflow::WaitForAllTasksRequest* request, ::tensorflow::WaitForAllTasksResponse* response) { return this->WaitForAllTasks(context, request, response); }));}
1291 void SetMessageAllocatorFor_WaitForAllTasks(
1292 ::grpc::experimental::MessageAllocator< ::tensorflow::WaitForAllTasksRequest, ::tensorflow::WaitForAllTasksResponse>* allocator) {
1293 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1294 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2);
1295 #else
1296 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(2);
1297 #endif
1298 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::WaitForAllTasksRequest, ::tensorflow::WaitForAllTasksResponse>*>(handler)
1299 ->SetMessageAllocator(allocator);
1300 }
1301 ~ExperimentalWithCallbackMethod_WaitForAllTasks() override {
1302 BaseClassMustBeDerivedFromService(this);
1303 }
1304 // disable synchronous version of this method
1305 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
1306 abort();
1307 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1308 }
1309 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1310 virtual ::grpc::ServerUnaryReactor* WaitForAllTasks(
1311 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/)
1312 #else
1313 virtual ::grpc::experimental::ServerUnaryReactor* WaitForAllTasks(
1314 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/)
1315 #endif
1316 { return nullptr; }
1317 };
1318 template <class BaseClass>
1319 class ExperimentalWithCallbackMethod_ShutdownTask : public BaseClass {
1320 private:
1321 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1322 public:
1323 ExperimentalWithCallbackMethod_ShutdownTask() {
1324 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1325 ::grpc::Service::
1326 #else
1327 ::grpc::Service::experimental().
1328 #endif
1329 MarkMethodCallback(3,
1330 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ShutdownTaskRequest, ::tensorflow::ShutdownTaskResponse>(
1331 [this](
1332 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1333 ::grpc::CallbackServerContext*
1334 #else
1335 ::grpc::experimental::CallbackServerContext*
1336 #endif
1337 context, const ::tensorflow::ShutdownTaskRequest* request, ::tensorflow::ShutdownTaskResponse* response) { return this->ShutdownTask(context, request, response); }));}
1338 void SetMessageAllocatorFor_ShutdownTask(
1339 ::grpc::experimental::MessageAllocator< ::tensorflow::ShutdownTaskRequest, ::tensorflow::ShutdownTaskResponse>* allocator) {
1340 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1341 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(3);
1342 #else
1343 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(3);
1344 #endif
1345 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ShutdownTaskRequest, ::tensorflow::ShutdownTaskResponse>*>(handler)
1346 ->SetMessageAllocator(allocator);
1347 }
1348 ~ExperimentalWithCallbackMethod_ShutdownTask() override {
1349 BaseClassMustBeDerivedFromService(this);
1350 }
1351 // disable synchronous version of this method
1352 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
1353 abort();
1354 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1355 }
1356 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1357 virtual ::grpc::ServerUnaryReactor* ShutdownTask(
1358 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/)
1359 #else
1360 virtual ::grpc::experimental::ServerUnaryReactor* ShutdownTask(
1361 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/)
1362 #endif
1363 { return nullptr; }
1364 };
1365 template <class BaseClass>
1366 class ExperimentalWithCallbackMethod_ResetTask : public BaseClass {
1367 private:
1368 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1369 public:
1370 ExperimentalWithCallbackMethod_ResetTask() {
1371 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1372 ::grpc::Service::
1373 #else
1374 ::grpc::Service::experimental().
1375 #endif
1376 MarkMethodCallback(4,
1377 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ResetTaskRequest, ::tensorflow::ResetTaskResponse>(
1378 [this](
1379 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1380 ::grpc::CallbackServerContext*
1381 #else
1382 ::grpc::experimental::CallbackServerContext*
1383 #endif
1384 context, const ::tensorflow::ResetTaskRequest* request, ::tensorflow::ResetTaskResponse* response) { return this->ResetTask(context, request, response); }));}
1385 void SetMessageAllocatorFor_ResetTask(
1386 ::grpc::experimental::MessageAllocator< ::tensorflow::ResetTaskRequest, ::tensorflow::ResetTaskResponse>* allocator) {
1387 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1388 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(4);
1389 #else
1390 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(4);
1391 #endif
1392 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ResetTaskRequest, ::tensorflow::ResetTaskResponse>*>(handler)
1393 ->SetMessageAllocator(allocator);
1394 }
1395 ~ExperimentalWithCallbackMethod_ResetTask() override {
1396 BaseClassMustBeDerivedFromService(this);
1397 }
1398 // disable synchronous version of this method
1399 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
1400 abort();
1401 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1402 }
1403 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1404 virtual ::grpc::ServerUnaryReactor* ResetTask(
1405 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/)
1406 #else
1407 virtual ::grpc::experimental::ServerUnaryReactor* ResetTask(
1408 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/)
1409 #endif
1410 { return nullptr; }
1411 };
1412 template <class BaseClass>
1413 class ExperimentalWithCallbackMethod_ReportErrorToTask : public BaseClass {
1414 private:
1415 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1416 public:
1417 ExperimentalWithCallbackMethod_ReportErrorToTask() {
1418 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1419 ::grpc::Service::
1420 #else
1421 ::grpc::Service::experimental().
1422 #endif
1423 MarkMethodCallback(5,
1424 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ReportErrorToTaskRequest, ::tensorflow::ReportErrorToTaskResponse>(
1425 [this](
1426 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1427 ::grpc::CallbackServerContext*
1428 #else
1429 ::grpc::experimental::CallbackServerContext*
1430 #endif
1431 context, const ::tensorflow::ReportErrorToTaskRequest* request, ::tensorflow::ReportErrorToTaskResponse* response) { return this->ReportErrorToTask(context, request, response); }));}
1432 void SetMessageAllocatorFor_ReportErrorToTask(
1433 ::grpc::experimental::MessageAllocator< ::tensorflow::ReportErrorToTaskRequest, ::tensorflow::ReportErrorToTaskResponse>* allocator) {
1434 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1435 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(5);
1436 #else
1437 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(5);
1438 #endif
1439 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ReportErrorToTaskRequest, ::tensorflow::ReportErrorToTaskResponse>*>(handler)
1440 ->SetMessageAllocator(allocator);
1441 }
1442 ~ExperimentalWithCallbackMethod_ReportErrorToTask() override {
1443 BaseClassMustBeDerivedFromService(this);
1444 }
1445 // disable synchronous version of this method
1446 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
1447 abort();
1448 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1449 }
1450 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1451 virtual ::grpc::ServerUnaryReactor* ReportErrorToTask(
1452 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/)
1453 #else
1454 virtual ::grpc::experimental::ServerUnaryReactor* ReportErrorToTask(
1455 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/)
1456 #endif
1457 { return nullptr; }
1458 };
1459 template <class BaseClass>
1460 class ExperimentalWithCallbackMethod_ReportErrorToService : public BaseClass {
1461 private:
1462 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1463 public:
1464 ExperimentalWithCallbackMethod_ReportErrorToService() {
1465 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1466 ::grpc::Service::
1467 #else
1468 ::grpc::Service::experimental().
1469 #endif
1470 MarkMethodCallback(6,
1471 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ReportErrorToServiceRequest, ::tensorflow::ReportErrorToServiceResponse>(
1472 [this](
1473 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1474 ::grpc::CallbackServerContext*
1475 #else
1476 ::grpc::experimental::CallbackServerContext*
1477 #endif
1478 context, const ::tensorflow::ReportErrorToServiceRequest* request, ::tensorflow::ReportErrorToServiceResponse* response) { return this->ReportErrorToService(context, request, response); }));}
1479 void SetMessageAllocatorFor_ReportErrorToService(
1480 ::grpc::experimental::MessageAllocator< ::tensorflow::ReportErrorToServiceRequest, ::tensorflow::ReportErrorToServiceResponse>* allocator) {
1481 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1482 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(6);
1483 #else
1484 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(6);
1485 #endif
1486 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::ReportErrorToServiceRequest, ::tensorflow::ReportErrorToServiceResponse>*>(handler)
1487 ->SetMessageAllocator(allocator);
1488 }
1489 ~ExperimentalWithCallbackMethod_ReportErrorToService() override {
1490 BaseClassMustBeDerivedFromService(this);
1491 }
1492 // disable synchronous version of this method
1493 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
1494 abort();
1495 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1496 }
1497 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1498 virtual ::grpc::ServerUnaryReactor* ReportErrorToService(
1499 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/)
1500 #else
1501 virtual ::grpc::experimental::ServerUnaryReactor* ReportErrorToService(
1502 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/)
1503 #endif
1504 { return nullptr; }
1505 };
1506 template <class BaseClass>
1507 class ExperimentalWithCallbackMethod_InsertKeyValue : public BaseClass {
1508 private:
1509 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1510 public:
1511 ExperimentalWithCallbackMethod_InsertKeyValue() {
1512 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1513 ::grpc::Service::
1514 #else
1515 ::grpc::Service::experimental().
1516 #endif
1517 MarkMethodCallback(7,
1518 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::InsertKeyValueRequest, ::tensorflow::InsertKeyValueResponse>(
1519 [this](
1520 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1521 ::grpc::CallbackServerContext*
1522 #else
1523 ::grpc::experimental::CallbackServerContext*
1524 #endif
1525 context, const ::tensorflow::InsertKeyValueRequest* request, ::tensorflow::InsertKeyValueResponse* response) { return this->InsertKeyValue(context, request, response); }));}
1526 void SetMessageAllocatorFor_InsertKeyValue(
1527 ::grpc::experimental::MessageAllocator< ::tensorflow::InsertKeyValueRequest, ::tensorflow::InsertKeyValueResponse>* allocator) {
1528 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1529 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(7);
1530 #else
1531 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(7);
1532 #endif
1533 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::InsertKeyValueRequest, ::tensorflow::InsertKeyValueResponse>*>(handler)
1534 ->SetMessageAllocator(allocator);
1535 }
1536 ~ExperimentalWithCallbackMethod_InsertKeyValue() override {
1537 BaseClassMustBeDerivedFromService(this);
1538 }
1539 // disable synchronous version of this method
1540 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
1541 abort();
1542 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1543 }
1544 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1545 virtual ::grpc::ServerUnaryReactor* InsertKeyValue(
1546 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/)
1547 #else
1548 virtual ::grpc::experimental::ServerUnaryReactor* InsertKeyValue(
1549 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/)
1550 #endif
1551 { return nullptr; }
1552 };
1553 template <class BaseClass>
1554 class ExperimentalWithCallbackMethod_GetKeyValue : public BaseClass {
1555 private:
1556 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1557 public:
1558 ExperimentalWithCallbackMethod_GetKeyValue() {
1559 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1560 ::grpc::Service::
1561 #else
1562 ::grpc::Service::experimental().
1563 #endif
1564 MarkMethodCallback(8,
1565 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::GetKeyValueRequest, ::tensorflow::GetKeyValueResponse>(
1566 [this](
1567 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1568 ::grpc::CallbackServerContext*
1569 #else
1570 ::grpc::experimental::CallbackServerContext*
1571 #endif
1572 context, const ::tensorflow::GetKeyValueRequest* request, ::tensorflow::GetKeyValueResponse* response) { return this->GetKeyValue(context, request, response); }));}
1573 void SetMessageAllocatorFor_GetKeyValue(
1574 ::grpc::experimental::MessageAllocator< ::tensorflow::GetKeyValueRequest, ::tensorflow::GetKeyValueResponse>* allocator) {
1575 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1576 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(8);
1577 #else
1578 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(8);
1579 #endif
1580 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::GetKeyValueRequest, ::tensorflow::GetKeyValueResponse>*>(handler)
1581 ->SetMessageAllocator(allocator);
1582 }
1583 ~ExperimentalWithCallbackMethod_GetKeyValue() override {
1584 BaseClassMustBeDerivedFromService(this);
1585 }
1586 // disable synchronous version of this method
1587 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
1588 abort();
1589 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1590 }
1591 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1592 virtual ::grpc::ServerUnaryReactor* GetKeyValue(
1593 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/)
1594 #else
1595 virtual ::grpc::experimental::ServerUnaryReactor* GetKeyValue(
1596 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/)
1597 #endif
1598 { return nullptr; }
1599 };
1600 template <class BaseClass>
1601 class ExperimentalWithCallbackMethod_TryGetKeyValue : public BaseClass {
1602 private:
1603 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1604 public:
1605 ExperimentalWithCallbackMethod_TryGetKeyValue() {
1606 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1607 ::grpc::Service::
1608 #else
1609 ::grpc::Service::experimental().
1610 #endif
1611 MarkMethodCallback(9,
1612 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::TryGetKeyValueRequest, ::tensorflow::TryGetKeyValueResponse>(
1613 [this](
1614 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1615 ::grpc::CallbackServerContext*
1616 #else
1617 ::grpc::experimental::CallbackServerContext*
1618 #endif
1619 context, const ::tensorflow::TryGetKeyValueRequest* request, ::tensorflow::TryGetKeyValueResponse* response) { return this->TryGetKeyValue(context, request, response); }));}
1620 void SetMessageAllocatorFor_TryGetKeyValue(
1621 ::grpc::experimental::MessageAllocator< ::tensorflow::TryGetKeyValueRequest, ::tensorflow::TryGetKeyValueResponse>* allocator) {
1622 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1623 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(9);
1624 #else
1625 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(9);
1626 #endif
1627 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::TryGetKeyValueRequest, ::tensorflow::TryGetKeyValueResponse>*>(handler)
1628 ->SetMessageAllocator(allocator);
1629 }
1630 ~ExperimentalWithCallbackMethod_TryGetKeyValue() override {
1631 BaseClassMustBeDerivedFromService(this);
1632 }
1633 // disable synchronous version of this method
1634 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
1635 abort();
1636 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1637 }
1638 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1639 virtual ::grpc::ServerUnaryReactor* TryGetKeyValue(
1640 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/)
1641 #else
1642 virtual ::grpc::experimental::ServerUnaryReactor* TryGetKeyValue(
1643 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/)
1644 #endif
1645 { return nullptr; }
1646 };
1647 template <class BaseClass>
1648 class ExperimentalWithCallbackMethod_GetKeyValueDir : public BaseClass {
1649 private:
1650 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1651 public:
1652 ExperimentalWithCallbackMethod_GetKeyValueDir() {
1653 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1654 ::grpc::Service::
1655 #else
1656 ::grpc::Service::experimental().
1657 #endif
1658 MarkMethodCallback(10,
1659 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::GetKeyValueDirRequest, ::tensorflow::GetKeyValueDirResponse>(
1660 [this](
1661 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1662 ::grpc::CallbackServerContext*
1663 #else
1664 ::grpc::experimental::CallbackServerContext*
1665 #endif
1666 context, const ::tensorflow::GetKeyValueDirRequest* request, ::tensorflow::GetKeyValueDirResponse* response) { return this->GetKeyValueDir(context, request, response); }));}
1667 void SetMessageAllocatorFor_GetKeyValueDir(
1668 ::grpc::experimental::MessageAllocator< ::tensorflow::GetKeyValueDirRequest, ::tensorflow::GetKeyValueDirResponse>* allocator) {
1669 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1670 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(10);
1671 #else
1672 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(10);
1673 #endif
1674 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::GetKeyValueDirRequest, ::tensorflow::GetKeyValueDirResponse>*>(handler)
1675 ->SetMessageAllocator(allocator);
1676 }
1677 ~ExperimentalWithCallbackMethod_GetKeyValueDir() override {
1678 BaseClassMustBeDerivedFromService(this);
1679 }
1680 // disable synchronous version of this method
1681 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
1682 abort();
1683 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1684 }
1685 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1686 virtual ::grpc::ServerUnaryReactor* GetKeyValueDir(
1687 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/)
1688 #else
1689 virtual ::grpc::experimental::ServerUnaryReactor* GetKeyValueDir(
1690 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/)
1691 #endif
1692 { return nullptr; }
1693 };
1694 template <class BaseClass>
1695 class ExperimentalWithCallbackMethod_DeleteKeyValue : public BaseClass {
1696 private:
1697 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1698 public:
1699 ExperimentalWithCallbackMethod_DeleteKeyValue() {
1700 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1701 ::grpc::Service::
1702 #else
1703 ::grpc::Service::experimental().
1704 #endif
1705 MarkMethodCallback(11,
1706 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::DeleteKeyValueRequest, ::tensorflow::DeleteKeyValueResponse>(
1707 [this](
1708 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1709 ::grpc::CallbackServerContext*
1710 #else
1711 ::grpc::experimental::CallbackServerContext*
1712 #endif
1713 context, const ::tensorflow::DeleteKeyValueRequest* request, ::tensorflow::DeleteKeyValueResponse* response) { return this->DeleteKeyValue(context, request, response); }));}
1714 void SetMessageAllocatorFor_DeleteKeyValue(
1715 ::grpc::experimental::MessageAllocator< ::tensorflow::DeleteKeyValueRequest, ::tensorflow::DeleteKeyValueResponse>* allocator) {
1716 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1717 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(11);
1718 #else
1719 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(11);
1720 #endif
1721 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::DeleteKeyValueRequest, ::tensorflow::DeleteKeyValueResponse>*>(handler)
1722 ->SetMessageAllocator(allocator);
1723 }
1724 ~ExperimentalWithCallbackMethod_DeleteKeyValue() override {
1725 BaseClassMustBeDerivedFromService(this);
1726 }
1727 // disable synchronous version of this method
1728 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
1729 abort();
1730 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1731 }
1732 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1733 virtual ::grpc::ServerUnaryReactor* DeleteKeyValue(
1734 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/)
1735 #else
1736 virtual ::grpc::experimental::ServerUnaryReactor* DeleteKeyValue(
1737 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/)
1738 #endif
1739 { return nullptr; }
1740 };
1741 template <class BaseClass>
1742 class ExperimentalWithCallbackMethod_Barrier : public BaseClass {
1743 private:
1744 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1745 public:
1746 ExperimentalWithCallbackMethod_Barrier() {
1747 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1748 ::grpc::Service::
1749 #else
1750 ::grpc::Service::experimental().
1751 #endif
1752 MarkMethodCallback(12,
1753 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::BarrierRequest, ::tensorflow::BarrierResponse>(
1754 [this](
1755 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1756 ::grpc::CallbackServerContext*
1757 #else
1758 ::grpc::experimental::CallbackServerContext*
1759 #endif
1760 context, const ::tensorflow::BarrierRequest* request, ::tensorflow::BarrierResponse* response) { return this->Barrier(context, request, response); }));}
1761 void SetMessageAllocatorFor_Barrier(
1762 ::grpc::experimental::MessageAllocator< ::tensorflow::BarrierRequest, ::tensorflow::BarrierResponse>* allocator) {
1763 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1764 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(12);
1765 #else
1766 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(12);
1767 #endif
1768 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::BarrierRequest, ::tensorflow::BarrierResponse>*>(handler)
1769 ->SetMessageAllocator(allocator);
1770 }
1771 ~ExperimentalWithCallbackMethod_Barrier() override {
1772 BaseClassMustBeDerivedFromService(this);
1773 }
1774 // disable synchronous version of this method
1775 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
1776 abort();
1777 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1778 }
1779 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1780 virtual ::grpc::ServerUnaryReactor* Barrier(
1781 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/)
1782 #else
1783 virtual ::grpc::experimental::ServerUnaryReactor* Barrier(
1784 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/)
1785 #endif
1786 { return nullptr; }
1787 };
1788 template <class BaseClass>
1789 class ExperimentalWithCallbackMethod_CancelBarrier : public BaseClass {
1790 private:
1791 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1792 public:
1793 ExperimentalWithCallbackMethod_CancelBarrier() {
1794 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1795 ::grpc::Service::
1796 #else
1797 ::grpc::Service::experimental().
1798 #endif
1799 MarkMethodCallback(13,
1800 new ::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::CancelBarrierRequest, ::tensorflow::CancelBarrierResponse>(
1801 [this](
1802 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1803 ::grpc::CallbackServerContext*
1804 #else
1805 ::grpc::experimental::CallbackServerContext*
1806 #endif
1807 context, const ::tensorflow::CancelBarrierRequest* request, ::tensorflow::CancelBarrierResponse* response) { return this->CancelBarrier(context, request, response); }));}
1808 void SetMessageAllocatorFor_CancelBarrier(
1809 ::grpc::experimental::MessageAllocator< ::tensorflow::CancelBarrierRequest, ::tensorflow::CancelBarrierResponse>* allocator) {
1810 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1811 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(13);
1812 #else
1813 ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(13);
1814 #endif
1815 static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::tensorflow::CancelBarrierRequest, ::tensorflow::CancelBarrierResponse>*>(handler)
1816 ->SetMessageAllocator(allocator);
1817 }
1818 ~ExperimentalWithCallbackMethod_CancelBarrier() override {
1819 BaseClassMustBeDerivedFromService(this);
1820 }
1821 // disable synchronous version of this method
1822 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
1823 abort();
1824 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1825 }
1826 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1827 virtual ::grpc::ServerUnaryReactor* CancelBarrier(
1828 ::grpc::CallbackServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/)
1829 #else
1830 virtual ::grpc::experimental::ServerUnaryReactor* CancelBarrier(
1831 ::grpc::experimental::CallbackServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/)
1832 #endif
1833 { return nullptr; }
1834 };
1835 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
1836 typedef ExperimentalWithCallbackMethod_RegisterTask<ExperimentalWithCallbackMethod_Heartbeat<ExperimentalWithCallbackMethod_WaitForAllTasks<ExperimentalWithCallbackMethod_ShutdownTask<ExperimentalWithCallbackMethod_ResetTask<ExperimentalWithCallbackMethod_ReportErrorToTask<ExperimentalWithCallbackMethod_ReportErrorToService<ExperimentalWithCallbackMethod_InsertKeyValue<ExperimentalWithCallbackMethod_GetKeyValue<ExperimentalWithCallbackMethod_TryGetKeyValue<ExperimentalWithCallbackMethod_GetKeyValueDir<ExperimentalWithCallbackMethod_DeleteKeyValue<ExperimentalWithCallbackMethod_Barrier<ExperimentalWithCallbackMethod_CancelBarrier<Service > > > > > > > > > > > > > > CallbackService;
1837 #endif
1838
1839 typedef ExperimentalWithCallbackMethod_RegisterTask<ExperimentalWithCallbackMethod_Heartbeat<ExperimentalWithCallbackMethod_WaitForAllTasks<ExperimentalWithCallbackMethod_ShutdownTask<ExperimentalWithCallbackMethod_ResetTask<ExperimentalWithCallbackMethod_ReportErrorToTask<ExperimentalWithCallbackMethod_ReportErrorToService<ExperimentalWithCallbackMethod_InsertKeyValue<ExperimentalWithCallbackMethod_GetKeyValue<ExperimentalWithCallbackMethod_TryGetKeyValue<ExperimentalWithCallbackMethod_GetKeyValueDir<ExperimentalWithCallbackMethod_DeleteKeyValue<ExperimentalWithCallbackMethod_Barrier<ExperimentalWithCallbackMethod_CancelBarrier<Service > > > > > > > > > > > > > > ExperimentalCallbackService;
1840 template <class BaseClass>
1841 class WithGenericMethod_RegisterTask : public BaseClass {
1842 private:
1843 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1844 public:
1845 WithGenericMethod_RegisterTask() {
1846 ::grpc::Service::MarkMethodGeneric(0);
1847 }
1848 ~WithGenericMethod_RegisterTask() override {
1849 BaseClassMustBeDerivedFromService(this);
1850 }
1851 // disable synchronous version of this method
1852 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
1853 abort();
1854 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1855 }
1856 };
1857 template <class BaseClass>
1858 class WithGenericMethod_Heartbeat : public BaseClass {
1859 private:
1860 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1861 public:
1862 WithGenericMethod_Heartbeat() {
1863 ::grpc::Service::MarkMethodGeneric(1);
1864 }
1865 ~WithGenericMethod_Heartbeat() override {
1866 BaseClassMustBeDerivedFromService(this);
1867 }
1868 // disable synchronous version of this method
1869 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
1870 abort();
1871 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1872 }
1873 };
1874 template <class BaseClass>
1875 class WithGenericMethod_WaitForAllTasks : public BaseClass {
1876 private:
1877 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1878 public:
1879 WithGenericMethod_WaitForAllTasks() {
1880 ::grpc::Service::MarkMethodGeneric(2);
1881 }
1882 ~WithGenericMethod_WaitForAllTasks() override {
1883 BaseClassMustBeDerivedFromService(this);
1884 }
1885 // disable synchronous version of this method
1886 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
1887 abort();
1888 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1889 }
1890 };
1891 template <class BaseClass>
1892 class WithGenericMethod_ShutdownTask : public BaseClass {
1893 private:
1894 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1895 public:
1896 WithGenericMethod_ShutdownTask() {
1897 ::grpc::Service::MarkMethodGeneric(3);
1898 }
1899 ~WithGenericMethod_ShutdownTask() override {
1900 BaseClassMustBeDerivedFromService(this);
1901 }
1902 // disable synchronous version of this method
1903 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
1904 abort();
1905 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1906 }
1907 };
1908 template <class BaseClass>
1909 class WithGenericMethod_ResetTask : public BaseClass {
1910 private:
1911 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1912 public:
1913 WithGenericMethod_ResetTask() {
1914 ::grpc::Service::MarkMethodGeneric(4);
1915 }
1916 ~WithGenericMethod_ResetTask() override {
1917 BaseClassMustBeDerivedFromService(this);
1918 }
1919 // disable synchronous version of this method
1920 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
1921 abort();
1922 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1923 }
1924 };
1925 template <class BaseClass>
1926 class WithGenericMethod_ReportErrorToTask : public BaseClass {
1927 private:
1928 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1929 public:
1930 WithGenericMethod_ReportErrorToTask() {
1931 ::grpc::Service::MarkMethodGeneric(5);
1932 }
1933 ~WithGenericMethod_ReportErrorToTask() override {
1934 BaseClassMustBeDerivedFromService(this);
1935 }
1936 // disable synchronous version of this method
1937 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
1938 abort();
1939 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1940 }
1941 };
1942 template <class BaseClass>
1943 class WithGenericMethod_ReportErrorToService : public BaseClass {
1944 private:
1945 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1946 public:
1947 WithGenericMethod_ReportErrorToService() {
1948 ::grpc::Service::MarkMethodGeneric(6);
1949 }
1950 ~WithGenericMethod_ReportErrorToService() override {
1951 BaseClassMustBeDerivedFromService(this);
1952 }
1953 // disable synchronous version of this method
1954 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
1955 abort();
1956 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1957 }
1958 };
1959 template <class BaseClass>
1960 class WithGenericMethod_InsertKeyValue : public BaseClass {
1961 private:
1962 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1963 public:
1964 WithGenericMethod_InsertKeyValue() {
1965 ::grpc::Service::MarkMethodGeneric(7);
1966 }
1967 ~WithGenericMethod_InsertKeyValue() override {
1968 BaseClassMustBeDerivedFromService(this);
1969 }
1970 // disable synchronous version of this method
1971 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
1972 abort();
1973 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1974 }
1975 };
1976 template <class BaseClass>
1977 class WithGenericMethod_GetKeyValue : public BaseClass {
1978 private:
1979 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1980 public:
1981 WithGenericMethod_GetKeyValue() {
1982 ::grpc::Service::MarkMethodGeneric(8);
1983 }
1984 ~WithGenericMethod_GetKeyValue() override {
1985 BaseClassMustBeDerivedFromService(this);
1986 }
1987 // disable synchronous version of this method
1988 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
1989 abort();
1990 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
1991 }
1992 };
1993 template <class BaseClass>
1994 class WithGenericMethod_TryGetKeyValue : public BaseClass {
1995 private:
1996 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
1997 public:
1998 WithGenericMethod_TryGetKeyValue() {
1999 ::grpc::Service::MarkMethodGeneric(9);
2000 }
2001 ~WithGenericMethod_TryGetKeyValue() override {
2002 BaseClassMustBeDerivedFromService(this);
2003 }
2004 // disable synchronous version of this method
2005 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
2006 abort();
2007 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2008 }
2009 };
2010 template <class BaseClass>
2011 class WithGenericMethod_GetKeyValueDir : public BaseClass {
2012 private:
2013 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2014 public:
2015 WithGenericMethod_GetKeyValueDir() {
2016 ::grpc::Service::MarkMethodGeneric(10);
2017 }
2018 ~WithGenericMethod_GetKeyValueDir() override {
2019 BaseClassMustBeDerivedFromService(this);
2020 }
2021 // disable synchronous version of this method
2022 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
2023 abort();
2024 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2025 }
2026 };
2027 template <class BaseClass>
2028 class WithGenericMethod_DeleteKeyValue : public BaseClass {
2029 private:
2030 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2031 public:
2032 WithGenericMethod_DeleteKeyValue() {
2033 ::grpc::Service::MarkMethodGeneric(11);
2034 }
2035 ~WithGenericMethod_DeleteKeyValue() override {
2036 BaseClassMustBeDerivedFromService(this);
2037 }
2038 // disable synchronous version of this method
2039 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
2040 abort();
2041 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2042 }
2043 };
2044 template <class BaseClass>
2045 class WithGenericMethod_Barrier : public BaseClass {
2046 private:
2047 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2048 public:
2049 WithGenericMethod_Barrier() {
2050 ::grpc::Service::MarkMethodGeneric(12);
2051 }
2052 ~WithGenericMethod_Barrier() override {
2053 BaseClassMustBeDerivedFromService(this);
2054 }
2055 // disable synchronous version of this method
2056 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
2057 abort();
2058 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2059 }
2060 };
2061 template <class BaseClass>
2062 class WithGenericMethod_CancelBarrier : public BaseClass {
2063 private:
2064 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2065 public:
2066 WithGenericMethod_CancelBarrier() {
2067 ::grpc::Service::MarkMethodGeneric(13);
2068 }
2069 ~WithGenericMethod_CancelBarrier() override {
2070 BaseClassMustBeDerivedFromService(this);
2071 }
2072 // disable synchronous version of this method
2073 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
2074 abort();
2075 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2076 }
2077 };
2078 template <class BaseClass>
2079 class WithRawMethod_RegisterTask : public BaseClass {
2080 private:
2081 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2082 public:
2083 WithRawMethod_RegisterTask() {
2084 ::grpc::Service::MarkMethodRaw(0);
2085 }
2086 ~WithRawMethod_RegisterTask() override {
2087 BaseClassMustBeDerivedFromService(this);
2088 }
2089 // disable synchronous version of this method
2090 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
2091 abort();
2092 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2093 }
2094 void RequestRegisterTask(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2095 ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
2096 }
2097 };
2098 template <class BaseClass>
2099 class WithRawMethod_Heartbeat : public BaseClass {
2100 private:
2101 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2102 public:
2103 WithRawMethod_Heartbeat() {
2104 ::grpc::Service::MarkMethodRaw(1);
2105 }
2106 ~WithRawMethod_Heartbeat() override {
2107 BaseClassMustBeDerivedFromService(this);
2108 }
2109 // disable synchronous version of this method
2110 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
2111 abort();
2112 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2113 }
2114 void RequestHeartbeat(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2115 ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
2116 }
2117 };
2118 template <class BaseClass>
2119 class WithRawMethod_WaitForAllTasks : public BaseClass {
2120 private:
2121 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2122 public:
2123 WithRawMethod_WaitForAllTasks() {
2124 ::grpc::Service::MarkMethodRaw(2);
2125 }
2126 ~WithRawMethod_WaitForAllTasks() override {
2127 BaseClassMustBeDerivedFromService(this);
2128 }
2129 // disable synchronous version of this method
2130 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
2131 abort();
2132 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2133 }
2134 void RequestWaitForAllTasks(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2135 ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
2136 }
2137 };
2138 template <class BaseClass>
2139 class WithRawMethod_ShutdownTask : public BaseClass {
2140 private:
2141 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2142 public:
2143 WithRawMethod_ShutdownTask() {
2144 ::grpc::Service::MarkMethodRaw(3);
2145 }
2146 ~WithRawMethod_ShutdownTask() override {
2147 BaseClassMustBeDerivedFromService(this);
2148 }
2149 // disable synchronous version of this method
2150 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
2151 abort();
2152 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2153 }
2154 void RequestShutdownTask(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2155 ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag);
2156 }
2157 };
2158 template <class BaseClass>
2159 class WithRawMethod_ResetTask : public BaseClass {
2160 private:
2161 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2162 public:
2163 WithRawMethod_ResetTask() {
2164 ::grpc::Service::MarkMethodRaw(4);
2165 }
2166 ~WithRawMethod_ResetTask() override {
2167 BaseClassMustBeDerivedFromService(this);
2168 }
2169 // disable synchronous version of this method
2170 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
2171 abort();
2172 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2173 }
2174 void RequestResetTask(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2175 ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
2176 }
2177 };
2178 template <class BaseClass>
2179 class WithRawMethod_ReportErrorToTask : public BaseClass {
2180 private:
2181 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2182 public:
2183 WithRawMethod_ReportErrorToTask() {
2184 ::grpc::Service::MarkMethodRaw(5);
2185 }
2186 ~WithRawMethod_ReportErrorToTask() override {
2187 BaseClassMustBeDerivedFromService(this);
2188 }
2189 // disable synchronous version of this method
2190 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
2191 abort();
2192 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2193 }
2194 void RequestReportErrorToTask(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2195 ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
2196 }
2197 };
2198 template <class BaseClass>
2199 class WithRawMethod_ReportErrorToService : public BaseClass {
2200 private:
2201 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2202 public:
2203 WithRawMethod_ReportErrorToService() {
2204 ::grpc::Service::MarkMethodRaw(6);
2205 }
2206 ~WithRawMethod_ReportErrorToService() override {
2207 BaseClassMustBeDerivedFromService(this);
2208 }
2209 // disable synchronous version of this method
2210 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
2211 abort();
2212 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2213 }
2214 void RequestReportErrorToService(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2215 ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
2216 }
2217 };
2218 template <class BaseClass>
2219 class WithRawMethod_InsertKeyValue : public BaseClass {
2220 private:
2221 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2222 public:
2223 WithRawMethod_InsertKeyValue() {
2224 ::grpc::Service::MarkMethodRaw(7);
2225 }
2226 ~WithRawMethod_InsertKeyValue() override {
2227 BaseClassMustBeDerivedFromService(this);
2228 }
2229 // disable synchronous version of this method
2230 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
2231 abort();
2232 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2233 }
2234 void RequestInsertKeyValue(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2235 ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag);
2236 }
2237 };
2238 template <class BaseClass>
2239 class WithRawMethod_GetKeyValue : public BaseClass {
2240 private:
2241 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2242 public:
2243 WithRawMethod_GetKeyValue() {
2244 ::grpc::Service::MarkMethodRaw(8);
2245 }
2246 ~WithRawMethod_GetKeyValue() override {
2247 BaseClassMustBeDerivedFromService(this);
2248 }
2249 // disable synchronous version of this method
2250 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
2251 abort();
2252 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2253 }
2254 void RequestGetKeyValue(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2255 ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag);
2256 }
2257 };
2258 template <class BaseClass>
2259 class WithRawMethod_TryGetKeyValue : public BaseClass {
2260 private:
2261 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2262 public:
2263 WithRawMethod_TryGetKeyValue() {
2264 ::grpc::Service::MarkMethodRaw(9);
2265 }
2266 ~WithRawMethod_TryGetKeyValue() override {
2267 BaseClassMustBeDerivedFromService(this);
2268 }
2269 // disable synchronous version of this method
2270 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
2271 abort();
2272 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2273 }
2274 void RequestTryGetKeyValue(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2275 ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag);
2276 }
2277 };
2278 template <class BaseClass>
2279 class WithRawMethod_GetKeyValueDir : public BaseClass {
2280 private:
2281 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2282 public:
2283 WithRawMethod_GetKeyValueDir() {
2284 ::grpc::Service::MarkMethodRaw(10);
2285 }
2286 ~WithRawMethod_GetKeyValueDir() override {
2287 BaseClassMustBeDerivedFromService(this);
2288 }
2289 // disable synchronous version of this method
2290 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
2291 abort();
2292 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2293 }
2294 void RequestGetKeyValueDir(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2295 ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag);
2296 }
2297 };
2298 template <class BaseClass>
2299 class WithRawMethod_DeleteKeyValue : public BaseClass {
2300 private:
2301 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2302 public:
2303 WithRawMethod_DeleteKeyValue() {
2304 ::grpc::Service::MarkMethodRaw(11);
2305 }
2306 ~WithRawMethod_DeleteKeyValue() override {
2307 BaseClassMustBeDerivedFromService(this);
2308 }
2309 // disable synchronous version of this method
2310 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
2311 abort();
2312 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2313 }
2314 void RequestDeleteKeyValue(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2315 ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag);
2316 }
2317 };
2318 template <class BaseClass>
2319 class WithRawMethod_Barrier : public BaseClass {
2320 private:
2321 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2322 public:
2323 WithRawMethod_Barrier() {
2324 ::grpc::Service::MarkMethodRaw(12);
2325 }
2326 ~WithRawMethod_Barrier() override {
2327 BaseClassMustBeDerivedFromService(this);
2328 }
2329 // disable synchronous version of this method
2330 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
2331 abort();
2332 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2333 }
2334 void RequestBarrier(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2335 ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag);
2336 }
2337 };
2338 template <class BaseClass>
2339 class WithRawMethod_CancelBarrier : public BaseClass {
2340 private:
2341 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2342 public:
2343 WithRawMethod_CancelBarrier() {
2344 ::grpc::Service::MarkMethodRaw(13);
2345 }
2346 ~WithRawMethod_CancelBarrier() override {
2347 BaseClassMustBeDerivedFromService(this);
2348 }
2349 // disable synchronous version of this method
2350 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
2351 abort();
2352 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2353 }
2354 void RequestCancelBarrier(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
2355 ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag);
2356 }
2357 };
2358 template <class BaseClass>
2359 class ExperimentalWithRawCallbackMethod_RegisterTask : public BaseClass {
2360 private:
2361 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2362 public:
2363 ExperimentalWithRawCallbackMethod_RegisterTask() {
2364 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2365 ::grpc::Service::
2366 #else
2367 ::grpc::Service::experimental().
2368 #endif
2369 MarkMethodRawCallback(0,
2370 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2371 [this](
2372 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2373 ::grpc::CallbackServerContext*
2374 #else
2375 ::grpc::experimental::CallbackServerContext*
2376 #endif
2377 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RegisterTask(context, request, response); }));
2378 }
2379 ~ExperimentalWithRawCallbackMethod_RegisterTask() override {
2380 BaseClassMustBeDerivedFromService(this);
2381 }
2382 // disable synchronous version of this method
2383 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
2384 abort();
2385 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2386 }
2387 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2388 virtual ::grpc::ServerUnaryReactor* RegisterTask(
2389 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2390 #else
2391 virtual ::grpc::experimental::ServerUnaryReactor* RegisterTask(
2392 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2393 #endif
2394 { return nullptr; }
2395 };
2396 template <class BaseClass>
2397 class ExperimentalWithRawCallbackMethod_Heartbeat : public BaseClass {
2398 private:
2399 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2400 public:
2401 ExperimentalWithRawCallbackMethod_Heartbeat() {
2402 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2403 ::grpc::Service::
2404 #else
2405 ::grpc::Service::experimental().
2406 #endif
2407 MarkMethodRawCallback(1,
2408 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2409 [this](
2410 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2411 ::grpc::CallbackServerContext*
2412 #else
2413 ::grpc::experimental::CallbackServerContext*
2414 #endif
2415 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Heartbeat(context, request, response); }));
2416 }
2417 ~ExperimentalWithRawCallbackMethod_Heartbeat() override {
2418 BaseClassMustBeDerivedFromService(this);
2419 }
2420 // disable synchronous version of this method
2421 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
2422 abort();
2423 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2424 }
2425 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2426 virtual ::grpc::ServerUnaryReactor* Heartbeat(
2427 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2428 #else
2429 virtual ::grpc::experimental::ServerUnaryReactor* Heartbeat(
2430 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2431 #endif
2432 { return nullptr; }
2433 };
2434 template <class BaseClass>
2435 class ExperimentalWithRawCallbackMethod_WaitForAllTasks : public BaseClass {
2436 private:
2437 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2438 public:
2439 ExperimentalWithRawCallbackMethod_WaitForAllTasks() {
2440 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2441 ::grpc::Service::
2442 #else
2443 ::grpc::Service::experimental().
2444 #endif
2445 MarkMethodRawCallback(2,
2446 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2447 [this](
2448 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2449 ::grpc::CallbackServerContext*
2450 #else
2451 ::grpc::experimental::CallbackServerContext*
2452 #endif
2453 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->WaitForAllTasks(context, request, response); }));
2454 }
2455 ~ExperimentalWithRawCallbackMethod_WaitForAllTasks() override {
2456 BaseClassMustBeDerivedFromService(this);
2457 }
2458 // disable synchronous version of this method
2459 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
2460 abort();
2461 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2462 }
2463 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2464 virtual ::grpc::ServerUnaryReactor* WaitForAllTasks(
2465 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2466 #else
2467 virtual ::grpc::experimental::ServerUnaryReactor* WaitForAllTasks(
2468 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2469 #endif
2470 { return nullptr; }
2471 };
2472 template <class BaseClass>
2473 class ExperimentalWithRawCallbackMethod_ShutdownTask : public BaseClass {
2474 private:
2475 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2476 public:
2477 ExperimentalWithRawCallbackMethod_ShutdownTask() {
2478 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2479 ::grpc::Service::
2480 #else
2481 ::grpc::Service::experimental().
2482 #endif
2483 MarkMethodRawCallback(3,
2484 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2485 [this](
2486 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2487 ::grpc::CallbackServerContext*
2488 #else
2489 ::grpc::experimental::CallbackServerContext*
2490 #endif
2491 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ShutdownTask(context, request, response); }));
2492 }
2493 ~ExperimentalWithRawCallbackMethod_ShutdownTask() override {
2494 BaseClassMustBeDerivedFromService(this);
2495 }
2496 // disable synchronous version of this method
2497 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
2498 abort();
2499 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2500 }
2501 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2502 virtual ::grpc::ServerUnaryReactor* ShutdownTask(
2503 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2504 #else
2505 virtual ::grpc::experimental::ServerUnaryReactor* ShutdownTask(
2506 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2507 #endif
2508 { return nullptr; }
2509 };
2510 template <class BaseClass>
2511 class ExperimentalWithRawCallbackMethod_ResetTask : public BaseClass {
2512 private:
2513 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2514 public:
2515 ExperimentalWithRawCallbackMethod_ResetTask() {
2516 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2517 ::grpc::Service::
2518 #else
2519 ::grpc::Service::experimental().
2520 #endif
2521 MarkMethodRawCallback(4,
2522 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2523 [this](
2524 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2525 ::grpc::CallbackServerContext*
2526 #else
2527 ::grpc::experimental::CallbackServerContext*
2528 #endif
2529 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ResetTask(context, request, response); }));
2530 }
2531 ~ExperimentalWithRawCallbackMethod_ResetTask() override {
2532 BaseClassMustBeDerivedFromService(this);
2533 }
2534 // disable synchronous version of this method
2535 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
2536 abort();
2537 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2538 }
2539 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2540 virtual ::grpc::ServerUnaryReactor* ResetTask(
2541 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2542 #else
2543 virtual ::grpc::experimental::ServerUnaryReactor* ResetTask(
2544 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2545 #endif
2546 { return nullptr; }
2547 };
2548 template <class BaseClass>
2549 class ExperimentalWithRawCallbackMethod_ReportErrorToTask : public BaseClass {
2550 private:
2551 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2552 public:
2553 ExperimentalWithRawCallbackMethod_ReportErrorToTask() {
2554 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2555 ::grpc::Service::
2556 #else
2557 ::grpc::Service::experimental().
2558 #endif
2559 MarkMethodRawCallback(5,
2560 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2561 [this](
2562 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2563 ::grpc::CallbackServerContext*
2564 #else
2565 ::grpc::experimental::CallbackServerContext*
2566 #endif
2567 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ReportErrorToTask(context, request, response); }));
2568 }
2569 ~ExperimentalWithRawCallbackMethod_ReportErrorToTask() override {
2570 BaseClassMustBeDerivedFromService(this);
2571 }
2572 // disable synchronous version of this method
2573 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
2574 abort();
2575 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2576 }
2577 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2578 virtual ::grpc::ServerUnaryReactor* ReportErrorToTask(
2579 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2580 #else
2581 virtual ::grpc::experimental::ServerUnaryReactor* ReportErrorToTask(
2582 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2583 #endif
2584 { return nullptr; }
2585 };
2586 template <class BaseClass>
2587 class ExperimentalWithRawCallbackMethod_ReportErrorToService : public BaseClass {
2588 private:
2589 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2590 public:
2591 ExperimentalWithRawCallbackMethod_ReportErrorToService() {
2592 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2593 ::grpc::Service::
2594 #else
2595 ::grpc::Service::experimental().
2596 #endif
2597 MarkMethodRawCallback(6,
2598 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2599 [this](
2600 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2601 ::grpc::CallbackServerContext*
2602 #else
2603 ::grpc::experimental::CallbackServerContext*
2604 #endif
2605 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ReportErrorToService(context, request, response); }));
2606 }
2607 ~ExperimentalWithRawCallbackMethod_ReportErrorToService() override {
2608 BaseClassMustBeDerivedFromService(this);
2609 }
2610 // disable synchronous version of this method
2611 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
2612 abort();
2613 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2614 }
2615 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2616 virtual ::grpc::ServerUnaryReactor* ReportErrorToService(
2617 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2618 #else
2619 virtual ::grpc::experimental::ServerUnaryReactor* ReportErrorToService(
2620 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2621 #endif
2622 { return nullptr; }
2623 };
2624 template <class BaseClass>
2625 class ExperimentalWithRawCallbackMethod_InsertKeyValue : public BaseClass {
2626 private:
2627 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2628 public:
2629 ExperimentalWithRawCallbackMethod_InsertKeyValue() {
2630 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2631 ::grpc::Service::
2632 #else
2633 ::grpc::Service::experimental().
2634 #endif
2635 MarkMethodRawCallback(7,
2636 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2637 [this](
2638 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2639 ::grpc::CallbackServerContext*
2640 #else
2641 ::grpc::experimental::CallbackServerContext*
2642 #endif
2643 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->InsertKeyValue(context, request, response); }));
2644 }
2645 ~ExperimentalWithRawCallbackMethod_InsertKeyValue() override {
2646 BaseClassMustBeDerivedFromService(this);
2647 }
2648 // disable synchronous version of this method
2649 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
2650 abort();
2651 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2652 }
2653 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2654 virtual ::grpc::ServerUnaryReactor* InsertKeyValue(
2655 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2656 #else
2657 virtual ::grpc::experimental::ServerUnaryReactor* InsertKeyValue(
2658 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2659 #endif
2660 { return nullptr; }
2661 };
2662 template <class BaseClass>
2663 class ExperimentalWithRawCallbackMethod_GetKeyValue : public BaseClass {
2664 private:
2665 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2666 public:
2667 ExperimentalWithRawCallbackMethod_GetKeyValue() {
2668 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2669 ::grpc::Service::
2670 #else
2671 ::grpc::Service::experimental().
2672 #endif
2673 MarkMethodRawCallback(8,
2674 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2675 [this](
2676 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2677 ::grpc::CallbackServerContext*
2678 #else
2679 ::grpc::experimental::CallbackServerContext*
2680 #endif
2681 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->GetKeyValue(context, request, response); }));
2682 }
2683 ~ExperimentalWithRawCallbackMethod_GetKeyValue() override {
2684 BaseClassMustBeDerivedFromService(this);
2685 }
2686 // disable synchronous version of this method
2687 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
2688 abort();
2689 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2690 }
2691 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2692 virtual ::grpc::ServerUnaryReactor* GetKeyValue(
2693 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2694 #else
2695 virtual ::grpc::experimental::ServerUnaryReactor* GetKeyValue(
2696 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2697 #endif
2698 { return nullptr; }
2699 };
2700 template <class BaseClass>
2701 class ExperimentalWithRawCallbackMethod_TryGetKeyValue : public BaseClass {
2702 private:
2703 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2704 public:
2705 ExperimentalWithRawCallbackMethod_TryGetKeyValue() {
2706 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2707 ::grpc::Service::
2708 #else
2709 ::grpc::Service::experimental().
2710 #endif
2711 MarkMethodRawCallback(9,
2712 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2713 [this](
2714 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2715 ::grpc::CallbackServerContext*
2716 #else
2717 ::grpc::experimental::CallbackServerContext*
2718 #endif
2719 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->TryGetKeyValue(context, request, response); }));
2720 }
2721 ~ExperimentalWithRawCallbackMethod_TryGetKeyValue() override {
2722 BaseClassMustBeDerivedFromService(this);
2723 }
2724 // disable synchronous version of this method
2725 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
2726 abort();
2727 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2728 }
2729 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2730 virtual ::grpc::ServerUnaryReactor* TryGetKeyValue(
2731 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2732 #else
2733 virtual ::grpc::experimental::ServerUnaryReactor* TryGetKeyValue(
2734 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2735 #endif
2736 { return nullptr; }
2737 };
2738 template <class BaseClass>
2739 class ExperimentalWithRawCallbackMethod_GetKeyValueDir : public BaseClass {
2740 private:
2741 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2742 public:
2743 ExperimentalWithRawCallbackMethod_GetKeyValueDir() {
2744 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2745 ::grpc::Service::
2746 #else
2747 ::grpc::Service::experimental().
2748 #endif
2749 MarkMethodRawCallback(10,
2750 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2751 [this](
2752 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2753 ::grpc::CallbackServerContext*
2754 #else
2755 ::grpc::experimental::CallbackServerContext*
2756 #endif
2757 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->GetKeyValueDir(context, request, response); }));
2758 }
2759 ~ExperimentalWithRawCallbackMethod_GetKeyValueDir() override {
2760 BaseClassMustBeDerivedFromService(this);
2761 }
2762 // disable synchronous version of this method
2763 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
2764 abort();
2765 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2766 }
2767 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2768 virtual ::grpc::ServerUnaryReactor* GetKeyValueDir(
2769 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2770 #else
2771 virtual ::grpc::experimental::ServerUnaryReactor* GetKeyValueDir(
2772 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2773 #endif
2774 { return nullptr; }
2775 };
2776 template <class BaseClass>
2777 class ExperimentalWithRawCallbackMethod_DeleteKeyValue : public BaseClass {
2778 private:
2779 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2780 public:
2781 ExperimentalWithRawCallbackMethod_DeleteKeyValue() {
2782 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2783 ::grpc::Service::
2784 #else
2785 ::grpc::Service::experimental().
2786 #endif
2787 MarkMethodRawCallback(11,
2788 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2789 [this](
2790 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2791 ::grpc::CallbackServerContext*
2792 #else
2793 ::grpc::experimental::CallbackServerContext*
2794 #endif
2795 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->DeleteKeyValue(context, request, response); }));
2796 }
2797 ~ExperimentalWithRawCallbackMethod_DeleteKeyValue() override {
2798 BaseClassMustBeDerivedFromService(this);
2799 }
2800 // disable synchronous version of this method
2801 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
2802 abort();
2803 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2804 }
2805 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2806 virtual ::grpc::ServerUnaryReactor* DeleteKeyValue(
2807 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2808 #else
2809 virtual ::grpc::experimental::ServerUnaryReactor* DeleteKeyValue(
2810 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2811 #endif
2812 { return nullptr; }
2813 };
2814 template <class BaseClass>
2815 class ExperimentalWithRawCallbackMethod_Barrier : public BaseClass {
2816 private:
2817 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2818 public:
2819 ExperimentalWithRawCallbackMethod_Barrier() {
2820 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2821 ::grpc::Service::
2822 #else
2823 ::grpc::Service::experimental().
2824 #endif
2825 MarkMethodRawCallback(12,
2826 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2827 [this](
2828 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2829 ::grpc::CallbackServerContext*
2830 #else
2831 ::grpc::experimental::CallbackServerContext*
2832 #endif
2833 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Barrier(context, request, response); }));
2834 }
2835 ~ExperimentalWithRawCallbackMethod_Barrier() override {
2836 BaseClassMustBeDerivedFromService(this);
2837 }
2838 // disable synchronous version of this method
2839 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
2840 abort();
2841 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2842 }
2843 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2844 virtual ::grpc::ServerUnaryReactor* Barrier(
2845 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2846 #else
2847 virtual ::grpc::experimental::ServerUnaryReactor* Barrier(
2848 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2849 #endif
2850 { return nullptr; }
2851 };
2852 template <class BaseClass>
2853 class ExperimentalWithRawCallbackMethod_CancelBarrier : public BaseClass {
2854 private:
2855 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2856 public:
2857 ExperimentalWithRawCallbackMethod_CancelBarrier() {
2858 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2859 ::grpc::Service::
2860 #else
2861 ::grpc::Service::experimental().
2862 #endif
2863 MarkMethodRawCallback(13,
2864 new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
2865 [this](
2866 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2867 ::grpc::CallbackServerContext*
2868 #else
2869 ::grpc::experimental::CallbackServerContext*
2870 #endif
2871 context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->CancelBarrier(context, request, response); }));
2872 }
2873 ~ExperimentalWithRawCallbackMethod_CancelBarrier() override {
2874 BaseClassMustBeDerivedFromService(this);
2875 }
2876 // disable synchronous version of this method
2877 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
2878 abort();
2879 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2880 }
2881 #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
2882 virtual ::grpc::ServerUnaryReactor* CancelBarrier(
2883 ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2884 #else
2885 virtual ::grpc::experimental::ServerUnaryReactor* CancelBarrier(
2886 ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
2887 #endif
2888 { return nullptr; }
2889 };
2890 template <class BaseClass>
2891 class WithStreamedUnaryMethod_RegisterTask : public BaseClass {
2892 private:
2893 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2894 public:
2895 WithStreamedUnaryMethod_RegisterTask() {
2896 ::grpc::Service::MarkMethodStreamed(0,
2897 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::RegisterTaskRequest, ::tensorflow::RegisterTaskResponse>(std::bind(&WithStreamedUnaryMethod_RegisterTask<BaseClass>::StreamedRegisterTask, this, std::placeholders::_1, std::placeholders::_2)));
2898 }
2899 ~WithStreamedUnaryMethod_RegisterTask() override {
2900 BaseClassMustBeDerivedFromService(this);
2901 }
2902 // disable regular version of this method
2903 ::grpc::Status RegisterTask(::grpc::ServerContext* /*context*/, const ::tensorflow::RegisterTaskRequest* /*request*/, ::tensorflow::RegisterTaskResponse* /*response*/) override {
2904 abort();
2905 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2906 }
2907 // replace default version of method with streamed unary
2908 virtual ::grpc::Status StreamedRegisterTask(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::RegisterTaskRequest,::tensorflow::RegisterTaskResponse>* server_unary_streamer) = 0;
2909 };
2910 template <class BaseClass>
2911 class WithStreamedUnaryMethod_Heartbeat : public BaseClass {
2912 private:
2913 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2914 public:
2915 WithStreamedUnaryMethod_Heartbeat() {
2916 ::grpc::Service::MarkMethodStreamed(1,
2917 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::HeartbeatRequest, ::tensorflow::HeartbeatResponse>(std::bind(&WithStreamedUnaryMethod_Heartbeat<BaseClass>::StreamedHeartbeat, this, std::placeholders::_1, std::placeholders::_2)));
2918 }
2919 ~WithStreamedUnaryMethod_Heartbeat() override {
2920 BaseClassMustBeDerivedFromService(this);
2921 }
2922 // disable regular version of this method
2923 ::grpc::Status Heartbeat(::grpc::ServerContext* /*context*/, const ::tensorflow::HeartbeatRequest* /*request*/, ::tensorflow::HeartbeatResponse* /*response*/) override {
2924 abort();
2925 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2926 }
2927 // replace default version of method with streamed unary
2928 virtual ::grpc::Status StreamedHeartbeat(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::HeartbeatRequest,::tensorflow::HeartbeatResponse>* server_unary_streamer) = 0;
2929 };
2930 template <class BaseClass>
2931 class WithStreamedUnaryMethod_WaitForAllTasks : public BaseClass {
2932 private:
2933 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2934 public:
2935 WithStreamedUnaryMethod_WaitForAllTasks() {
2936 ::grpc::Service::MarkMethodStreamed(2,
2937 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::WaitForAllTasksRequest, ::tensorflow::WaitForAllTasksResponse>(std::bind(&WithStreamedUnaryMethod_WaitForAllTasks<BaseClass>::StreamedWaitForAllTasks, this, std::placeholders::_1, std::placeholders::_2)));
2938 }
2939 ~WithStreamedUnaryMethod_WaitForAllTasks() override {
2940 BaseClassMustBeDerivedFromService(this);
2941 }
2942 // disable regular version of this method
2943 ::grpc::Status WaitForAllTasks(::grpc::ServerContext* /*context*/, const ::tensorflow::WaitForAllTasksRequest* /*request*/, ::tensorflow::WaitForAllTasksResponse* /*response*/) override {
2944 abort();
2945 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2946 }
2947 // replace default version of method with streamed unary
2948 virtual ::grpc::Status StreamedWaitForAllTasks(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::WaitForAllTasksRequest,::tensorflow::WaitForAllTasksResponse>* server_unary_streamer) = 0;
2949 };
2950 template <class BaseClass>
2951 class WithStreamedUnaryMethod_ShutdownTask : public BaseClass {
2952 private:
2953 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2954 public:
2955 WithStreamedUnaryMethod_ShutdownTask() {
2956 ::grpc::Service::MarkMethodStreamed(3,
2957 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::ShutdownTaskRequest, ::tensorflow::ShutdownTaskResponse>(std::bind(&WithStreamedUnaryMethod_ShutdownTask<BaseClass>::StreamedShutdownTask, this, std::placeholders::_1, std::placeholders::_2)));
2958 }
2959 ~WithStreamedUnaryMethod_ShutdownTask() override {
2960 BaseClassMustBeDerivedFromService(this);
2961 }
2962 // disable regular version of this method
2963 ::grpc::Status ShutdownTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ShutdownTaskRequest* /*request*/, ::tensorflow::ShutdownTaskResponse* /*response*/) override {
2964 abort();
2965 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2966 }
2967 // replace default version of method with streamed unary
2968 virtual ::grpc::Status StreamedShutdownTask(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::ShutdownTaskRequest,::tensorflow::ShutdownTaskResponse>* server_unary_streamer) = 0;
2969 };
2970 template <class BaseClass>
2971 class WithStreamedUnaryMethod_ResetTask : public BaseClass {
2972 private:
2973 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2974 public:
2975 WithStreamedUnaryMethod_ResetTask() {
2976 ::grpc::Service::MarkMethodStreamed(4,
2977 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::ResetTaskRequest, ::tensorflow::ResetTaskResponse>(std::bind(&WithStreamedUnaryMethod_ResetTask<BaseClass>::StreamedResetTask, this, std::placeholders::_1, std::placeholders::_2)));
2978 }
2979 ~WithStreamedUnaryMethod_ResetTask() override {
2980 BaseClassMustBeDerivedFromService(this);
2981 }
2982 // disable regular version of this method
2983 ::grpc::Status ResetTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ResetTaskRequest* /*request*/, ::tensorflow::ResetTaskResponse* /*response*/) override {
2984 abort();
2985 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
2986 }
2987 // replace default version of method with streamed unary
2988 virtual ::grpc::Status StreamedResetTask(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::ResetTaskRequest,::tensorflow::ResetTaskResponse>* server_unary_streamer) = 0;
2989 };
2990 template <class BaseClass>
2991 class WithStreamedUnaryMethod_ReportErrorToTask : public BaseClass {
2992 private:
2993 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
2994 public:
2995 WithStreamedUnaryMethod_ReportErrorToTask() {
2996 ::grpc::Service::MarkMethodStreamed(5,
2997 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::ReportErrorToTaskRequest, ::tensorflow::ReportErrorToTaskResponse>(std::bind(&WithStreamedUnaryMethod_ReportErrorToTask<BaseClass>::StreamedReportErrorToTask, this, std::placeholders::_1, std::placeholders::_2)));
2998 }
2999 ~WithStreamedUnaryMethod_ReportErrorToTask() override {
3000 BaseClassMustBeDerivedFromService(this);
3001 }
3002 // disable regular version of this method
3003 ::grpc::Status ReportErrorToTask(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToTaskRequest* /*request*/, ::tensorflow::ReportErrorToTaskResponse* /*response*/) override {
3004 abort();
3005 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3006 }
3007 // replace default version of method with streamed unary
3008 virtual ::grpc::Status StreamedReportErrorToTask(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::ReportErrorToTaskRequest,::tensorflow::ReportErrorToTaskResponse>* server_unary_streamer) = 0;
3009 };
3010 template <class BaseClass>
3011 class WithStreamedUnaryMethod_ReportErrorToService : public BaseClass {
3012 private:
3013 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3014 public:
3015 WithStreamedUnaryMethod_ReportErrorToService() {
3016 ::grpc::Service::MarkMethodStreamed(6,
3017 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::ReportErrorToServiceRequest, ::tensorflow::ReportErrorToServiceResponse>(std::bind(&WithStreamedUnaryMethod_ReportErrorToService<BaseClass>::StreamedReportErrorToService, this, std::placeholders::_1, std::placeholders::_2)));
3018 }
3019 ~WithStreamedUnaryMethod_ReportErrorToService() override {
3020 BaseClassMustBeDerivedFromService(this);
3021 }
3022 // disable regular version of this method
3023 ::grpc::Status ReportErrorToService(::grpc::ServerContext* /*context*/, const ::tensorflow::ReportErrorToServiceRequest* /*request*/, ::tensorflow::ReportErrorToServiceResponse* /*response*/) override {
3024 abort();
3025 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3026 }
3027 // replace default version of method with streamed unary
3028 virtual ::grpc::Status StreamedReportErrorToService(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::ReportErrorToServiceRequest,::tensorflow::ReportErrorToServiceResponse>* server_unary_streamer) = 0;
3029 };
3030 template <class BaseClass>
3031 class WithStreamedUnaryMethod_InsertKeyValue : public BaseClass {
3032 private:
3033 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3034 public:
3035 WithStreamedUnaryMethod_InsertKeyValue() {
3036 ::grpc::Service::MarkMethodStreamed(7,
3037 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::InsertKeyValueRequest, ::tensorflow::InsertKeyValueResponse>(std::bind(&WithStreamedUnaryMethod_InsertKeyValue<BaseClass>::StreamedInsertKeyValue, this, std::placeholders::_1, std::placeholders::_2)));
3038 }
3039 ~WithStreamedUnaryMethod_InsertKeyValue() override {
3040 BaseClassMustBeDerivedFromService(this);
3041 }
3042 // disable regular version of this method
3043 ::grpc::Status InsertKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::InsertKeyValueRequest* /*request*/, ::tensorflow::InsertKeyValueResponse* /*response*/) override {
3044 abort();
3045 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3046 }
3047 // replace default version of method with streamed unary
3048 virtual ::grpc::Status StreamedInsertKeyValue(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::InsertKeyValueRequest,::tensorflow::InsertKeyValueResponse>* server_unary_streamer) = 0;
3049 };
3050 template <class BaseClass>
3051 class WithStreamedUnaryMethod_GetKeyValue : public BaseClass {
3052 private:
3053 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3054 public:
3055 WithStreamedUnaryMethod_GetKeyValue() {
3056 ::grpc::Service::MarkMethodStreamed(8,
3057 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::GetKeyValueRequest, ::tensorflow::GetKeyValueResponse>(std::bind(&WithStreamedUnaryMethod_GetKeyValue<BaseClass>::StreamedGetKeyValue, this, std::placeholders::_1, std::placeholders::_2)));
3058 }
3059 ~WithStreamedUnaryMethod_GetKeyValue() override {
3060 BaseClassMustBeDerivedFromService(this);
3061 }
3062 // disable regular version of this method
3063 ::grpc::Status GetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueRequest* /*request*/, ::tensorflow::GetKeyValueResponse* /*response*/) override {
3064 abort();
3065 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3066 }
3067 // replace default version of method with streamed unary
3068 virtual ::grpc::Status StreamedGetKeyValue(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::GetKeyValueRequest,::tensorflow::GetKeyValueResponse>* server_unary_streamer) = 0;
3069 };
3070 template <class BaseClass>
3071 class WithStreamedUnaryMethod_TryGetKeyValue : public BaseClass {
3072 private:
3073 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3074 public:
3075 WithStreamedUnaryMethod_TryGetKeyValue() {
3076 ::grpc::Service::MarkMethodStreamed(9,
3077 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::TryGetKeyValueRequest, ::tensorflow::TryGetKeyValueResponse>(std::bind(&WithStreamedUnaryMethod_TryGetKeyValue<BaseClass>::StreamedTryGetKeyValue, this, std::placeholders::_1, std::placeholders::_2)));
3078 }
3079 ~WithStreamedUnaryMethod_TryGetKeyValue() override {
3080 BaseClassMustBeDerivedFromService(this);
3081 }
3082 // disable regular version of this method
3083 ::grpc::Status TryGetKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::TryGetKeyValueRequest* /*request*/, ::tensorflow::TryGetKeyValueResponse* /*response*/) override {
3084 abort();
3085 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3086 }
3087 // replace default version of method with streamed unary
3088 virtual ::grpc::Status StreamedTryGetKeyValue(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::TryGetKeyValueRequest,::tensorflow::TryGetKeyValueResponse>* server_unary_streamer) = 0;
3089 };
3090 template <class BaseClass>
3091 class WithStreamedUnaryMethod_GetKeyValueDir : public BaseClass {
3092 private:
3093 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3094 public:
3095 WithStreamedUnaryMethod_GetKeyValueDir() {
3096 ::grpc::Service::MarkMethodStreamed(10,
3097 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::GetKeyValueDirRequest, ::tensorflow::GetKeyValueDirResponse>(std::bind(&WithStreamedUnaryMethod_GetKeyValueDir<BaseClass>::StreamedGetKeyValueDir, this, std::placeholders::_1, std::placeholders::_2)));
3098 }
3099 ~WithStreamedUnaryMethod_GetKeyValueDir() override {
3100 BaseClassMustBeDerivedFromService(this);
3101 }
3102 // disable regular version of this method
3103 ::grpc::Status GetKeyValueDir(::grpc::ServerContext* /*context*/, const ::tensorflow::GetKeyValueDirRequest* /*request*/, ::tensorflow::GetKeyValueDirResponse* /*response*/) override {
3104 abort();
3105 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3106 }
3107 // replace default version of method with streamed unary
3108 virtual ::grpc::Status StreamedGetKeyValueDir(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::GetKeyValueDirRequest,::tensorflow::GetKeyValueDirResponse>* server_unary_streamer) = 0;
3109 };
3110 template <class BaseClass>
3111 class WithStreamedUnaryMethod_DeleteKeyValue : public BaseClass {
3112 private:
3113 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3114 public:
3115 WithStreamedUnaryMethod_DeleteKeyValue() {
3116 ::grpc::Service::MarkMethodStreamed(11,
3117 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::DeleteKeyValueRequest, ::tensorflow::DeleteKeyValueResponse>(std::bind(&WithStreamedUnaryMethod_DeleteKeyValue<BaseClass>::StreamedDeleteKeyValue, this, std::placeholders::_1, std::placeholders::_2)));
3118 }
3119 ~WithStreamedUnaryMethod_DeleteKeyValue() override {
3120 BaseClassMustBeDerivedFromService(this);
3121 }
3122 // disable regular version of this method
3123 ::grpc::Status DeleteKeyValue(::grpc::ServerContext* /*context*/, const ::tensorflow::DeleteKeyValueRequest* /*request*/, ::tensorflow::DeleteKeyValueResponse* /*response*/) override {
3124 abort();
3125 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3126 }
3127 // replace default version of method with streamed unary
3128 virtual ::grpc::Status StreamedDeleteKeyValue(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::DeleteKeyValueRequest,::tensorflow::DeleteKeyValueResponse>* server_unary_streamer) = 0;
3129 };
3130 template <class BaseClass>
3131 class WithStreamedUnaryMethod_Barrier : public BaseClass {
3132 private:
3133 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3134 public:
3135 WithStreamedUnaryMethod_Barrier() {
3136 ::grpc::Service::MarkMethodStreamed(12,
3137 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::BarrierRequest, ::tensorflow::BarrierResponse>(std::bind(&WithStreamedUnaryMethod_Barrier<BaseClass>::StreamedBarrier, this, std::placeholders::_1, std::placeholders::_2)));
3138 }
3139 ~WithStreamedUnaryMethod_Barrier() override {
3140 BaseClassMustBeDerivedFromService(this);
3141 }
3142 // disable regular version of this method
3143 ::grpc::Status Barrier(::grpc::ServerContext* /*context*/, const ::tensorflow::BarrierRequest* /*request*/, ::tensorflow::BarrierResponse* /*response*/) override {
3144 abort();
3145 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3146 }
3147 // replace default version of method with streamed unary
3148 virtual ::grpc::Status StreamedBarrier(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::BarrierRequest,::tensorflow::BarrierResponse>* server_unary_streamer) = 0;
3149 };
3150 template <class BaseClass>
3151 class WithStreamedUnaryMethod_CancelBarrier : public BaseClass {
3152 private:
3153 void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
3154 public:
3155 WithStreamedUnaryMethod_CancelBarrier() {
3156 ::grpc::Service::MarkMethodStreamed(13,
3157 new ::grpc::internal::StreamedUnaryHandler< ::tensorflow::CancelBarrierRequest, ::tensorflow::CancelBarrierResponse>(std::bind(&WithStreamedUnaryMethod_CancelBarrier<BaseClass>::StreamedCancelBarrier, this, std::placeholders::_1, std::placeholders::_2)));
3158 }
3159 ~WithStreamedUnaryMethod_CancelBarrier() override {
3160 BaseClassMustBeDerivedFromService(this);
3161 }
3162 // disable regular version of this method
3163 ::grpc::Status CancelBarrier(::grpc::ServerContext* /*context*/, const ::tensorflow::CancelBarrierRequest* /*request*/, ::tensorflow::CancelBarrierResponse* /*response*/) override {
3164 abort();
3165 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
3166 }
3167 // replace default version of method with streamed unary
3168 virtual ::grpc::Status StreamedCancelBarrier(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::tensorflow::CancelBarrierRequest,::tensorflow::CancelBarrierResponse>* server_unary_streamer) = 0;
3169 };
3170 typedef WithStreamedUnaryMethod_RegisterTask<WithStreamedUnaryMethod_Heartbeat<WithStreamedUnaryMethod_WaitForAllTasks<WithStreamedUnaryMethod_ShutdownTask<WithStreamedUnaryMethod_ResetTask<WithStreamedUnaryMethod_ReportErrorToTask<WithStreamedUnaryMethod_ReportErrorToService<WithStreamedUnaryMethod_InsertKeyValue<WithStreamedUnaryMethod_GetKeyValue<WithStreamedUnaryMethod_TryGetKeyValue<WithStreamedUnaryMethod_GetKeyValueDir<WithStreamedUnaryMethod_DeleteKeyValue<WithStreamedUnaryMethod_Barrier<WithStreamedUnaryMethod_CancelBarrier<Service > > > > > > > > > > > > > > StreamedUnaryService;
3171 typedef Service SplitStreamedService;
3172 typedef WithStreamedUnaryMethod_RegisterTask<WithStreamedUnaryMethod_Heartbeat<WithStreamedUnaryMethod_WaitForAllTasks<WithStreamedUnaryMethod_ShutdownTask<WithStreamedUnaryMethod_ResetTask<WithStreamedUnaryMethod_ReportErrorToTask<WithStreamedUnaryMethod_ReportErrorToService<WithStreamedUnaryMethod_InsertKeyValue<WithStreamedUnaryMethod_GetKeyValue<WithStreamedUnaryMethod_TryGetKeyValue<WithStreamedUnaryMethod_GetKeyValueDir<WithStreamedUnaryMethod_DeleteKeyValue<WithStreamedUnaryMethod_Barrier<WithStreamedUnaryMethod_CancelBarrier<Service > > > > > > > > > > > > > > StreamedService;
3173};
3174
3175} // namespace grpc
3176
3177} // namespace tensorflow
3178
3179
3180#endif // GRPC_tensorflow_2fcore_2fprotobuf_2fcoordination_5fservice_2eproto__INCLUDED
3181