(file) Return to CIMListener.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Listener

Diff for /pegasus/src/Pegasus/Listener/CIMListener.cpp between version 1.46.4.3 and 1.47

version 1.46.4.3, 2008/01/09 05:55:52 version 1.47, 2007/03/16 17:16:55
Line 118 
Line 118 
     SSLContext *_sslContext;     SSLContext *_sslContext;
     Monitor *_monitor;     Monitor *_monitor;
     Mutex _monitorMutex;     Mutex _monitorMutex;
     HTTPAcceptor *_ip6Acceptor;      HTTPAcceptor *_acceptor;
     HTTPAcceptor *_ip4Acceptor;  
     Boolean _dieNow;     Boolean _dieNow;
     CIMListenerIndicationDispatcher *_dispatcher;     CIMListenerIndicationDispatcher *_dispatcher;
     CIMExportResponseEncoder *_responseEncoder;     CIMExportResponseEncoder *_responseEncoder;
Line 133 
Line 132 
     _portNumber(portNumber),     _portNumber(portNumber),
     _sslContext(sslContext),     _sslContext(sslContext),
     _monitor(NULL),     _monitor(NULL),
     _ip6Acceptor(NULL),      _acceptor(NULL),
     _ip4Acceptor(NULL),  
     _dieNow(false),     _dieNow(false),
     _dispatcher(NULL),     _dispatcher(NULL),
     _responseEncoder(NULL),     _responseEncoder(NULL),
Line 146 
Line 144 
     _portNumber(svc._portNumber),     _portNumber(svc._portNumber),
     _sslContext(svc._sslContext),     _sslContext(svc._sslContext),
     _monitor(NULL),     _monitor(NULL),
     _ip6Acceptor(NULL),      _acceptor(NULL),
     _ip4Acceptor(NULL),  
     _dieNow(svc._dieNow),     _dieNow(svc._dieNow),
     _dispatcher(NULL),     _dispatcher(NULL),
     _responseEncoder(NULL),     _responseEncoder(NULL),
Line 159 
Line 156 
 { {
     delete _responseEncoder;     delete _responseEncoder;
     delete _requestDecoder;     delete _requestDecoder;
     delete _ip6Acceptor;      delete _acceptor;
     delete _ip4Acceptor;  
     delete _monitor;     delete _monitor;
 } }
  
Line 181 
Line 177 
         _requestDecoder = new CIMExportRequestDecoder(         _requestDecoder = new CIMExportRequestDecoder(
             _dispatcher, _responseEncoder->getQueueId());             _dispatcher, _responseEncoder->getQueueId());
     }     }
 #ifdef PEGASUS_ENABLE_IPV6  
     if (System::isIPv6StackActive())      if (NULL == _acceptor)
     {  
         if (NULL == _ip6Acceptor)  
         {  
             _ip6Acceptor = new HTTPAcceptor(  
                 _monitor, _requestDecoder, HTTPAcceptor::IPV6_CONNECTION,  
                 _portNumber, _sslContext, false);  
         }  
     }  
 #ifndef PEGASUS_OS_TYPE_WINDOWS  
     else  
 #endif  
 #endif  
     if (NULL == _ip4Acceptor)  
     {     {
         _ip4Acceptor = new HTTPAcceptor(          _acceptor = new HTTPAcceptor(
             _monitor, _requestDecoder, HTTPAcceptor::IPV4_CONNECTION,              _monitor, _requestDecoder, false, _portNumber, _sslContext, false);
             _portNumber, _sslContext, false);  
     }     }
   
     bind();     bind();
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
Line 208 
Line 191 
  
 void CIMListenerService::bind() void CIMListenerService::bind()
 { {
     if (_ip6Acceptor != NULL)      if (_acceptor != NULL)
     {     {
         _ip6Acceptor->bind();          _acceptor->bind();
  
         Logger::put(         Logger::put(
             Logger::STANDARD_LOG,             Logger::STANDARD_LOG,
             System::CIMLISTENER,             System::CIMLISTENER,
             Logger::INFORMATION,             Logger::INFORMATION,
             "IPV6, Listening on HTTP port $0.",              "Listening on HTTP port $0.",
             _portNumber);  
     }  
     if (_ip4Acceptor != NULL)  
     {  
         _ip4Acceptor->bind();  
   
         Logger::put(  
             Logger::STANDARD_LOG,  
             System::CIMLISTENER,  
             Logger::INFORMATION,  
             "IPV4, Listening on HTTP for port $0.",  
             _portNumber);             _portNumber);
     }     }
 } }
Line 275 
Line 247 
 void CIMListenerService::resume() void CIMListenerService::resume()
 { {
     PEG_METHOD_ENTER(TRC_LISTENER, "CIMListenerService::resume()");     PEG_METHOD_ENTER(TRC_LISTENER, "CIMListenerService::resume()");
     if (_ip6Acceptor != NULL)  
     {      if (_acceptor != NULL)
         _ip6Acceptor->reopenConnectionSocket();          _acceptor->reopenConnectionSocket();
     }  
     if (_ip4Acceptor != NULL)  
     {  
         _ip4Acceptor->reopenConnectionSocket();  
     }  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
 } }
  
Line 294 
Line 262 
  
     // tell Monitor to stop listening for client connections     // tell Monitor to stop listening for client connections
     _monitor->stopListeningForConnections(true);     _monitor->stopListeningForConnections(true);
     if (_ip6Acceptor != NULL)  
     {  
         _ip6Acceptor->closeConnectionSocket();  
     }  
     if (_ip4Acceptor != NULL)  
     {  
         _ip4Acceptor->closeConnectionSocket();  
     }  
     PEG_METHOD_EXIT();  
 }  
  
 Uint32 CIMListenerService::getOutstandingRequestCount()      if (_acceptor != NULL)
 {          _acceptor->closeConnectionSocket();
     Uint32 cnt = 0;  
  
     if (_ip6Acceptor)      PEG_METHOD_EXIT();
     {  
         cnt = _ip6Acceptor->getOutstandingRequestCount();  
     }     }
  
     if (_ip4Acceptor)  Uint32 CIMListenerService::getOutstandingRequestCount()
     {     {
         cnt += _ip4Acceptor->getOutstandingRequestCount();      return _acceptor->getOutstandingRequestCount();
     }  
   
     return cnt;  
 } }
  
 CIMListenerIndicationDispatcher* CIMListenerIndicationDispatcher*
Line 338 
Line 290 
 { {
     Uint32 portNumber = _portNumber;     Uint32 portNumber = _portNumber;
  
     if ((portNumber == 0) && (_ip6Acceptor != 0))      if ((portNumber == 0) && (_acceptor != 0))
     {  
         portNumber = _ip6Acceptor->getPortNumber();  
     }  
     else if ((portNumber == 0) && (_ip4Acceptor != 0))  
     {     {
         portNumber = _ip4Acceptor->getPortNumber();          portNumber = _acceptor->getPortNumber();
     }     }
  
     return (portNumber);     return (portNumber);


Legend:
Removed from v.1.46.4.3  
changed lines
  Added in v.1.47

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2