Sunshine latest
Self-hosted game stream host for Moonlight.
rtsp_stream::rtsp_server_t Class Reference
Collaboration diagram for rtsp_stream::rtsp_server_t:
[legend]

Public Member Functions

int bind (net::af_e af, std::uint16_t port, boost::system::error_code &ec)
 
void clear (bool all=true)
 Clear launch sessions.
 
void handle_accept (const boost::system::error_code &ec)
 
void handle_msg (tcp::socket &sock, launch_session_t &session, msg_t &&req)
 
void insert (const std::shared_ptr< stream::session_t > &session)
 Inserts the provided session into the set of sessions.
 
template<class T , class X >
void iterate (std::chrono::duration< T, X > timeout)
 
void map (const std::string_view &type, cmd_func_t cb)
 
void remove (const std::shared_ptr< stream::session_t > &session)
 Removes the provided session from the set of sessions.
 
void session_clear (uint32_t launch_session_id)
 Clear state for the oldest launch session.
 
int session_count ()
 Get the number of active sessions.
 
void session_raise (std::shared_ptr< launch_session_t > launch_session)
 Launch a new streaming session.
 

Public Attributes

safe::event_t< std::shared_ptr< launch_session_t > > launch_event
 

Member Function Documentation

◆ clear()

void rtsp_stream::rtsp_server_t::clear ( bool all = true)
inline

Clear launch sessions.

Parameters
allIf true, clear all sessions. Otherwise, only clear timed out and stopped sessions.

Examples

clear(false);
void clear(bool all=true)
Clear launch sessions.
Definition rtsp.cpp:543

◆ insert()

void rtsp_stream::rtsp_server_t::insert ( const std::shared_ptr< stream::session_t > & session)
inline

Inserts the provided session into the set of sessions.

Parameters
sessionThe session to insert.

◆ remove()

void rtsp_stream::rtsp_server_t::remove ( const std::shared_ptr< stream::session_t > & session)
inline

Removes the provided session from the set of sessions.

Parameters
sessionThe session to remove.

◆ session_clear()

void rtsp_stream::rtsp_server_t::session_clear ( uint32_t launch_session_id)
inline

Clear state for the oldest launch session.

Parameters
launch_session_idThe ID of the session to clear.

◆ session_count()

int rtsp_stream::rtsp_server_t::session_count ( )
inline

Get the number of active sessions.

Returns
Count of active sessions.

◆ session_raise()

void rtsp_stream::rtsp_server_t::session_raise ( std::shared_ptr< launch_session_t > launch_session)
inline

Launch a new streaming session.

Note
If the client does not begin streaming within the ping_timeout, the session will be discarded.
Parameters
launch_sessionStreaming session information.

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