Return TypeFunction nameArguments
voidhzIpServer::ServeResponses(void)

Declared in file: hzIpServer.h
Defined in file : hzIpServer.cpp

Function Logic:

0:START 1:!m_bShutdown; 2:pthread_mutex_lock pthread_cond_wait 3:; 4:hzDiode::Pull pCC 5:pCC 6:hzList::Add hzList::Count 7:!lc.Count() 8:ic.Valid(); 9:hzList::Iter::Element pCC hzIpConnex::_isxmit 10:pCC->_isxmit() 11:hzIpConnex::_xmit hzIpConnex::_isxmit 12:!pCC->_isxmit() 13:hzList::Iter::Delete 14:items 15:pthread_mutex_unlock 16: No text

Function body:

void hzIpServer::ServeResponses (void)
{
   _hzfunc("hzIpServer::ServeResponses") ;
   hzList<hzIpConnex*>     lc ;
   hzList<hzIpConnex*>::Iter   ic ;
   hzPacket        tbuf ;
   hzIpConnex* pCC ;
   for (; !m_bShutdown ;)
   {
       pthread_mutex_lock(&s_response_mutex);
       pthread_cond_wait(&s_response_cond, &s_response_mutex);
       for (;;)
       {
           pCC = (hzIpConnex*) s_queResponses.Pull() ;
           if (pCC)
               lc.Add(pCC) ;
           if (!lc.Count())
               break ;
           for (ic = lc ; ic.Valid() ;)
           {
               pCC = ic.Element() ;
               if (pCC->_isxmit())
               {
                   pCC->_xmit(tbuf) ;
                   if (!pCC->_isxmit())
                   {
                       ic.Delete() ;
                       continue ;
                   }
               }
               ic++ ;
           }
       }
       pthread_mutex_unlock(&s_response_mutex);
   }
}