From 1281083b32cafdc793009de41ced5a3d1330b77d Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 16 Jun 2023 09:55:09 +0100 Subject: [PATCH] fix sign in code to generate a random signed short (#402) * fix sign in code to generate a random signed short * Update IdGenerator.scala * Update IdGenerator.scala --- .../main/scala/org/apache/pekko/io/dns/IdGenerator.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/actor/src/main/scala/org/apache/pekko/io/dns/IdGenerator.scala b/actor/src/main/scala/org/apache/pekko/io/dns/IdGenerator.scala index da4cda3da3..0d6cea0251 100644 --- a/actor/src/main/scala/org/apache/pekko/io/dns/IdGenerator.scala +++ b/actor/src/main/scala/org/apache/pekko/io/dns/IdGenerator.scala @@ -30,7 +30,9 @@ private[pekko] trait IdGenerator { */ @InternalApi private[pekko] object IdGenerator { - private val MaxUnsignedShort = 65535 + // Random.nextInt(bound) generates a random int in the range 0 (inclusive) to bound (exclusive), + // so add 1 to Max Unsigned Short (65535) + private val UnsignedShortBound = 65536 sealed trait Policy @@ -57,5 +59,5 @@ private[pekko] object IdGenerator { * @return a random sequence of ids for production */ def random(rand: java.util.Random): IdGenerator = - () => (rand.nextInt(MaxUnsignedShort) - Short.MinValue).toShort + () => (rand.nextInt(UnsignedShortBound) + Short.MinValue).toShort }