Пример #1
0
    void HttpInterface::run()
    {
        do
        {
            sendAvailableResponses();
			pingNetwork();
            if (!run2s())
				break;
            if (verbose && streamsToShutdown.size() > 0)
            {
                cerr << "HttpInterface::run "<< streamsToShutdown.size() <<" streams to shut down";
                for (std::set<Dashel::Stream*>::iterator si = streamsToShutdown.begin(); si != streamsToShutdown.end(); si++)
                    cerr << " " << *si;
                cerr << endl;
            }
            if (!streamsToShutdown.empty())
            {
                std::set<Dashel::Stream*>::iterator i = streamsToShutdown.begin();
                Dashel::Stream* stream_to_shutdown = *i;
                streamsToShutdown.erase(*i); // invalidates iterator
                try
                {
                    if (verbose)
                        cerr << stream_to_shutdown << " shutting down stream" << endl;
                    shutdownStream(stream_to_shutdown);
                }
                catch(Dashel::DashelException& e)
                { }
            }
        } while (iterations-- != 0 and asebaStream != 0);
        for (StreamResponseQueueMap::iterator i = pendingResponses.begin(); i != pendingResponses.end(); i++)
            unscheduleAllResponses(i->first);
    }
Пример #2
0
	void AsebaNetworkInterface::PingNetwork()
	{
		pingNetwork();
	}