Aurora::Client::Service Class Reference

Main class for the Client Service. More...

#include <client/AuroraClient.h>

Collaboration diagram for Aurora::Client::Service:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Service ()
 ~Service ()
bool SendMessage (double timestamp, Aurora::Common::UInt32 dest, Aurora::Common::UInt32 msg_size, void *msg_data, bool caused=false, double tiebreaker=0)
bool GetNextMessageTimestamp (double &timestamp)
bool GetNextMessageTieBreaker (double &tiebreaker)
bool GetNextMessage (Aurora::Common::UInt32 &msg_size, void *&msg_data)
bool GetNextMessage (double &timestamp, Aurora::Common::UInt32 &msg_size, void *&msg_data)
bool GetNextMessage (Aurora::Common::UInt32 &src, double &timestamp, double &tiebreaker, Aurora::Common::UInt32 &msg_size, void *&msg_data)
bool CanRun (void)
void EndRun (void)
void IncEventCounter (void)
double GetSimTime (void)
void SetSimTime (double sim)
double GetBeginTime (void)
double GetEndTime (void)
Aurora::Common::UInt32 GetLeasedWUNum (void)
Aurora::Common::UInt32 GetNumWUs (void)
Aurora::Common::UInt32 GetFlags (void)
std::string GetCapability (void)
std::string GetArguments (void)
std::string GetRunArgs (void)
void SetRunArgs (std::string args)
std::string GetVersion (void)
std::string GetInputFiles (void)
std::string GetOutputFiles (void)
std::string GetProgram (void)
std::map< std::string, std::string > * GetVersionPath (void)
std::vector< std::string > * GetInputFileVector (void)
std::vector< std::string > * GetOutputFileVector (void)
std::vector< char * > * GetInfileData (void)
std::vector< Aurora::Common::UInt32 > * GetInfileSizes (void)

Friends

class Connection

Detailed Description

Main class for the Client Service.


Constructor & Destructor Documentation

Aurora::Client::Service::Service (  )  [inline]

Service Constructor

Aurora::Client::Service::~Service (  )  [inline]

Service Destructor


Member Function Documentation

bool Aurora::Client::Service::SendMessage ( double  timestamp,
Aurora::Common::UInt32  dest,
Aurora::Common::UInt32  msg_size,
void *  msg_data,
bool  caused = false,
double  tiebreaker = 0 
)

Sends a message to a destination WorkUnit

Parameters:
[in] timestamp Timestamp of message
[in] dest Destination WorkUnit ID
[in] msg_size Size of message data
[in] msg_data Message data
[in] caused if this message was caused by the message received by GetNextMessage(). Optional parameter
[in] tiebreaker Tie-breaker field. Optional parameter
Returns:
success or failure of message send

bool Aurora::Client::Service::GetNextMessageTimestamp ( double &  timestamp  )  [inline]

Retrieves the next message timestamp from the input queue

Parameters:
[out] timestamp Timestamp of next message
Returns:
false if queue is empty, true otherwise

bool Aurora::Client::Service::GetNextMessageTieBreaker ( double &  tiebreaker  )  [inline]

Retrieves the next message tiebreaker field from the input queue

Parameters:
[out] tiebreaker Tiebreaker field of next message
Returns:
false if queue is empty, true otherwise

bool Aurora::Client::Service::GetNextMessage ( Aurora::Common::UInt32 msg_size,
void *&  msg_data 
) [inline]

Retrieves the next message from input queue

Parameters:
[out] msg_size Size of message data
[out] msg_data Message data
Returns:
false if queue is empty or invalid message, true otherwise

bool Aurora::Client::Service::GetNextMessage ( double &  timestamp,
Aurora::Common::UInt32 msg_size,
void *&  msg_data 
) [inline]

Retrieves the next message from input queue

Parameters:
[out] timestamp Timestamp of message
[out] msg_size Size of message data
[out] msg_data Message data
Returns:
false if queue is empty or invalid message, true otherwise

bool Aurora::Client::Service::GetNextMessage ( Aurora::Common::UInt32 src,
double &  timestamp,
double &  tiebreaker,
Aurora::Common::UInt32 msg_size,
void *&  msg_data 
) [inline]

Retrieves the next message from input queue

Parameters:
[out] src Sender WorkUnit ID
[out] timestamp Timestamp of message
[out] tiebreaker Tie-breaker field
[out] msg_size Size of message data
[out] msg_data Message data
Returns:
false if queue is empty or invalid message, true otherwise

bool Aurora::Client::Service::CanRun ( void   )  [inline]

Returns "Runnable" status of the application. Simulation application loop control allows AuroraClient to suspend execution.

Returns:
false if lease has been retracted, simulation termination signal received, or the current simulation time is equal to or greater than the endtime

void Aurora::Client::Service::EndRun ( void   )  [inline]

Sets the termination signal to true to force the end of a simulation run

void Aurora::Client::Service::IncEventCounter ( void   )  [inline]

Increments the Event Counter

double Aurora::Client::Service::GetSimTime ( void   )  [inline]

Gets the current siulation time

Returns:
Simultion time

void Aurora::Client::Service::SetSimTime ( double  sim  )  [inline]

Sets the current simulation time

Parameters:
[in] sim Simulation time to set

double Aurora::Client::Service::GetBeginTime ( void   )  [inline]

Gets the true begin time of the simulation (not necessarily the begin time of the execution window)

Returns:
Begin time of simulation

double Aurora::Client::Service::GetEndTime ( void   )  [inline]

Gets the end time of the execution window

Returns:
End time of execution window

Aurora::Common::UInt32 Aurora::Client::Service::GetLeasedWUNum ( void   )  [inline]

Gets the leased WorkUnit ID number

Returns:
WorkUnit ID

Aurora::Common::UInt32 Aurora::Client::Service::GetNumWUs ( void   )  [inline]

Gets the total number of WorkUnits in Simulation Package

Returns:
Total number of WorkUnits in entire Simulation

Aurora::Common::UInt32 Aurora::Client::Service::GetFlags ( void   )  [inline]

Gets Task-Parallel flags set by the application

Returns:
Task-parallel flags

std::string Aurora::Client::Service::GetCapability ( void   )  [inline]

Gets the capability of the Client

Returns:
Client capability

std::string Aurora::Client::Service::GetArguments ( void   )  [inline]

Gets the pre-set Arguments (from SimPkg definition)

Returns:
Program arguments

std::string Aurora::Client::Service::GetRunArgs ( void   )  [inline]

Gets the runtime Arguments which may have been modified by the Task-Parallel runtime/plugin. This string contains the arguments from GetArguments()

Returns:
Program runtime arguments

void Aurora::Client::Service::SetRunArgs ( std::string  args  )  [inline]

Sets the runtime Arguments

Parameters:
[in] args Runtime Argument string

std::string Aurora::Client::Service::GetVersion ( void   )  [inline]

Gets the Version required by the capability

Returns:
Capability version

std::string Aurora::Client::Service::GetInputFiles ( void   )  [inline]

Gets the input files string as specified by the SimPkg

Returns:
Input files

std::string Aurora::Client::Service::GetOutputFiles ( void   )  [inline]

Gets the output files string as specified by the SimPkg

Returns:
Output files

std::string Aurora::Client::Service::GetProgram ( void   )  [inline]

Gets the program name of the capability

Returns:
Program name of capability

std::map<std::string, std::string>* Aurora::Client::Service::GetVersionPath ( void   )  [inline]

Gets the Version to Path mapping

Returns:
map of versions to path

std::vector<std::string>* Aurora::Client::Service::GetInputFileVector ( void   )  [inline]

Gets the Input File vector. This is the vectorized version of the input file string from GetInputFiles().

Returns:
Input file vector

std::vector<std::string>* Aurora::Client::Service::GetOutputFileVector ( void   )  [inline]

Gets the Output File vector. This is the vectorized version of the output file string from GetOutputFiles(). Note that the client will use this vector to capture output files (not the string).

Returns:
Output file vector

std::vector<char *>* Aurora::Client::Service::GetInfileData ( void   )  [inline]

Gets the Input File data vector

Returns:
Vector of input file data

std::vector<Aurora::Common::UInt32>* Aurora::Client::Service::GetInfileSizes ( void   )  [inline]

Gets the Input File data sizes vector

Returns:
Vector of input file data sizes


The documentation for this class was generated from the following files:
Generated on Mon Sep 22 18:07:27 2008 for Aurora2 by  doxygen 1.5.1