Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

AsctImpl Class Reference

#include <AsctImpl.hpp>

Inheritance diagram for AsctImpl:

Inheritance graph
[legend]
Collaboration diagram for AsctImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AsctImpl (const Config &config)
void refusedExecutionRequest (std::string requestId)
void acceptedExecutionRequest (OfferSpecs offSpecs)
string registerApplication (string appPath)
void requestExecution (ExecutionSpecs execSpecs)
void requestParametricExecution (ParametricExecution parExecSpecs)
void appFinished (const string &appId)
 AsctImpl (Asct asct)
void acceptedExecutionRequest (OfferSpecs offSpecs)
void refusedExecutionRequest (String requestId)
byte[] requestInputFiles (String paths)
void returnOutputFiles (String appId, FileStruct[] fileSequence)
void appFinished (String appId)
BspInfo registerBspNode (String appId, String bspProxyIor)

Private Attributes

std::string grmIor
std::string appReposIor
lua_State * clientSideState
GuardedVariable< long > requestId
Asct asct_
HashMap bspZerosIors_

Detailed Description

AsctImpl - Implementation of the ASCT IDL interface.

AsctImpl implements ASCT interface. It also hosts methods for setting up the server side of the ASCT service (tasks such as ORB instantiation, proxy creation, etc). Finally, ASCT acts as a gatweway for remote execution requests, offering an interface that allows one to place execution requests to the GRM.

ASCT is a sigleton, because we are using threads and the only way to launch threads are via static methods. We could use other mechanisms to do that, but since we don't need more than one ASCT object, this solution is ok for now.

Author:
Andrei Goldchleger


Constructor & Destructor Documentation

AsctImpl::AsctImpl const Config config  ) 
 

Constructor

Parameters:
config - a configuration object.

AsctImpl::AsctImpl Asct  asct  )  [inline]
 


Member Function Documentation

void AsctImpl::acceptedExecutionRequest OfferSpecs  offSpecs  )  [inline]
 

Receive confirmation from a remote LRM that accepted our execution request

Analog to 2k's "ACK"

Parameters:
offSpecs - Offer information, see(
See also:
types::offSpecs)

void AsctImpl::acceptedExecutionRequest OfferSpecs  offSpecs  ) 
 

Called by a GRM to notify that one of our remote execution requests was accepted by a remote LRM.

Parameters:
offSpecs - Information about the remote LRM that accepted our request
See also:
OfferSpecs

void AsctImpl::appFinished String  appId  )  [inline]
 

void AsctImpl::appFinished const string &  appId  ) 
 

Gets noticifation from a LRM that a given app has finished execution.

void AsctImpl::refusedExecutionRequest String  requestId  )  [inline]
 

Receive notice that one of our queries was rejected by all other LRMs (Though we can retry again if we so wish)

Analog to 2k's "NACK"

Parameters:
requestId - Id of the refused request

void AsctImpl::refusedExecutionRequest std::string  requestId  ) 
 

Called by a GRM to indicate that one of our remote execution requests wasn't accepted by any other LRM. In this case, we can take a variety of actions, such as retry the request or notify the user who submitted it.

Parameters:
requestId - The id of the refused request

string AsctImpl::registerApplication string  appPath  ) 
 

Register an application on the ApplicationRepository

Parameters:
appPath - A Valid patch to the applicatios
Returns:
an application id to be used in execution requests

BspInfo AsctImpl::registerBspNode String  appId,
String  bspProxyIor
[inline]
 

void AsctImpl::requestExecution ExecutionSpecs  execSpecs  ) 
 

Request execution

Parameters:
execSpecs - describes the execution characteristics.

byte [] AsctImpl::requestInputFiles String  paths  )  [inline]
 

Receive request for files needed to allow the remote execution of a request made by this ASCT

Parameters:
paths - the file path in the host where this ASCT is running
Returns:
all files needed by the remote execution
Todo:
: Signal error condition to caller(Raise CORBA exception)

: Signal error condition to caller(Raise CORBA exception)

void AsctImpl::requestParametricExecution ParametricExecution  parExecSpecs  ) 
 

Request parametric execution

Parameters:
parExecSpecs - describes the parametric execution characteristics.

void AsctImpl::returnOutputFiles String  appId,
FileStruct[]  fileSequence
[inline]
 


Member Data Documentation

std::string AsctImpl::appReposIor [private]
 

Application Repository's IOR

Asct AsctImpl::asct_ [private]
 

Reference to the gui

HashMap AsctImpl::bspZerosIors_ [private]
 

struct lua_State* AsctImpl::clientSideState [private]
 

lua_state representing the client side

std::string AsctImpl::grmIor [private]
 

GRM's IOR

GuardedVariable<long> AsctImpl::requestId [private]
 

identifies an execution request. Each request has an unique ID


The documentation for this class was generated from the following files:
Generated on Mon Sep 6 16:13:07 2004 by doxygen 1.3.3