Esempio n. 1
0
TaskData
TasksQueue::getTaskForProcessing()
{
    QMutexLocker locker( &m_mutex );

    if ( m_readyTasksCollection.empty() )
        return TaskData();

    TaskData taskData( m_readyTasksCollection.begin()->second );
    m_readyTasksCollection.erase( m_readyTasksCollection.begin() );

    return taskData;

} // TasksQueue::getTaskForProcessing
Esempio n. 2
0
QString
TasksQueue::pushDelayedTask( RunnableFunction _function, const Tools::Core::Time::Milliseconds _delay )
{
    QMutexLocker locker( &m_mutex );

    const QString taskId( QUuid::createUuid().toString() );

    TaskData taskData( _function, _delay );

    taskData.m_lastStart = Tools::Core::Time::currentTime();

    m_delayedTasksCollection.insert( std::make_pair( taskId, taskData ) );

    return taskId;

} // TasksQueue::pushDelayedTask
Esempio n. 3
0
bool
CPing::Start( const TStringVector& remoteHosts          ,
              const Int32 maxPings /* = 0 */            ,
              const UInt32 bytesToSend /* = 32 */       ,
              const UInt32 timeout /* = 1000 */         ,
              const UInt32 minimalPingDelta /* = 500 */ )
{GUCEF_TRACE;

    if ( !m_isActive && ( remoteHosts.size() > 0 ) )
    {
        m_remoteHosts = remoteHosts;
        m_maxPings = maxPings;
        m_timeout = timeout;
        m_bytesToSend = bytesToSend;
        m_minimalPingDelta = minimalPingDelta;

        CPingTaskConsumer::CPingTaskData taskData( remoteHosts, maxPings, bytesToSend, timeout, minimalPingDelta );
        return CORE::CCoreGlobal::Instance()->GetTaskManager().StartTask( m_pingTaskConsumer ,
                                                                          &taskData          );
    }
    return false;
}