Logo
~Sockets~
~Examples~
~Contact~


ResolvServer Class Reference
[Asynchronous DNS]

Async DNS resolver thread. More...

#include <ResolvServer.h>

Inheritance diagram for ResolvServer:
Collaboration diagram for ResolvServer:

List of all members.


Public Member Functions

 ResolvServer (port_t)
 ~ResolvServer ()
void Run ()
void Quit ()
bool Ready ()

Private Member Functions

 ResolvServer (const ResolvServer &)
ResolvServeroperator= (const ResolvServer &)

Private Attributes

bool m_quit
port_t m_port
bool m_ready

Detailed Description

Async DNS resolver thread.

Definition at line 46 of file ResolvServer.h.


Constructor & Destructor Documentation

ResolvServer::ResolvServer ( port_t  port  ) 

Definition at line 47 of file ResolvServer.cpp.

00048 :Thread()
00049 ,m_quit(false)
00050 ,m_port(port)
00051 ,m_ready(false)
00052 {
00053 }

ResolvServer::~ResolvServer (  ) 

Definition at line 56 of file ResolvServer.cpp.

00057 {
00058 }

ResolvServer::ResolvServer ( const ResolvServer  )  [inline, private]

Definition at line 58 of file ResolvServer.h.

00058 {} // copy constructor


Member Function Documentation

void ResolvServer::Run (  )  [virtual]

Implements Thread.

Definition at line 61 of file ResolvServer.cpp.

References SocketHandler::Add(), ListenSocket< X >::Bind(), Thread::IsRunning(), m_port, m_quit, m_ready, SocketHandler::Select(), and Thread::SetRunning().

00062 {
00063 //      StdoutLog log;
00064         SocketHandler h;
00065         ListenSocket<ResolvSocket> l(h);
00066 
00067         if (l.Bind("127.0.0.1", m_port))
00068         {
00069                 return;
00070         }
00071         h.Add(&l);
00072 
00073         m_ready = true;
00074         while (!m_quit && IsRunning() )
00075         {
00076                 h.Select(0, 500000);
00077         }
00078         SetRunning(false);
00079 }

void ResolvServer::Quit (  ) 

Definition at line 82 of file ResolvServer.cpp.

References m_quit.

00083 {
00084         m_quit = true;
00085 }

bool ResolvServer::Ready (  ) 

Definition at line 88 of file ResolvServer.cpp.

References m_ready.

00089 {
00090         return m_ready;
00091 }

ResolvServer& ResolvServer::operator= ( const ResolvServer  )  [inline, private]

Definition at line 59 of file ResolvServer.h.

00059 { return *this; } // assignment operator


Member Data Documentation

bool ResolvServer::m_quit [private]

Definition at line 61 of file ResolvServer.h.

Referenced by Quit(), and Run().

Definition at line 62 of file ResolvServer.h.

Referenced by Run().

bool ResolvServer::m_ready [private]

Definition at line 63 of file ResolvServer.h.

Referenced by Ready(), and Run().


The documentation for this class was generated from the following files:
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4