From 973e8bfa2337ed50aad02adfdfe76f118e9b54c0 Mon Sep 17 00:00:00 2001 From: Vladimir Leletko Date: Mon, 13 Aug 2018 06:35:59 +0300 Subject: [PATCH] https://github.com/akka/akka/issues/25429: add direction & throttler instances accessors to ThrottlerTransportAdapter module. add java compile only tests. (#25465) --- .../transport/ThrottlerTransportAdapter.scala | 25 ++++++++++++++++++ .../ThrottlerTransportAdapterTest.java | 26 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 akka-remote/src/test/java/akka/remote/transport/ThrottlerTransportAdapterTest.java diff --git a/akka-remote/src/main/scala/akka/remote/transport/ThrottlerTransportAdapter.scala b/akka-remote/src/main/scala/akka/remote/transport/ThrottlerTransportAdapter.scala index 08bf7a9e4a..9f1bb7cf8c 100644 --- a/akka-remote/src/main/scala/akka/remote/transport/ThrottlerTransportAdapter.scala +++ b/akka-remote/src/main/scala/akka/remote/transport/ThrottlerTransportAdapter.scala @@ -165,6 +165,31 @@ object ThrottlerTransportAdapter { */ def getInstance = this } + + /** + * Java API: get the Direction.Send instance + */ + def sendDirection() = Direction.Send + + /** + * Java API: get the Direction.Receive instance + */ + def receiveDirection() = Direction.Receive + + /** + * Java API: get the Direction.Both instance + */ + def bothDirection() = Direction.Both + + /** + * Java API: get the ThrottleMode.Blackhole instance + */ + def blackholeThrottleMode() = Blackhole + + /** + * Java API: get the ThrottleMode.Unthrottled instance + */ + def unthrottledThrottleMode() = Unthrottled } class ThrottlerTransportAdapter(_wrappedTransport: Transport, _system: ExtendedActorSystem) extends ActorTransportAdapter(_wrappedTransport, _system) { diff --git a/akka-remote/src/test/java/akka/remote/transport/ThrottlerTransportAdapterTest.java b/akka-remote/src/test/java/akka/remote/transport/ThrottlerTransportAdapterTest.java new file mode 100644 index 0000000000..7fbf398dfd --- /dev/null +++ b/akka-remote/src/test/java/akka/remote/transport/ThrottlerTransportAdapterTest.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2018 Lightbend Inc. + */ + +package akka.remote.transport; + +// compile only; verify java interop +public class ThrottlerTransportAdapterTest { + + public void compileThrottlerTransportAdapterDirections() { + acceptDirection(ThrottlerTransportAdapter.bothDirection()); + acceptDirection(ThrottlerTransportAdapter.receiveDirection()); + acceptDirection(ThrottlerTransportAdapter.sendDirection()); + } + + public void compleThrottleMode() { + acceptThrottleMode(ThrottlerTransportAdapter.unthrottledThrottleMode()); + acceptThrottleMode(ThrottlerTransportAdapter.blackholeThrottleMode()); + acceptThrottleMode(new ThrottlerTransportAdapter.TokenBucket(0, 0.0, 0, 0)); + } + + void acceptDirection(ThrottlerTransportAdapter.Direction dir) {} + + void acceptThrottleMode(ThrottlerTransportAdapter.ThrottleMode mode) {} + +}