diff options
author | zpencer <spencerfang@google.com> | 2018-05-07 07:41:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-07 07:41:42 -0700 |
commit | 6f29b60dcf42518115aaa14cbe0e01a5e6a7f909 (patch) | |
tree | 5303a6e6dd295075b9e88006de10443fe6c2a4fe /services | |
parent | 46079fff8aa50b5a9222b79f9ea01472fcd5b44f (diff) | |
download | grpc-grpc-java-6f29b60dcf42518115aaa14cbe0e01a5e6a7f909.tar.gz |
core, services: make BinaryLog an explicit object that is passed into channels/servers (#4431)
remove SPI, io.grpc.BinaryLog is a public API that is passed into builders and must be
explicitly closed.
Diffstat (limited to 'services')
-rw-r--r-- | services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java | 16 | ||||
-rw-r--r-- | services/src/main/java/io/grpc/services/BinaryLogs.java | 34 | ||||
-rw-r--r-- | services/src/main/java/io/grpc/services/BinlogHelper.java | 4 | ||||
-rw-r--r-- | services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java (renamed from services/src/main/java/io/grpc/services/internal/CensusBinaryLogProvider.java) | 12 | ||||
-rw-r--r-- | services/src/test/java/io/grpc/services/BinlogHelperTest.java | 6 | ||||
-rw-r--r-- | services/src/test/java/io/grpc/services/CensusBinaryLogProviderTest.java (renamed from services/src/test/java/io/grpc/services/internal/CensusBinaryLogProviderTest.java) | 7 |
6 files changed, 48 insertions, 31 deletions
diff --git a/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java b/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java index f85347e0a..66bf4c6d8 100644 --- a/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java +++ b/services/src/main/java/io/grpc/services/BinaryLogProviderImpl.java @@ -16,11 +16,10 @@ package io.grpc.services; +import io.grpc.BinaryLogProvider; import io.grpc.CallOptions; import io.grpc.ClientInterceptor; -import io.grpc.ExperimentalApi; import io.grpc.ServerInterceptor; -import io.grpc.internal.BinaryLogProvider; import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Level; import java.util.logging.Logger; @@ -29,8 +28,7 @@ import javax.annotation.Nullable; /** * The default implementation of a {@link BinaryLogProvider}. */ -@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4017") -public class BinaryLogProviderImpl extends BinaryLogProvider { +class BinaryLogProviderImpl extends BinaryLogProvider { private static final Logger logger = Logger.getLogger(BinaryLogProviderImpl.class.getName()); private final BinlogHelper.Factory factory; private final AtomicLong counter = new AtomicLong(); @@ -64,16 +62,6 @@ public class BinaryLogProviderImpl extends BinaryLogProvider { return factory.getLog(fullMethodName).getClientInterceptor(getClientCallId(callOptions)); } - @Override - protected int priority() { - return 5; - } - - @Override - protected boolean isAvailable() { - return factory != null; - } - protected CallId getServerCallId() { return new CallId(0, counter.getAndIncrement()); } diff --git a/services/src/main/java/io/grpc/services/BinaryLogs.java b/services/src/main/java/io/grpc/services/BinaryLogs.java new file mode 100644 index 000000000..7f000cb80 --- /dev/null +++ b/services/src/main/java/io/grpc/services/BinaryLogs.java @@ -0,0 +1,34 @@ +/* + * Copyright 2018, gRPC Authors All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.grpc.services; + +import io.grpc.BinaryLog; +import io.grpc.ExperimentalApi; +import io.grpc.InternalBinaryLogs; + +@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4017") +public final class BinaryLogs { + public static BinaryLog createBinaryLog() { + return InternalBinaryLogs.createBinaryLog(new BinaryLogProviderImpl()); + } + + public static BinaryLog createCensusBinaryLog() { + return InternalBinaryLogs.createBinaryLog(new CensusBinaryLogProvider()); + } + + private BinaryLogs() {} +} diff --git a/services/src/main/java/io/grpc/services/BinlogHelper.java b/services/src/main/java/io/grpc/services/BinlogHelper.java index 42ba4b5f9..76d7ddc11 100644 --- a/services/src/main/java/io/grpc/services/BinlogHelper.java +++ b/services/src/main/java/io/grpc/services/BinlogHelper.java @@ -16,7 +16,7 @@ package io.grpc.services; -import static io.grpc.internal.BinaryLogProvider.BYTEARRAY_MARSHALLER; +import static io.grpc.BinaryLogProvider.BYTEARRAY_MARSHALLER; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; @@ -24,6 +24,7 @@ import com.google.common.base.Splitter; import com.google.common.primitives.Bytes; import com.google.protobuf.ByteString; import io.grpc.Attributes; +import io.grpc.BinaryLogProvider.CallId; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; @@ -50,7 +51,6 @@ import io.grpc.binarylog.MetadataEntry; import io.grpc.binarylog.Peer; import io.grpc.binarylog.Peer.PeerType; import io.grpc.binarylog.Uint128; -import io.grpc.internal.BinaryLogProvider.CallId; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; diff --git a/services/src/main/java/io/grpc/services/internal/CensusBinaryLogProvider.java b/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java index e08e1bf80..8de79bbde 100644 --- a/services/src/main/java/io/grpc/services/internal/CensusBinaryLogProvider.java +++ b/services/src/main/java/io/grpc/services/CensusBinaryLogProvider.java @@ -14,20 +14,14 @@ * limitations under the License. */ -package io.grpc.services.internal; +package io.grpc.services; +import io.grpc.BinaryLogProvider; import io.grpc.CallOptions; -import io.grpc.internal.BinaryLogProvider; -import io.grpc.services.BinaryLogProviderImpl; import io.opencensus.trace.Span; import io.opencensus.trace.Tracing; -public final class CensusBinaryLogProvider extends BinaryLogProviderImpl { - @Override - protected int priority() { - return 6; - } - +final class CensusBinaryLogProvider extends BinaryLogProviderImpl { @Override protected CallId getServerCallId() { Span currentSpan = Tracing.getTracer().getCurrentSpan(); diff --git a/services/src/test/java/io/grpc/services/BinlogHelperTest.java b/services/src/test/java/io/grpc/services/BinlogHelperTest.java index f9928e191..3c15a9550 100644 --- a/services/src/test/java/io/grpc/services/BinlogHelperTest.java +++ b/services/src/test/java/io/grpc/services/BinlogHelperTest.java @@ -16,7 +16,7 @@ package io.grpc.services; -import static io.grpc.internal.BinaryLogProvider.BYTEARRAY_MARSHALLER; +import static io.grpc.BinaryLogProvider.BYTEARRAY_MARSHALLER; import static io.grpc.services.BinlogHelper.DUMMY_SOCKET; import static io.grpc.services.BinlogHelper.getPeerSocket; import static org.junit.Assert.assertEquals; @@ -31,6 +31,8 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import com.google.common.primitives.Bytes; import com.google.protobuf.ByteString; import io.grpc.Attributes; +import io.grpc.BinaryLogProvider; +import io.grpc.BinaryLogProvider.CallId; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; @@ -47,8 +49,6 @@ import io.grpc.binarylog.MetadataEntry; import io.grpc.binarylog.Peer; import io.grpc.binarylog.Peer.PeerType; import io.grpc.binarylog.Uint128; -import io.grpc.internal.BinaryLogProvider; -import io.grpc.internal.BinaryLogProvider.CallId; import io.grpc.internal.NoopClientCall; import io.grpc.internal.NoopServerCall; import io.grpc.services.BinlogHelper.FactoryImpl; diff --git a/services/src/test/java/io/grpc/services/internal/CensusBinaryLogProviderTest.java b/services/src/test/java/io/grpc/services/CensusBinaryLogProviderTest.java index 4c0b37d35..09d5b5903 100644 --- a/services/src/test/java/io/grpc/services/internal/CensusBinaryLogProviderTest.java +++ b/services/src/test/java/io/grpc/services/CensusBinaryLogProviderTest.java @@ -14,16 +14,17 @@ * limitations under the License. */ -package io.grpc.services.internal; +package io.grpc.services; import static com.google.common.truth.Truth.assertThat; import static io.opencensus.trace.unsafe.ContextUtils.CONTEXT_SPAN_KEY; +import io.grpc.BinaryLogProvider; +import io.grpc.BinaryLogProvider.CallId; import io.grpc.CallOptions; import io.grpc.Context; -import io.grpc.internal.BinaryLogProvider; -import io.grpc.internal.BinaryLogProvider.CallId; import io.grpc.internal.testing.StatsTestUtils.MockableSpan; +import io.grpc.services.CensusBinaryLogProvider; import java.nio.ByteBuffer; import java.util.Random; import org.junit.Test; |