Return TypeFunction nameArguments
voidhzIpServer::ServeResponses(void)

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

Function Logic:

0:START 1:unknown 2:items items 3:unknown 4:pCC 5:unknown 6:items 7:unknown 8:unknown 9:pCC 10:unknown 11:items 12:unknown 13:items 14:items 15:items 16: No text

Function body:

void hzIpServer::ServeResponses (void)
{
   _hzfunc("hzIpServer::ServeResponses") ;
   hzList<hzIpConnex*>     lc ;    //  List of connections with outgoing matter remaining
   hzList<hzIpConnex*>::Iter   ic ;    //  List iterator of connections with outgoing matter remaining
   hzPacket        tbuf ;              //  Fixed buffer for single IP packet
   hzIpConnex* pCC ;               //  Connected client
   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() ;
               //  Write out
               if (pCC->_isxmit())
               {
                   pCC->_xmit(tbuf) ;
                   if (!pCC->_isxmit())
                   {
                       ic.Delete() ;
                       continue ;
                   }
               }
               ic++ ;
           }
       }
       pthread_mutex_unlock(&s_response_mutex);
   }
}