fintp_routingengine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RoutingEngine Class Reference

#include <RoutingEngine.h>

Inheritance diagram for RoutingEngine:

Public Member Functions

 RoutingEngine ()
 
 ~RoutingEngine ()
 
void Start (bool startWatcher=true)
 
void Stop ()
 
pthread_t getCotMonitorThreadId ()
 
pthread_t getRouterThreadId ()
 
bool isRunning () const
 
void ReadApplicationSettings ()
 
void RecoverLastSession () const
 

Static Public Member Functions

static void SetProfileMessageCount (const unsigned int value)
 
static void NotificationCallback (const AbstractWatcher::NotificationObject *notification)
 
static void OnNewJob (const AbstractWatcher::NotificationObject *notification)
 
static void IdleProcess (void)
 
static void PurgeHashes (void)
 
static void ArchiveIdle (void)
 
static WorkItemPool< RoutingJob > & getJobPool ()
 
static WorkItemPool
< RoutingMessage > & 
getMessagePool ()
 
static WorkItemPool
< RoutingJobExecutor > & 
getThreadExecPool ()
 
static string getLiquiditiesSP ()
 
static string getUpdateDateXSLT ()
 
static string getBatchXslt (const string &queue=DEFAULT_QUEUE)
 
static string getBatchSchema ()
 
static string getBatchSchemaNamespace ()
 
static string getBulkReactivateQueue ()
 
static bool hasIBANForLiquidities ()
 
static bool hasIBANPLForLiquidities ()
 
static bool hasCorrForLiquidities ()
 
static bool isDuplicateDetectionActive ()
 
static bool isIdleArchivingActive ()
 
static int getDuplicateDetectionTimeout ()
 
static bool shouldCheckDuplicates (const string &service)
 
static RoutingSchemagetRoutingSchema ()
 
static RoutingKeywordCollection getRoutingKeywords ()
 
static RoutingKeywordMappings * getRoutingMappings ()
 
static bool getRoutingIsoMessageType (const string &messageType)
 
static bool shouldTrackMessages ()
 

Public Attributes

AppSettings GlobalSettings
 

Static Public Attributes

static RoutingEngineTheRoutingEngine = NULL
 

Private Member Functions

void LoadKeywords ()
 
void LoadMappings ()
 

Static Private Member Functions

static void * ThreadPoolWatcher (void *data)
 
static void * RouterRoutine (void *data)
 
static void * COTMonitor (void *data)
 
static void CreateKeys ()
 
static void DeleteSchema (void *data)
 

Private Attributes

bool m_Running
 
string m_LiquiditiesSP
 
string m_UpdateDateXSLT
 
map< string, string > m_BatchXSLT
 
string m_BatchSchema
 
string m_BatchSchemaNamespace
 
string m_BulkReactivateQueue
 
pthread_t m_CotThreadId
 
pthread_t m_RouterThreadId
 
pthread_t m_BMThreadId
 
DbWatcher m_Watcher
 
WorkItemPool< RoutingMessagem_MessagePool
 
WorkItemPool< RoutingJobm_JobPool
 
WorkItemPool< RoutingJobExecutorm_ThreadExecPool
 
bool m_LiquiditiesHasIBAN
 
bool m_LiquiditiesHasIBANPL
 
bool m_LiquiditiesHasCorresps
 
bool m_DuplicateDetectionActive
 
bool m_IdleArchivingActive
 
int m_DuplicateDetectionTimeout
 
bool m_TrackMessages
 

Static Private Attributes

static RoutingSchema DefaultSchema
 
static RoutingKeywordMappings KeywordMappings
 
static RoutingIsoMessageTypes IsoMessageTypes
 
static RoutingKeywordCollection Keywords
 
static unsigned int m_ProfileMessageCount = 0
 
static unsigned int m_CotDelay = 300
 
static int m_ParallelJobs = -1
 
static bool m_ShouldStop = false
 
static RoutingCOTMarker m_ActiveCotMarker
 
static RoutingCOTMarker m_PreviousCotMarker
 
static pthread_mutex_t m_CotMarkersMutex = PTHREAD_MUTEX_INITIALIZER
 
static string m_OwnCorrelationId = ""
 
static omp_lock_t parallelJobLock
 
static AbstractStatePersistence * m_IdFactory = NULL
 
static map< string, bool > m_DuplicateChecks
 
static pthread_once_t SchemaKeysCreate = PTHREAD_ONCE_INIT
 
static pthread_key_t SchemaKey
 

Constructor & Destructor Documentation

RoutingEngine::RoutingEngine ( )
RoutingEngine::~RoutingEngine ( )

Member Function Documentation

void RoutingEngine::ArchiveIdle ( void  )
static
void * RoutingEngine::COTMonitor ( void *  data)
staticprivate
void RoutingEngine::CreateKeys ( )
staticprivate
void RoutingEngine::DeleteSchema ( void *  data)
staticprivate
static string RoutingEngine::getBatchSchema ( )
inlinestatic
static string RoutingEngine::getBatchSchemaNamespace ( )
inlinestatic
string RoutingEngine::getBatchXslt ( const string &  queue = DEFAULT_QUEUE)
static
static string RoutingEngine::getBulkReactivateQueue ( )
inlinestatic
pthread_t RoutingEngine::getCotMonitorThreadId ( )
inline
static int RoutingEngine::getDuplicateDetectionTimeout ( )
inlinestatic
static WorkItemPool< RoutingJob >& RoutingEngine::getJobPool ( )
inlinestatic
static string RoutingEngine::getLiquiditiesSP ( )
inlinestatic
static WorkItemPool< RoutingMessage >& RoutingEngine::getMessagePool ( )
inlinestatic
pthread_t RoutingEngine::getRouterThreadId ( )
inline
static bool RoutingEngine::getRoutingIsoMessageType ( const string &  messageType)
inlinestatic
static RoutingKeywordCollection RoutingEngine::getRoutingKeywords ( )
inlinestatic
static RoutingKeywordMappings* RoutingEngine::getRoutingMappings ( )
inlinestatic
RoutingSchema * RoutingEngine::getRoutingSchema ( )
static
static WorkItemPool< RoutingJobExecutor >& RoutingEngine::getThreadExecPool ( )
inlinestatic
static string RoutingEngine::getUpdateDateXSLT ( )
inlinestatic
static bool RoutingEngine::hasCorrForLiquidities ( )
inlinestatic
static bool RoutingEngine::hasIBANForLiquidities ( )
inlinestatic
static bool RoutingEngine::hasIBANPLForLiquidities ( )
inlinestatic
void RoutingEngine::IdleProcess ( void  )
static
static bool RoutingEngine::isDuplicateDetectionActive ( )
inlinestatic
static bool RoutingEngine::isIdleArchivingActive ( )
inlinestatic
bool RoutingEngine::isRunning ( ) const
inline
void RoutingEngine::LoadKeywords ( )
private
void RoutingEngine::LoadMappings ( )
private
void RoutingEngine::NotificationCallback ( const AbstractWatcher::NotificationObject *  notification)
static
void RoutingEngine::OnNewJob ( const AbstractWatcher::NotificationObject *  notification)
static
void RoutingEngine::PurgeHashes ( void  )
static
void RoutingEngine::ReadApplicationSettings ( )
void RoutingEngine::RecoverLastSession ( ) const
void * RoutingEngine::RouterRoutine ( void *  data)
staticprivate
static void RoutingEngine::SetProfileMessageCount ( const unsigned int  value)
inlinestatic
static bool RoutingEngine::shouldCheckDuplicates ( const string &  service)
inlinestatic
static bool RoutingEngine::shouldTrackMessages ( )
inlinestatic
void RoutingEngine::Start ( bool  startWatcher = true)
void RoutingEngine::Stop ( )
void * RoutingEngine::ThreadPoolWatcher ( void *  data)
staticprivate

Member Data Documentation

RoutingSchema RoutingEngine::DefaultSchema
staticprivate
AppSettings RoutingEngine::GlobalSettings
RoutingIsoMessageTypes RoutingEngine::IsoMessageTypes
staticprivate
RoutingKeywordMappings RoutingEngine::KeywordMappings
staticprivate
RoutingKeywordCollection RoutingEngine::Keywords
staticprivate
RoutingCOTMarker RoutingEngine::m_ActiveCotMarker
staticprivate
string RoutingEngine::m_BatchSchema
private
string RoutingEngine::m_BatchSchemaNamespace
private
map< string, string > RoutingEngine::m_BatchXSLT
private
pthread_t RoutingEngine::m_BMThreadId
private
string RoutingEngine::m_BulkReactivateQueue
private
unsigned int RoutingEngine::m_CotDelay = 300
staticprivate
pthread_mutex_t RoutingEngine::m_CotMarkersMutex = PTHREAD_MUTEX_INITIALIZER
staticprivate
pthread_t RoutingEngine::m_CotThreadId
private
map< string, bool > RoutingEngine::m_DuplicateChecks
staticprivate
bool RoutingEngine::m_DuplicateDetectionActive
private
int RoutingEngine::m_DuplicateDetectionTimeout
private
AbstractStatePersistence * RoutingEngine::m_IdFactory = NULL
staticprivate
bool RoutingEngine::m_IdleArchivingActive
private
WorkItemPool< RoutingJob > RoutingEngine::m_JobPool
private
bool RoutingEngine::m_LiquiditiesHasCorresps
private
bool RoutingEngine::m_LiquiditiesHasIBAN
private
bool RoutingEngine::m_LiquiditiesHasIBANPL
private
string RoutingEngine::m_LiquiditiesSP
private
WorkItemPool< RoutingMessage > RoutingEngine::m_MessagePool
private
string RoutingEngine::m_OwnCorrelationId = ""
staticprivate
int RoutingEngine::m_ParallelJobs = -1
staticprivate
RoutingCOTMarker RoutingEngine::m_PreviousCotMarker
staticprivate
unsigned int RoutingEngine::m_ProfileMessageCount = 0
staticprivate
pthread_t RoutingEngine::m_RouterThreadId
private
bool RoutingEngine::m_Running
private
bool RoutingEngine::m_ShouldStop = false
staticprivate
WorkItemPool< RoutingJobExecutor > RoutingEngine::m_ThreadExecPool
private
bool RoutingEngine::m_TrackMessages
private
string RoutingEngine::m_UpdateDateXSLT
private
DbWatcher RoutingEngine::m_Watcher
private
omp_lock_t RoutingEngine::parallelJobLock
staticprivate
pthread_key_t RoutingEngine::SchemaKey
staticprivate
pthread_once_t RoutingEngine::SchemaKeysCreate = PTHREAD_ONCE_INIT
staticprivate
RoutingEngine * RoutingEngine::TheRoutingEngine = NULL
static

The documentation for this class was generated from the following files: