diff --git a/src/base/sat_counter.hh b/src/base/sat_counter.hh
index 3de9486..6aeca68 100644
--- a/src/base/sat_counter.hh
+++ b/src/base/sat_counter.hh
@@ -235,6 +235,18 @@
      */
     bool isSaturated() const { return counter == maxVal; }
 
+    /**
+     * Saturate the counter.
+     *
+     * @return The value added to the counter to reach saturation.
+     */
+    uint8_t saturate()
+    {
+        const uint8_t diff = maxVal - counter;
+        counter = maxVal;
+        return diff;
+    }
+
   private:
     uint8_t initialVal;
     uint8_t maxVal;
diff --git a/src/base/sat_counter.test.cc b/src/base/sat_counter.test.cc
index dbdaf0a..817f2c7 100644
--- a/src/base/sat_counter.test.cc
+++ b/src/base/sat_counter.test.cc
@@ -97,6 +97,23 @@
 }
 
 /**
+ * Test abrupt saturation.
+ */
+TEST(SatCounterTest, Saturate)
+{
+    const unsigned bits = 3;
+    const unsigned max_value = (1 << bits) - 1;
+    SatCounter counter(bits);
+    counter++;
+    ASSERT_FALSE(counter.isSaturated());
+
+    // Make sure the value added is what was missing to saturate
+    const unsigned diff = counter.saturate();
+    ASSERT_EQ(diff, max_value - 1);
+    ASSERT_TRUE(counter.isSaturated());
+}
+
+/**
  * Test back and forth against an int.
  */
 TEST(SatCounterTest, IntComparison)
