vdr 2.8.4
cSVDRPServerHandler Class Reference

Public Member Functions

 cSVDRPServerHandler (int TcpPort)
virtual ~cSVDRPServerHandler () override
void WaitUntilReady (void)
Public Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
virtual ~cThread ()
void SetDescription (const char *Description,...) __attribute__((format(printf
void bool Start (void)
bool Active (void)

Protected Member Functions

virtual void Action (void) override
Protected Member Functions inherited from cThread
void SetPriority (int Priority)
void SetIOPriority (int Priority)
void Lock (void)
void Unlock (void)
bool Running (void)
void Cancel (int WaitSeconds=0)

Private Member Functions

void HandleServerConnection (void)
void ProcessConnections (void)

Private Attributes

std::atomic< bool > ready
cSocket tcpSocket
cVector< cSVDRPServer * > serverConnections

Additional Inherited Members

Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
static tThreadId IsMainThread (void)
static void SetMainThreadId (void)

Detailed Description

Definition at line 2787 of file svdrp.c.

Constructor & Destructor Documentation

◆ cSVDRPServerHandler()

cSVDRPServerHandler::cSVDRPServerHandler ( int TcpPort)

Definition at line 2804 of file svdrp.c.

References cThread::cThread(), ready, and tcpSocket.

Referenced by StartSVDRPHandler().

◆ ~cSVDRPServerHandler()

cSVDRPServerHandler::~cSVDRPServerHandler ( )
overridevirtual

Definition at line 2811 of file svdrp.c.

References cThread::Cancel(), serverConnections, and cVector< T >::Size().

Member Function Documentation

◆ Action()

void cSVDRPServerHandler::Action ( void )
overrideprotectedvirtual

A derived cThread class must implement the code it wants to execute as a separate thread in this function.

If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 2845 of file svdrp.c.

References cPoller::Add(), cSocket::Close(), cPoller::Del(), HandleServerConnection(), cSocket::Listen(), cPoller::Poll(), ProcessConnections(), ready, cThread::Running(), cSocket::Socket(), SVDRPServerPoller, and tcpSocket.

◆ HandleServerConnection()

void cSVDRPServerHandler::HandleServerConnection ( void )
private

◆ ProcessConnections()

void cSVDRPServerHandler::ProcessConnections ( void )
private

◆ WaitUntilReady()

void cSVDRPServerHandler::WaitUntilReady ( void )

Definition at line 2818 of file svdrp.c.

References ready, cCondWait::SleepMs(), and cTimeMs::TimedOut().

Referenced by StartSVDRPHandler().

Member Data Documentation

◆ ready

std::atomic<bool> cSVDRPServerHandler::ready
private

Definition at line 2789 of file svdrp.c.

Referenced by Action(), cSVDRPServerHandler(), and WaitUntilReady().

◆ serverConnections

cVector<cSVDRPServer *> cSVDRPServerHandler::serverConnections
private

Definition at line 2791 of file svdrp.c.

Referenced by HandleServerConnection(), ProcessConnections(), and ~cSVDRPServerHandler().

◆ tcpSocket

cSocket cSVDRPServerHandler::tcpSocket
private

Definition at line 2790 of file svdrp.c.

Referenced by Action(), cSVDRPServerHandler(), and HandleServerConnection().


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