Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

IDEA::Simulator Class Reference
[Simulator]

#include <Simulator.hh>

List of all members.

Public Methods

 ~Simulator ()
 Destructor.

const std::string & getName () const
const AgentRelaygetAgentRelay () const
const AgentTimingServicegetAgentTimingService () const
bool initialize (const std::string &name, const std::string &poolName)
 Initializes the simulator.

void scheduleMessage (const Time &time, MessageHandle message)
 Schedules message to be send at time.

void bufferMessage (const Time &time, MessageHandle message)
 Buffers a messages to be scheduled time after the time passed in triggerBuffer( time ).

void triggerBuffer (const Time &time)
 Will schedule the messages that have been buffered ( bufferMessage ) and schedule them at the following time:
  • take the time passed when the message was buffered and at it to time.


ResponseMessageFactorygetResponseMessageFactory (const std::string &predicateName)
 Returns an instance of ResponseMessageFactory for predicateName. Returns 0 if no such instance has been registered.

void registerResponseMessageFactory (ResponseMessageFactory *factory)
void sendScheduledEvents (const Time &time)
 Sends out all messages scheduled at time using ComRelay instance set using setComRelay.

void run ()
 Runs the simulator untill done....

void setComRelay (ComRelay *comRelay)
 Sets the ComRelay.

bool isInitialized () const

Static Public Methods

Simulator * instance ()
void release ()

Private Types

typedef std::map< std::string,
ResponseMessageFactory * > 
String2ResponseMessageFactory
typedef std::multimap< Time,
MessageHandle
Time2MessageMap
typedef std::pair< Time, MessageHandleTimeMessagePair
typedef std::list< TimeMessagePairTimeMessagePairList

Private Methods

 Simulator ()
 Constructor.

MessageHandleList getScheduledMessages (const Time &time)
 Returns a list of scheduled-messages to be send out at time time.


Private Attributes

String2ResponseMessageFactory m_ResponseFactories
std::string m_Name
std::string m_PoolName
Time2MessageMap m_ScheduledMessages
TimeMessagePairList m_BufferedMessages
AgentRelaym_AgentRelay
AgentTimingServicem_AgentTimingService
ComRelaym_ComRelay
bool m_Initialized

Static Private Attributes

Simulator * s_Instance = 0


Member Typedef Documentation

typedef std::map< std::string, ResponseMessageFactory* > IDEA::Simulator::String2ResponseMessageFactory [private]
 

typedef std::multimap< Time, MessageHandle > IDEA::Simulator::Time2MessageMap [private]
 

typedef std::pair< Time, MessageHandle > IDEA::Simulator::TimeMessagePair [private]
 

typedef std::list< TimeMessagePair > IDEA::Simulator::TimeMessagePairList [private]
 


Constructor & Destructor Documentation

IDEA::Simulator::~Simulator  
 

Destructor.

IDEA::Simulator::Simulator   [private]
 

Constructor.


Member Function Documentation

void IDEA::Simulator::bufferMessage const Time   time,
MessageHandle    message
 

Buffers a messages to be scheduled time after the time passed in triggerBuffer( time ).

const AgentRelay * IDEA::Simulator::getAgentRelay  
 

const AgentTimingService * IDEA::Simulator::getAgentTimingService  
 

const std::string & IDEA::Simulator::getName  
 

ResponseMessageFactory * IDEA::Simulator::getResponseMessageFactory const std::string &    predicateName
 

Returns an instance of ResponseMessageFactory for predicateName. Returns 0 if no such instance has been registered.

MessageHandleList IDEA::Simulator::getScheduledMessages const Time   time [private]
 

Returns a list of scheduled-messages to be send out at time time.

bool IDEA::Simulator::initialize const std::string &    name,
const std::string &    poolName
 

Initializes the simulator.

Will create a AgentTimingService, AgentRelay and IPCRelay instance. Returns true if created succesfully otherwise false.

Simulator * IDEA::Simulator::instance   [static]
 

bool IDEA::Simulator::isInitialized  
 

void IDEA::Simulator::registerResponseMessageFactory ResponseMessageFactory   factory
 

void IDEA::Simulator::release   [static]
 

void IDEA::Simulator::run  
 

Runs the simulator untill done....

Todo:
Work on how to end simulator...

void IDEA::Simulator::scheduleMessage const Time   time,
MessageHandle    message
 

Schedules message to be send at time.

void IDEA::Simulator::sendScheduledEvents const Time   time
 

Sends out all messages scheduled at time using ComRelay instance set using setComRelay.

not really sure if needs to cancellable or not

void IDEA::Simulator::setComRelay ComRelay   comRelay
 

Sets the ComRelay.

void IDEA::Simulator::triggerBuffer const Time   time
 

Will schedule the messages that have been buffered ( bufferMessage ) and schedule them at the following time:

  • take the time passed when the message was buffered and at it to time.


Member Data Documentation

AgentRelay* IDEA::Simulator::m_AgentRelay [private]
 

AgentTimingService* IDEA::Simulator::m_AgentTimingService [private]
 

TimeMessagePairList IDEA::Simulator::m_BufferedMessages [private]
 

ComRelay* IDEA::Simulator::m_ComRelay [private]
 

bool IDEA::Simulator::m_Initialized [private]
 

std::string IDEA::Simulator::m_Name [private]
 

std::string IDEA::Simulator::m_PoolName [private]
 

String2ResponseMessageFactory IDEA::Simulator::m_ResponseFactories [private]
 

Time2MessageMap IDEA::Simulator::m_ScheduledMessages [private]
 

Simulator * IDEA::Simulator::s_Instance = 0 [static, private]
 


Contact information
© IDEA
Generated on Fri Feb 3 17:09:49 2006 for IDEA.