001package org.matsim.contrib.hybridsim.proto;
002
003import static io.grpc.stub.ClientCalls.asyncUnaryCall;
004import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
005import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
006import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
007import static io.grpc.stub.ClientCalls.blockingUnaryCall;
008import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
009import static io.grpc.stub.ClientCalls.futureUnaryCall;
010import static io.grpc.MethodDescriptor.generateFullMethodName;
011import static io.grpc.stub.ServerCalls.asyncUnaryCall;
012import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
013import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
014import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
015
016@javax.annotation.Generated("by gRPC proto compiler")
017public class HybridSimulationGrpc {
018
019  private HybridSimulationGrpc() {}
020
021  public static final String SERVICE_NAME = "hybridsim.HybridSimulation";
022
023  // Static method descriptors that strictly reflect the proto.
024  @io.grpc.ExperimentalApi
025  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval,
026      org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> METHOD_SIMULATED_TIME_INERVAL =
027      io.grpc.MethodDescriptor.create(
028          io.grpc.MethodDescriptor.MethodType.UNARY,
029          generateFullMethodName(
030              "hybridsim.HybridSimulation", "simulatedTimeInerval"),
031          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval.getDefaultInstance()),
032          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()));
033  @io.grpc.ExperimentalApi
034  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent,
035      org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean> METHOD_TRANSFER_AGENT =
036      io.grpc.MethodDescriptor.create(
037          io.grpc.MethodDescriptor.MethodType.UNARY,
038          generateFullMethodName(
039              "hybridsim.HybridSimulation", "transferAgent"),
040          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent.getDefaultInstance()),
041          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean.getDefaultInstance()));
042  @io.grpc.ExperimentalApi
043  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
044      org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories> METHOD_RECEIVE_TRAJECTORIES =
045      io.grpc.MethodDescriptor.create(
046          io.grpc.MethodDescriptor.MethodType.UNARY,
047          generateFullMethodName(
048              "hybridsim.HybridSimulation", "receiveTrajectories"),
049          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()),
050          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories.getDefaultInstance()));
051  @io.grpc.ExperimentalApi
052  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
053      org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents> METHOD_RETRIEVE_AGENTS =
054      io.grpc.MethodDescriptor.create(
055          io.grpc.MethodDescriptor.MethodType.UNARY,
056          generateFullMethodName(
057              "hybridsim.HybridSimulation", "retrieveAgents"),
058          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()),
059          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents.getDefaultInstance()));
060  @io.grpc.ExperimentalApi
061  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
062      org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> METHOD_SHUTDOWN =
063      io.grpc.MethodDescriptor.create(
064          io.grpc.MethodDescriptor.MethodType.UNARY,
065          generateFullMethodName(
066              "hybridsim.HybridSimulation", "shutdown"),
067          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()),
068          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()));
069  @io.grpc.ExperimentalApi
070  public static final io.grpc.MethodDescriptor<org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario,
071      org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> METHOD_INIT_SCENARIO =
072      io.grpc.MethodDescriptor.create(
073          io.grpc.MethodDescriptor.MethodType.UNARY,
074          generateFullMethodName(
075              "hybridsim.HybridSimulation", "initScenario"),
076          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario.getDefaultInstance()),
077          io.grpc.protobuf.ProtoUtils.marshaller(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty.getDefaultInstance()));
078
079  public static HybridSimulationStub newStub(io.grpc.Channel channel) {
080    return new HybridSimulationStub(channel);
081  }
082
083  public static HybridSimulationBlockingStub newBlockingStub(
084      io.grpc.Channel channel) {
085    return new HybridSimulationBlockingStub(channel);
086  }
087
088  public static HybridSimulationFutureStub newFutureStub(
089      io.grpc.Channel channel) {
090    return new HybridSimulationFutureStub(channel);
091  }
092
093  public static interface HybridSimulation {
094
095    public void simulatedTimeInerval(org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request,
096        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver);
097
098    public void transferAgent(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request,
099        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean> responseObserver);
100
101    public void receiveTrajectories(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
102        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories> responseObserver);
103
104    public void retrieveAgents(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
105        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents> responseObserver);
106
107    public void shutdown(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
108        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver);
109
110    public void initScenario(org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request,
111        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver);
112  }
113
114  public static interface HybridSimulationBlockingClient {
115
116    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty simulatedTimeInerval(org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request);
117
118    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean transferAgent(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request);
119
120    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories receiveTrajectories(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
121
122    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents retrieveAgents(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
123
124    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty shutdown(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
125
126    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty initScenario(org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request);
127  }
128
129  public static interface HybridSimulationFutureClient {
130
131    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> simulatedTimeInerval(
132        org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request);
133
134    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean> transferAgent(
135        org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request);
136
137    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories> receiveTrajectories(
138        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
139
140    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents> retrieveAgents(
141        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
142
143    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> shutdown(
144        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request);
145
146    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> initScenario(
147        org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request);
148  }
149
150  public static class HybridSimulationStub extends io.grpc.stub.AbstractStub<HybridSimulationStub>
151      implements HybridSimulation {
152    private HybridSimulationStub(io.grpc.Channel channel) {
153      super(channel);
154    }
155
156    private HybridSimulationStub(io.grpc.Channel channel,
157        io.grpc.CallOptions callOptions) {
158      super(channel, callOptions);
159    }
160
161    @java.lang.Override
162    protected HybridSimulationStub build(io.grpc.Channel channel,
163        io.grpc.CallOptions callOptions) {
164      return new HybridSimulationStub(channel, callOptions);
165    }
166
167    @java.lang.Override
168    public void simulatedTimeInerval(org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request,
169        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver) {
170      asyncUnaryCall(
171          getChannel().newCall(METHOD_SIMULATED_TIME_INERVAL, getCallOptions()), request, responseObserver);
172    }
173
174    @java.lang.Override
175    public void transferAgent(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request,
176        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean> responseObserver) {
177      asyncUnaryCall(
178          getChannel().newCall(METHOD_TRANSFER_AGENT, getCallOptions()), request, responseObserver);
179    }
180
181    @java.lang.Override
182    public void receiveTrajectories(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
183        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories> responseObserver) {
184      asyncUnaryCall(
185          getChannel().newCall(METHOD_RECEIVE_TRAJECTORIES, getCallOptions()), request, responseObserver);
186    }
187
188    @java.lang.Override
189    public void retrieveAgents(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
190        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents> responseObserver) {
191      asyncUnaryCall(
192          getChannel().newCall(METHOD_RETRIEVE_AGENTS, getCallOptions()), request, responseObserver);
193    }
194
195    @java.lang.Override
196    public void shutdown(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request,
197        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver) {
198      asyncUnaryCall(
199          getChannel().newCall(METHOD_SHUTDOWN, getCallOptions()), request, responseObserver);
200    }
201
202    @java.lang.Override
203    public void initScenario(org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request,
204        io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> responseObserver) {
205      asyncUnaryCall(
206          getChannel().newCall(METHOD_INIT_SCENARIO, getCallOptions()), request, responseObserver);
207    }
208  }
209
210  public static class HybridSimulationBlockingStub extends io.grpc.stub.AbstractStub<HybridSimulationBlockingStub>
211      implements HybridSimulationBlockingClient {
212    private HybridSimulationBlockingStub(io.grpc.Channel channel) {
213      super(channel);
214    }
215
216    private HybridSimulationBlockingStub(io.grpc.Channel channel,
217        io.grpc.CallOptions callOptions) {
218      super(channel, callOptions);
219    }
220
221    @java.lang.Override
222    protected HybridSimulationBlockingStub build(io.grpc.Channel channel,
223        io.grpc.CallOptions callOptions) {
224      return new HybridSimulationBlockingStub(channel, callOptions);
225    }
226
227    @java.lang.Override
228    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty simulatedTimeInerval(org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request) {
229      return blockingUnaryCall(
230          getChannel(), METHOD_SIMULATED_TIME_INERVAL, getCallOptions(), request);
231    }
232
233    @java.lang.Override
234    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean transferAgent(org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request) {
235      return blockingUnaryCall(
236          getChannel(), METHOD_TRANSFER_AGENT, getCallOptions(), request);
237    }
238
239    @java.lang.Override
240    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories receiveTrajectories(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
241      return blockingUnaryCall(
242          getChannel(), METHOD_RECEIVE_TRAJECTORIES, getCallOptions(), request);
243    }
244
245    @java.lang.Override
246    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents retrieveAgents(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
247      return blockingUnaryCall(
248          getChannel(), METHOD_RETRIEVE_AGENTS, getCallOptions(), request);
249    }
250
251    @java.lang.Override
252    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty shutdown(org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
253      return blockingUnaryCall(
254          getChannel(), METHOD_SHUTDOWN, getCallOptions(), request);
255    }
256
257    @java.lang.Override
258    public org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty initScenario(org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request) {
259      return blockingUnaryCall(
260          getChannel(), METHOD_INIT_SCENARIO, getCallOptions(), request);
261    }
262  }
263
264  public static class HybridSimulationFutureStub extends io.grpc.stub.AbstractStub<HybridSimulationFutureStub>
265      implements HybridSimulationFutureClient {
266    private HybridSimulationFutureStub(io.grpc.Channel channel) {
267      super(channel);
268    }
269
270    private HybridSimulationFutureStub(io.grpc.Channel channel,
271        io.grpc.CallOptions callOptions) {
272      super(channel, callOptions);
273    }
274
275    @java.lang.Override
276    protected HybridSimulationFutureStub build(io.grpc.Channel channel,
277        io.grpc.CallOptions callOptions) {
278      return new HybridSimulationFutureStub(channel, callOptions);
279    }
280
281    @java.lang.Override
282    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> simulatedTimeInerval(
283        org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval request) {
284      return futureUnaryCall(
285          getChannel().newCall(METHOD_SIMULATED_TIME_INERVAL, getCallOptions()), request);
286    }
287
288    @java.lang.Override
289    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean> transferAgent(
290        org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent request) {
291      return futureUnaryCall(
292          getChannel().newCall(METHOD_TRANSFER_AGENT, getCallOptions()), request);
293    }
294
295    @java.lang.Override
296    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories> receiveTrajectories(
297        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
298      return futureUnaryCall(
299          getChannel().newCall(METHOD_RECEIVE_TRAJECTORIES, getCallOptions()), request);
300    }
301
302    @java.lang.Override
303    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents> retrieveAgents(
304        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
305      return futureUnaryCall(
306          getChannel().newCall(METHOD_RETRIEVE_AGENTS, getCallOptions()), request);
307    }
308
309    @java.lang.Override
310    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> shutdown(
311        org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty request) {
312      return futureUnaryCall(
313          getChannel().newCall(METHOD_SHUTDOWN, getCallOptions()), request);
314    }
315
316    @java.lang.Override
317    public com.google.common.util.concurrent.ListenableFuture<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty> initScenario(
318        org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario request) {
319      return futureUnaryCall(
320          getChannel().newCall(METHOD_INIT_SCENARIO, getCallOptions()), request);
321    }
322  }
323
324  private static final int METHODID_SIMULATED_TIME_INERVAL = 0;
325  private static final int METHODID_TRANSFER_AGENT = 1;
326  private static final int METHODID_RECEIVE_TRAJECTORIES = 2;
327  private static final int METHODID_RETRIEVE_AGENTS = 3;
328  private static final int METHODID_SHUTDOWN = 4;
329  private static final int METHODID_INIT_SCENARIO = 5;
330
331  private static class MethodHandlers<Req, Resp> implements
332      io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
333      io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
334      io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
335      io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
336    private final HybridSimulation serviceImpl;
337    private final int methodId;
338
339    public MethodHandlers(HybridSimulation serviceImpl, int methodId) {
340      this.serviceImpl = serviceImpl;
341      this.methodId = methodId;
342    }
343
344    @java.lang.SuppressWarnings("unchecked")
345    public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
346      switch (methodId) {
347        case METHODID_SIMULATED_TIME_INERVAL:
348          serviceImpl.simulatedTimeInerval((org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval) request,
349              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>) responseObserver);
350          break;
351        case METHODID_TRANSFER_AGENT:
352          serviceImpl.transferAgent((org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent) request,
353              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean>) responseObserver);
354          break;
355        case METHODID_RECEIVE_TRAJECTORIES:
356          serviceImpl.receiveTrajectories((org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty) request,
357              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories>) responseObserver);
358          break;
359        case METHODID_RETRIEVE_AGENTS:
360          serviceImpl.retrieveAgents((org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty) request,
361              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents>) responseObserver);
362          break;
363        case METHODID_SHUTDOWN:
364          serviceImpl.shutdown((org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty) request,
365              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>) responseObserver);
366          break;
367        case METHODID_INIT_SCENARIO:
368          serviceImpl.initScenario((org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario) request,
369              (io.grpc.stub.StreamObserver<org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>) responseObserver);
370          break;
371        default:
372          throw new AssertionError();
373      }
374    }
375
376    @java.lang.SuppressWarnings("unchecked")
377    public io.grpc.stub.StreamObserver<Req> invoke(
378        io.grpc.stub.StreamObserver<Resp> responseObserver) {
379      switch (methodId) {
380        default:
381          throw new AssertionError();
382      }
383    }
384  }
385
386  public static io.grpc.ServerServiceDefinition bindService(
387      final HybridSimulation serviceImpl) {
388    return io.grpc.ServerServiceDefinition.builder(SERVICE_NAME)
389        .addMethod(
390          METHOD_SIMULATED_TIME_INERVAL,
391          asyncUnaryCall(
392            new MethodHandlers<
393              org.matsim.contrib.hybridsim.proto.HybridSimProto.LeftClosedRightOpenTimeInterval,
394              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>(
395                serviceImpl, METHODID_SIMULATED_TIME_INERVAL)))
396        .addMethod(
397          METHOD_TRANSFER_AGENT,
398          asyncUnaryCall(
399            new MethodHandlers<
400              org.matsim.contrib.hybridsim.proto.HybridSimProto.Agent,
401              org.matsim.contrib.hybridsim.proto.HybridSimProto.Boolean>(
402                serviceImpl, METHODID_TRANSFER_AGENT)))
403        .addMethod(
404          METHOD_RECEIVE_TRAJECTORIES,
405          asyncUnaryCall(
406            new MethodHandlers<
407              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
408              org.matsim.contrib.hybridsim.proto.HybridSimProto.Trajectories>(
409                serviceImpl, METHODID_RECEIVE_TRAJECTORIES)))
410        .addMethod(
411          METHOD_RETRIEVE_AGENTS,
412          asyncUnaryCall(
413            new MethodHandlers<
414              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
415              org.matsim.contrib.hybridsim.proto.HybridSimProto.Agents>(
416                serviceImpl, METHODID_RETRIEVE_AGENTS)))
417        .addMethod(
418          METHOD_SHUTDOWN,
419          asyncUnaryCall(
420            new MethodHandlers<
421              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty,
422              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>(
423                serviceImpl, METHODID_SHUTDOWN)))
424        .addMethod(
425          METHOD_INIT_SCENARIO,
426          asyncUnaryCall(
427            new MethodHandlers<
428              org.matsim.contrib.hybridsim.proto.HybridSimProto.Scenario,
429              org.matsim.contrib.hybridsim.proto.HybridSimProto.Empty>(
430                serviceImpl, METHODID_INIT_SCENARIO)))
431        .build();
432  }
433}