Orbit Framework
An ultra-modern, asynchronous, cross-platform C++ Web Framework.
Loading...
Searching...
No Matches
server::TimerManager Class Reference

Manages timers for connection timeouts. More...

#include <TimerManager.hpp>

Public Member Functions

 TimerManager ()
 Constructs a TimerManager.
 
uint64_t add_timer (int fd, std::chrono::milliseconds timeout)
 Adds a timer for a given file descriptor.
 
void cancel_timer (uint64_t timer_id)
 Cancels a timer by ID.
 
int get_next_timeout ()
 Gets the time remaining until the next timeout.
 
void handle_expired_timers (std::function< void(int)> on_timeout)
 Processes all expired timers.
 

Detailed Description

Manages timers for connection timeouts.

Constructor & Destructor Documentation

◆ TimerManager()

server::TimerManager::TimerManager ( )
default

Constructs a TimerManager.

Member Function Documentation

◆ add_timer()

uint64_t server::TimerManager::add_timer ( int  fd,
std::chrono::milliseconds  timeout 
)

Adds a timer for a given file descriptor.

Parameters
fdThe file descriptor.
timeoutThe timeout duration.
Returns
The timer ID.

◆ cancel_timer()

void server::TimerManager::cancel_timer ( uint64_t  timer_id)

Cancels a timer by ID.

Parameters
timer_idThe timer ID.

◆ get_next_timeout()

int server::TimerManager::get_next_timeout ( )

Gets the time remaining until the next timeout.

Returns
Milliseconds until the next timeout, or -1 if none.

◆ handle_expired_timers()

void server::TimerManager::handle_expired_timers ( std::function< void(int)>  on_timeout)

Processes all expired timers.

Parameters
on_timeoutCallback invoked for each expired timer with its file descriptor.

The documentation for this class was generated from the following files: