From 957c11b9715ea527817fcd47680fab87a956a89a Mon Sep 17 00:00:00 2001
From: Peter Veentjer <alarmnummer@gmail.com>
Date: Tue, 14 Jan 2025 13:43:31 +0200
Subject: [PATCH] Adds a new convenience constructor to SleepingIdleStrategy.

The new constructor accepts a TimeUnit.
---
 .../org/agrona/concurrent/SleepingIdleStrategy.java  | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java b/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java
index 90ad1b92e..c747a9bb2 100644
--- a/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java
+++ b/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java
@@ -15,6 +15,7 @@
  */
 package org.agrona.concurrent;
 
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.LockSupport;
 
 /**
@@ -54,6 +55,17 @@ public SleepingIdleStrategy(final long sleepPeriodNs)
         this.sleepPeriodNs = sleepPeriodNs;
     }
 
+    /**
+     * Constructed a new strategy that will sleep for a given period when idle.
+     *
+     * @param sleepPeriod the period for which the strategy will sleep when work count is 0.
+     * @param timeUnit the timeunit of the sleepPeriod.
+     */
+    public SleepingIdleStrategy(final long sleepPeriod, final TimeUnit timeUnit)
+    {
+        this(timeUnit.toNanos(sleepPeriod));
+    }
+
     /**
      * {@inheritDoc}
      */