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

#include <RoutingSchema.h>

Public Member Functions

 RoutingSchema ()
 
void Load ()
 
void LoadSchema (const string &schemaName, long schemaId, const string &sessionCode)
 
RoutingSchemaDuplicate (bool createPlans=false)
 
 ~RoutingSchema ()
 
string getName () const
 
void Explain (void)
 
void DisplayPlan (RoutingPlan *plan, unsigned int level)
 
bool ApplyPlanRouting (RoutingJob *job, RoutingMessage *theMessage, const RoutingPlan *plan, const int userId, const bool isBulk, const bool fastpath=false) const
 
bool ApplyQueueRouting (RoutingJob *job, RoutingMessage *theMessage, const long queueId, const int userId, const bool isBulk, const bool fastpath=false)
 
void ApplyRouting (RoutingJob *job, RoutingMessage *theMessage, RoutingMessage(*messageProviderCallback)()=NULL, bool fastpath=false)
 
void ApplyRouting (RoutingJob *job, RoutingMessage(*messageProviderCallback)()=NULL, bool fastpath=false)
 
bool RouteBatchReply (RoutingJob *job, RoutingMessage *theMessage, bool fastpath=false)
 
bool RouteBatch (RoutingJob *job, RoutingMessage *theMessage, bool fastpath=false)
 
void PerformInitRoutine (long schemaId)
 
void PerformTearRoutine (long schemaId)
 
void DeletePlans ()
 
void CreatePlans ()
 
RoutingPlanCreatePlan (RoutingPlan *plan, const long queue, const long sequence, const unsigned char depth)
 
void InsertPlan (RoutingPlan *plan)
 
const map< string, RoutingPlan * > & Plans () const
 
RoutingPlanPlan (const string &name)
 
void UsePlan (const string &name)
 
RoutingPlangetPlan (long queue, RoutingMessage *theMessage)
 
const vector< RoutingMessage > & GetRBatchItems () const
 
bool isDirty () const
 
void setDirty (const bool value)
 
bool RouteDelayedReply (RoutingJob *job, RoutingMessage *theMessage, bool fastpath=false)
 

Private Attributes

bool m_Dirty
 
bool m_Copy
 
string m_SchemaName
 
string m_Description
 
map< long, vector< RoutingRule > > m_RulesByQueue
 
map< long, vector< RoutingRule > > m_InitRulesByQueue
 
map< long, vector< RoutingRule > > m_TearRulesByQueue
 
map< string, RoutingPlan * > m_Plans
 
map< long, RoutingPlan * > m_UsablePlans
 
vector< RoutingMessagem_RBatchMessages
 
map< long, int > m_InnerSchemas
 

Constructor & Destructor Documentation

RoutingSchema::RoutingSchema ( )
RoutingSchema::~RoutingSchema ( )

Member Function Documentation

bool RoutingSchema::ApplyPlanRouting ( RoutingJob job,
RoutingMessage theMessage,
const RoutingPlan plan,
const int  userId,
const bool  isBulk,
const bool  fastpath = false 
) const
bool RoutingSchema::ApplyQueueRouting ( RoutingJob job,
RoutingMessage theMessage,
const long  queueId,
const int  userId,
const bool  isBulk,
const bool  fastpath = false 
)
void RoutingSchema::ApplyRouting ( RoutingJob job,
RoutingMessage theMessage,
RoutingMessage(*)()  messageProviderCallback = NULL,
bool  fastpath = false 
)
void RoutingSchema::ApplyRouting ( RoutingJob job,
RoutingMessage(*)()  messageProviderCallback = NULL,
bool  fastpath = false 
)
RoutingPlan * RoutingSchema::CreatePlan ( RoutingPlan plan,
const long  queue,
const long  sequence,
const unsigned char  depth 
)
void RoutingSchema::CreatePlans ( )
void RoutingSchema::DeletePlans ( )
void RoutingSchema::DisplayPlan ( RoutingPlan plan,
unsigned int  level 
)
RoutingSchema * RoutingSchema::Duplicate ( bool  createPlans = false)
void RoutingSchema::Explain ( void  )
string RoutingSchema::getName ( ) const
inline
RoutingPlan * RoutingSchema::getPlan ( long  queue,
RoutingMessage theMessage 
)
const vector< RoutingMessage >& RoutingSchema::GetRBatchItems ( ) const
inline
void RoutingSchema::InsertPlan ( RoutingPlan plan)
bool RoutingSchema::isDirty ( ) const
inline
void RoutingSchema::Load ( )
void RoutingSchema::LoadSchema ( const string &  schemaName,
long  schemaId,
const string &  sessionCode 
)
void RoutingSchema::PerformInitRoutine ( long  schemaId)
void RoutingSchema::PerformTearRoutine ( long  schemaId)
RoutingPlan * RoutingSchema::Plan ( const string &  name)
const map< string, RoutingPlan* >& RoutingSchema::Plans ( ) const
inline
bool RoutingSchema::RouteBatch ( RoutingJob job,
RoutingMessage theMessage,
bool  fastpath = false 
)
bool RoutingSchema::RouteBatchReply ( RoutingJob job,
RoutingMessage theMessage,
bool  fastpath = false 
)

NOSEQFAULT (is bulk nack) always return true

bool RoutingSchema::RouteDelayedReply ( RoutingJob job,
RoutingMessage theMessage,
bool  fastpath = false 
)
void RoutingSchema::setDirty ( const bool  value)
inline
void RoutingSchema::UsePlan ( const string &  name)

Member Data Documentation

bool RoutingSchema::m_Copy
private
string RoutingSchema::m_Description
private
bool RoutingSchema::m_Dirty
private
map< long, vector< RoutingRule > > RoutingSchema::m_InitRulesByQueue
private
map< long, int > RoutingSchema::m_InnerSchemas
private
map< string, RoutingPlan* > RoutingSchema::m_Plans
private
vector< RoutingMessage > RoutingSchema::m_RBatchMessages
private
map< long, vector< RoutingRule > > RoutingSchema::m_RulesByQueue
private
string RoutingSchema::m_SchemaName
private
map< long, vector< RoutingRule > > RoutingSchema::m_TearRulesByQueue
private
map< long, RoutingPlan* > RoutingSchema::m_UsablePlans
private

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