vdr 2.8.3
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 2786 of file svdrp.c.

Constructor & Destructor Documentation

◆ cSVDRPServerHandler()

cSVDRPServerHandler::cSVDRPServerHandler ( int TcpPort)

Definition at line 2803 of file svdrp.c.

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

Referenced by StartSVDRPHandler().

◆ ~cSVDRPServerHandler()

cSVDRPServerHandler::~cSVDRPServerHandler ( )
overridevirtual

Definition at line 2810 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 2844 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 2817 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 2788 of file svdrp.c.

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

◆ serverConnections

cVector<cSVDRPServer *> cSVDRPServerHandler::serverConnections
private

Definition at line 2790 of file svdrp.c.

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

◆ tcpSocket

cSocket cSVDRPServerHandler::tcpSocket
private

Definition at line 2789 of file svdrp.c.

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


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