Java Code Examples for io.grpc.protobuf.lite.ProtoLiteUtils

The following examples show how to use io.grpc.protobuf.lite.ProtoLiteUtils. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: JavaInterview   Source File: GrpcClient.java    License: Apache License 2.0 6 votes vote down vote up
public void greet() throws IOException {
    GreeterOuterClass.Request request = GreeterOuterClass.Request
            .newBuilder()
            .setName("aaa")
            .build();

    try {
        GreeterOuterClass.Response response = this.blockingStub.hello(request);
        System.out.println(response.getMsg());
    } catch (StatusRuntimeException e){
        System.out.println(e.toString());
        System.out.println(e.getStatus().getCode());
        Metadata metadata = e.getTrailers();
        com.google.rpc.Status status = metadata.get(Metadata.Key.of("grpc-status-details-bin",
                ProtoLiteUtils.metadataMarshaller(com.google.rpc.Status.getDefaultInstance())));
        if(status.getDetailsCount() > 0){
            Any any = status.getDetails(0);
            GreeterOuterClass.Request req = any.unpack(GreeterOuterClass.Request.class);
            System.out.println(req.getName());
        }


    }
}
 
Example 2
Source Project: grpc-nebula-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Sets the global registry for proto marshalling shared across all servers and clients.
 *
 * <p>Warning:  This API will likely change over time.  It is not possible to have separate
 * registries per Process, Server, Channel, Service, or Method.  This is intentional until there
 * is a more appropriate API to set them.
 *
 * <p>Warning:  Do NOT modify the extension registry after setting it.  It is thread safe to call
 * {@link #setExtensionRegistry}, but not to modify the underlying object.
 *
 * <p>If you need custom parsing behavior for protos, you will need to make your own
 * {@code MethodDescriptor.Marshaller} for the time being.
 *
 * @since 1.16.0
 */
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1787")
public static void setExtensionRegistry(ExtensionRegistry registry) {
  ProtoLiteUtils.setExtensionRegistry(registry);
}
 
Example 3
Source Project: grpc-nebula-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Create a {@link Marshaller} for protos of the same type as {@code defaultInstance}.
 *
 * @since 1.0.0
 */
public static <T extends Message> Marshaller<T> marshaller(final T defaultInstance) {
  return ProtoLiteUtils.marshaller(defaultInstance);
}
 
Example 4
Source Project: grpc-nebula-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Produce a metadata marshaller for a protobuf type.
 * 
 * @since 1.13.0
 */
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4477")
public static <T extends Message> Metadata.BinaryMarshaller<T> metadataMarshaller(T instance) {
  return ProtoLiteUtils.metadataMarshaller(instance);
}
 
Example 5
Source Project: grpc-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Sets the global registry for proto marshalling shared across all servers and clients.
 *
 * <p>Warning:  This API will likely change over time.  It is not possible to have separate
 * registries per Process, Server, Channel, Service, or Method.  This is intentional until there
 * is a more appropriate API to set them.
 *
 * <p>Warning:  Do NOT modify the extension registry after setting it.  It is thread safe to call
 * {@link #setExtensionRegistry}, but not to modify the underlying object.
 *
 * <p>If you need custom parsing behavior for protos, you will need to make your own
 * {@code MethodDescriptor.Marshaller} for the time being.
 *
 * @since 1.16.0
 */
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1787")
public static void setExtensionRegistry(ExtensionRegistry registry) {
  ProtoLiteUtils.setExtensionRegistry(registry);
}
 
Example 6
Source Project: grpc-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Create a {@link Marshaller} for protos of the same type as {@code defaultInstance}.
 *
 * @since 1.0.0
 */
public static <T extends Message> Marshaller<T> marshaller(final T defaultInstance) {
  return ProtoLiteUtils.marshaller(defaultInstance);
}
 
Example 7
Source Project: grpc-java   Source File: ProtoUtils.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Produce a metadata marshaller for a protobuf type.
 * 
 * @since 1.13.0
 */
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4477")
public static <T extends Message> Metadata.BinaryMarshaller<T> metadataMarshaller(T instance) {
  return ProtoLiteUtils.metadataMarshaller(instance);
}