Logo
~Sockets~
~Examples~
~Contact~


ResolvServer Class Reference
[Asynchronous DNS]

Async DNS resolver thread. More...

#include <ResolvServer.h>

Inheritance diagram for ResolvServer:

Inheritance graph
[legend]
Collaboration diagram for ResolvServer:

Collaboration graph
[legend]
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 44 of file ResolvServer.h.


Constructor & Destructor Documentation

ResolvServer::ResolvServer ( port_t   ) 

Definition at line 45 of file ResolvServer.cpp.

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

ResolvServer::~ResolvServer (  ) 

Definition at line 54 of file ResolvServer.cpp.

00055 {
00056 }

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

Definition at line 56 of file ResolvServer.h.

00056 {} // copy constructor


Member Function Documentation

void ResolvServer::Run (  )  [virtual]

Implements Thread.

Definition at line 59 of file ResolvServer.cpp.

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

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

void ResolvServer::Quit (  ) 

Definition at line 80 of file ResolvServer.cpp.

References m_quit.

00081 {
00082         m_quit = true;
00083 }

bool ResolvServer::Ready (  ) 

Definition at line 86 of file ResolvServer.cpp.

References m_ready.

00087 {
00088         return m_ready;
00089 }

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

Definition at line 57 of file ResolvServer.h.

00057 { return *this; } // assignment operator


Member Data Documentation

bool ResolvServer::m_quit [private]

Definition at line 59 of file ResolvServer.h.

Referenced by Quit(), and Run().

Definition at line 60 of file ResolvServer.h.

Referenced by Run().

bool ResolvServer::m_ready [private]

Definition at line 61 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