Skip to content

Commit bbf3422

Browse files
committed
refactor(rivetkit-core): remove prevent_sleep field and deprecate set_prevent_sleep to no-op
1 parent 60f90fe commit bbf3422

5 files changed

Lines changed: 14 additions & 27 deletions

File tree

rivetkit-rust/packages/rivetkit-core/src/actor/context.rs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ pub(crate) struct ActorContextInner {
128128
pub(super) sleep: SleepState,
129129
activity: ActivityState,
130130
pending_disconnect_count: AtomicUsize,
131-
prevent_sleep: AtomicBool,
132131
sleep_requested: AtomicBool,
133132
destroy_requested: AtomicBool,
134133
destroy_completed: AtomicBool,
@@ -291,7 +290,6 @@ impl ActorContext {
291290
sleep,
292291
activity: ActivityState::default(),
293292
pending_disconnect_count: AtomicUsize::new(0),
294-
prevent_sleep: AtomicBool::new(false),
295293
sleep_requested: AtomicBool::new(false),
296294
destroy_requested: AtomicBool::new(false),
297295
destroy_completed: AtomicBool::new(false),
@@ -447,20 +445,15 @@ impl ActorContext {
447445
self.0.abort_signal.is_cancelled()
448446
}
449447

450-
/// Prevents the actor from entering sleep while enabled.
451-
///
452-
/// Shutdown drain loops continue polling until this is cleared or the
453-
/// configured grace deadline is reached.
454-
pub fn set_prevent_sleep(&self, enabled: bool) {
455-
let previous = self.0.prevent_sleep.swap(enabled, Ordering::SeqCst);
456-
if previous != enabled {
457-
self.notify_prevent_sleep_changed();
458-
self.reset_sleep_timer();
459-
}
460-
}
448+
/// Deprecated no-op. Use `keep_awake` to hold the actor awake for the
449+
/// duration of a future, or `wait_until` to keep work alive across the
450+
/// sleep grace period. Retained only for NAPI bridge compatibility.
451+
#[deprecated(note = "no-op: use `keep_awake` or `wait_until` instead")]
452+
pub fn set_prevent_sleep(&self, _enabled: bool) {}
461453

454+
#[deprecated(note = "no-op: always returns false")]
462455
pub fn prevent_sleep(&self) -> bool {
463-
self.0.prevent_sleep.load(Ordering::SeqCst)
456+
false
464457
}
465458

466459
pub fn wait_until(&self, future: impl Future<Output = ()> + Send + 'static) {

rivetkit-rust/packages/rivetkit-core/src/actor/sleep.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ pub(crate) struct SleepState {
4949
pub(crate) enum CanSleep {
5050
Yes,
5151
NotReady,
52-
PreventSleep,
5352
NoSleep,
5453
ActiveHttpRequests,
5554
ActiveKeepAwake,
@@ -227,9 +226,6 @@ impl ActorContext {
227226
{
228227
return CanSleep::NotReady;
229228
}
230-
if self.prevent_sleep() {
231-
return CanSleep::PreventSleep;
232-
}
233229
if config.no_sleep {
234230
return CanSleep::NoSleep;
235231
}
@@ -268,7 +264,6 @@ impl ActorContext {
268264
&& self.active_http_request_count() == 0
269265
&& self.websocket_callback_count() == 0
270266
&& self.pending_disconnect_count() == 0
271-
&& !self.prevent_sleep()
272267
}
273268

274269
/// Spawn the fallback sleep timer used by `ActorContext`s that are not
@@ -379,7 +374,7 @@ impl ActorContext {
379374

380375
let shutdown_count = self.shutdown_task_count();
381376
let websocket_count = self.websocket_callback_count();
382-
if shutdown_count == 0 && websocket_count == 0 && !self.prevent_sleep() {
377+
if shutdown_count == 0 && websocket_count == 0 {
383378
return true;
384379
}
385380

@@ -520,11 +515,6 @@ impl ActorContext {
520515
.unwrap_or(0)
521516
}
522517

523-
pub(crate) fn notify_prevent_sleep_changed(&self) {
524-
self.0.sleep.work.prevent_sleep_notify.notify_waiters();
525-
self.reset_sleep_timer();
526-
}
527-
528518
pub(crate) fn sleep_activity_notify(&self) -> Arc<Notify> {
529519
self.0.sleep.work.activity_notify.clone()
530520
}

rivetkit-rust/packages/rivetkit-core/src/actor/work_registry.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ pub(crate) struct WorkRegistry {
2222
/// counters like the envoy HTTP request counter whose increments happen
2323
/// outside rivetkit-core.
2424
pub(crate) activity_notify: Arc<Notify>,
25-
pub(crate) prevent_sleep_notify: Arc<Notify>,
2625
pub(crate) teardown_started: AtomicBool,
2726
}
2827

@@ -45,7 +44,6 @@ impl WorkRegistry {
4544
shutdown_tasks: Mutex::new(JoinSet::new()),
4645
idle_notify,
4746
activity_notify: Arc::new(Notify::new()),
48-
prevent_sleep_notify: Arc::new(Notify::new()),
4947
teardown_started: AtomicBool::new(false),
5048
}
5149
}

rivetkit-rust/packages/rivetkit/src/context.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,15 @@ impl<A: Actor> Ctx<A> {
9595
self.inner.destroy();
9696
}
9797

98+
#[deprecated(note = "no-op: use `keep_awake` or `wait_until` instead")]
9899
pub fn set_prevent_sleep(&self, enabled: bool) {
100+
#[allow(deprecated)]
99101
self.inner.set_prevent_sleep(enabled);
100102
}
101103

104+
#[deprecated(note = "no-op: always returns false")]
102105
pub fn prevent_sleep(&self) -> bool {
106+
#[allow(deprecated)]
103107
self.inner.prevent_sleep()
104108
}
105109

rivetkit-typescript/packages/rivetkit-napi/src/actor_context.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,11 +451,13 @@ impl ActorContext {
451451
}
452452

453453
#[napi]
454+
#[allow(deprecated)]
454455
pub fn set_prevent_sleep(&self, prevent_sleep: bool) {
455456
self.inner.set_prevent_sleep(prevent_sleep);
456457
}
457458

458459
#[napi]
460+
#[allow(deprecated)]
459461
pub fn prevent_sleep(&self) -> bool {
460462
self.inner.prevent_sleep()
461463
}

0 commit comments

Comments
 (0)