Non-Hibernating Model
Client connects
DO accepts WebSocket
DO remains active while connection stays open
In the normal model, an accepted connection can keep the Durable Object awake in memory even during long periods of silence.
User is connected
-> DO is awake
-> duration billing continues
Hibernating Model
Client remains connected
DO can sleep when idle
DO wakes when message or event arrives
The important change is that the connection lifetime and the compute lifetime become separable.
User is connected
-> DO can sleep
-> no duration billing while hibernated
-> event arrives
-> DO wakes and handles it