@Override public void onNext(RespT response) { if (cancelled) { throw Status.CANCELLED.asRuntimeException(); } if (!sentHeaders) { call.sendHeaders(new Metadata()); sentHeaders = true; } //TODO send header from here.. call.sendMessage(response); }
@Override public void onCompleted() { if (cancelled) { throw Status.CANCELLED.asRuntimeException(); } else { call.close(Status.OK, new Metadata()); } }
public static io.grpc.ServiceDescriptor getServiceDescriptor() { return new io.grpc.ServiceDescriptor(SERVICE_NAME, METHOD_GET_FEATURE, METHOD_LIST_FEATURES, METHOD_RECORD_ROUTE, METHOD_ROUTE_CHAT); }
public static io.grpc.ServiceDescriptor getServiceDescriptor() { io.grpc.ServiceDescriptor result = serviceDescriptor; if (result == null) { synchronized (WatchGrpc.class) { result = serviceDescriptor; if (result == null) { serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) .setSchemaDescriptor(new WatchFileDescriptorSupplier()) .addMethod(METHOD_WATCH) .build(); } } } return result; } }
@SuppressWarnings({"unchecked", "rawtypes"}) public static ServerServiceDefinition getServiceDefByAnnotation(Class<?> clazz) throws Exception { ServiceDescriptor serviceDesc = getServiceDesc(getGrpcClassName(clazz)); io.grpc.ServerServiceDefinition.Builder builder = io.grpc.ServerServiceDefinition.builder(serviceDesc); for (MethodDescriptor<?, ?> methodDesc : serviceDesc.getMethods()) { builder.addMethod(methodDesc, new MotanServerCallHandler()); } return builder.build(); }
@Override public <RequestT, ResponseT> ClientCall<RequestT, ResponseT> newCall( MethodDescriptor<RequestT, ResponseT> methodDescriptor, CallOptions callOptions) { return mChannel.newCall(methodDescriptor, callOptions); }
@Override public void onError(Throwable t) { Metadata metadata = Status.trailersFromThrowable(t); if (metadata == null) { metadata = new Metadata(); } if (t instanceof MotanBizException) { call.close(Status.INTERNAL.withDescription(t.getMessage()).withCause(t), metadata); } else { call.close(Status.UNAVAILABLE.withDescription(t.getMessage()).withCause(t), metadata); } }
public void start(Listener responseListener, Metadata headers) { Map<String, String> attachments = request.getAttachments(); if (attachments != null && !attachments.isEmpty()) { for (Entry<String, String> entry : attachments.entrySet()) { headers.put(Metadata.Key.of(entry.getKey(), Metadata.ASCII_STRING_MARSHALLER), entry.getValue()); } } super.start(responseListener, headers); } };
public void removeService(ServerServiceDefinition service) { if (service != null) { for (ServerMethodDefinition<?, ?> method : service.getMethods()) { methods.remove(method.getMethodDescriptor().getFullMethodName()); } } }
public void destroy() { channel.shutdownNow(); }
/** * @return the port that server is bound to, or null if the server is not bound to an address yet. */ public int getBindPort() { return mServer.getPort(); }
/** * Creates a new {@link GrpcService}. * * @param bindableService gRPC bindable service */ public GrpcService(BindableService bindableService) { mServiceDefinition = bindableService.bindService(); }
/** * @return true if server is serving */ public boolean isServing() { return mStarted && !mServer.isShutdown() || !mServer.isTerminated(); } }
@Override public String authority() { return mChannel.authority(); }
@Override public void request(int count) { call.request(count); } }
@Override public void setCompression(String compression) { call.setCompression(compression); }
@Override public void setMessageCompression(boolean enable) { call.setMessageCompression(enable); }
@Override public boolean isCancelled() { return call.isCancelled(); }
@Override public boolean isReady() { return call.isReady(); }
public static io.grpc.ServiceDescriptor getServiceDescriptor() { return new io.grpc.ServiceDescriptor(SERVICE_NAME, METHOD_GET_FUNCTION_STATUS, METHOD_GET_AND_RESET_METRICS, METHOD_RESET_METRICS, METHOD_GET_METRICS, METHOD_HEALTH_CHECK); }