From 27439876f28858b3293bc0f790d091b5eba36245 Mon Sep 17 00:00:00 2001 From: zpencer Date: Wed, 23 May 2018 20:49:09 -0700 Subject: services,core: make BinaryLogSink visible, add setter (#4503) * make BinaryLogSink public * add io.grpc.BinaryLog to server/channel builder --- .../src/main/java/io/grpc/services/BinaryLogProviderImpl.java | 4 ++++ services/src/main/java/io/grpc/services/BinaryLogSink.java | 7 ++++++- services/src/main/java/io/grpc/services/BinaryLogs.java | 8 ++++++++ .../src/main/java/io/grpc/services/CensusBinaryLogProvider.java | 4 ++++ 4 files changed, 22 insertions(+), 1 deletion(-) (limited to 'services') diff --git a/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java b/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java index 55109bc92..420281360 100644 --- a/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java +++ b/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java @@ -36,6 +36,10 @@ class BinaryLogProviderImpl extends BinaryLogProvider { this(new TempFileSink(), System.getenv("GRPC_BINARY_LOG_CONFIG")); } + public BinaryLogProviderImpl(BinaryLogSink sink) throws IOException { + this(sink, System.getenv("GRPC_BINARY_LOG_CONFIG")); + } + /** * Creates an instance. * @param sink ownership is transferred to this class. diff --git a/services/src/main/java/io/grpc/services/BinaryLogSink.java b/services/src/main/java/io/grpc/services/BinaryLogSink.java index ef5be01da..1c1c193e4 100644 --- a/services/src/main/java/io/grpc/services/BinaryLogSink.java +++ b/services/src/main/java/io/grpc/services/BinaryLogSink.java @@ -17,9 +17,14 @@ package io.grpc.services; import com.google.protobuf.MessageLite; +import io.grpc.ExperimentalApi; import java.io.Closeable; -interface BinaryLogSink extends Closeable { +/** + * A class that accepts binary log messages. + */ +@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4017") +public interface BinaryLogSink extends Closeable { /** * Writes the {@code message} to the destination. */ diff --git a/services/src/main/java/io/grpc/services/BinaryLogs.java b/services/src/main/java/io/grpc/services/BinaryLogs.java index b72cad6c1..310ec3cf9 100644 --- a/services/src/main/java/io/grpc/services/BinaryLogs.java +++ b/services/src/main/java/io/grpc/services/BinaryLogs.java @@ -26,9 +26,17 @@ public final class BinaryLogs { return new BinaryLogProviderImpl(); } + public static BinaryLog createBinaryLog(BinaryLogSink sink) throws IOException { + return new BinaryLogProviderImpl(sink); + } + public static BinaryLog createCensusBinaryLog() throws IOException { return new CensusBinaryLogProvider(); } + public static BinaryLog createCensusBinaryLog(BinaryLogSink sink) throws IOException { + return new CensusBinaryLogProvider(sink); + } + private BinaryLogs() {} } diff --git a/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java b/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java index db6a0b62d..d6fb7fae8 100644 --- a/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java +++ b/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java @@ -28,6 +28,10 @@ final class CensusBinaryLogProvider extends BinaryLogProviderImpl { super(); } + public CensusBinaryLogProvider(BinaryLogSink sink) throws IOException { + super(sink); + } + CensusBinaryLogProvider(BinaryLogSink sink, String configStr) throws IOException { super(sink, configStr); } -- cgit v1.2.3