Пример #1
0
AOSDatabaseConnectionPool::AOSDatabaseConnectionPool(AOSServices& services) :
  m_Services(services),
  mp_DatabasePool(NULL),
  m_isInitialized(false)
{
  adminRegisterObject(m_Services.useAdminRegistry());
}
Пример #2
0
AOSContextQueue_ErrorExecutor::AOSContextQueue_ErrorExecutor(
  AOSServices& services,
  size_t threadCount,              // = 3
  size_t queueCount                // = 2
) :
  AOSContextQueueThreadPool_RoundRobinSwarm(services, threadCount, queueCount)
{
  useThreadPool().setThis(this);
  adminRegisterObject(m_Services.useAdminRegistry());
}
Пример #3
0
AOSContextQueue_IsAvailable::AOSContextQueue_IsAvailable(
  AOSServices& services,
  size_t queueCount  // = 1
) :
  AOSContextQueueInterface(services),
  m_queueCount(queueCount),
  m_currentQueue(0)
{
  m_Queues.resize(m_queueCount);
  for (size_t i=0; i<m_queueCount; ++i)
    m_Queues.at(i) = new AOSContextQueue_IsAvailable::QueueWithThread();

  m_NoDataTimeout = m_Services.useConfiguration().getConfigRoot().getInt(ASW("/config/server/context-queue/is-available/no-data-timeout",57), 60000);
  m_EmptyQueueDelay = m_Services.useConfiguration().getConfigRoot().getInt(ASW("/config/server/context-queue/is-available/empty-queue-sleep-delay",65), 20);
  m_LoopDelay = m_Services.useConfiguration().getConfigRoot().getInt(ASW("/config/server/context-queue/is-available/loop-delay",52), 5);

  adminRegisterObject(services.useAdminRegistry());
}
Пример #4
0
AOSContextManager::AOSContextManager(AOSServices& services) :
  m_Services(services),
  m_History(new ASync_CriticalSection()),
  m_ErrorHistory(new ASync_CriticalSection()),
  m_FreeStore(new ASync_CriticalSectionSpinLock())
{
  m_HistoryMaxSize = services.useConfiguration().useConfigRoot().getInt("/config/server/context-manager/history-maxsize", 100);
  m_ErrorHistoryMaxSize = services.useConfiguration().useConfigRoot().getInt("/config/server/context-manager/error-history-maxsize", 100);
  m_DefaultEventLogLevel = services.useConfiguration().useConfigRoot().getInt("/config/server/context-manager/log-level", 2);
  AASSERT(this, m_DefaultEventLogLevel >= AEventVisitor::EL_NONE && m_DefaultEventLogLevel <= AEventVisitor::EL_DEBUG);
  m_FreeStoreMaxSize = services.useConfiguration().useConfigRoot().getInt("/config/server/context-manager/freestore/max-size", 500);
  size_t freeStoreInitialSize = services.useConfiguration().useConfigRoot().getInt("/config/server/context-manager/freestore/initial-size", 100);
  AASSERT(this, freeStoreInitialSize <= m_FreeStoreMaxSize && freeStoreInitialSize >= 0);

  m_Queues.resize(AOSContextManager::STATE_LAST, NULL);

  for (int i=0; i<freeStoreInitialSize; ++i)
  {
    m_FreeStore.pushBack(new AOSContext(NULL, m_Services));
  }

  adminRegisterObject(m_Services.useAdminRegistry());
}
Пример #5
0
AOSOutputExecutor::AOSOutputExecutor(AOSServices& services) :
  m_Services(services)
{
  adminRegisterObject(m_Services.useAdminRegistry());
}