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

BspProxyStubPool Class Reference

#include <BspProxyStubPool.hpp>

List of all members.

Public Member Functions

 BspProxyStubPool (const Config &config)
string createNewProxy (const string &ior)
void registerRemoteIor (string proxyId, int pid, string ior)
void takeYourPid (string proxyId, int pid)
void bspPut (string proxyId, BspPut &bspPut)
void bspSynch (string proxyId, int pid)
void bspSynchDone (string proxyId, int pid)
void bspGetRequest (const string &proxyId, const BspGetRequest &request)
void bspGetReply (const string &proxyId, const BspGetReply &response)

Private Attributes

string orbPath
string bspIdlPath
lua_State * clientSideState
int lastCreatedProxy


Detailed Description

BspProxyStubPool - Create and manage BspProxy's stubs.

A BspProxy is a CORBA object that represents each BSP task. A BspProxyStub is dynamically created in this class when requested. All stubs exists only as entities in a LUA state. They are maintained together to save memory, so that we need to load only one copy of the ORB and IDL.

Author:
Andrei Goldchleger
Date:
november/2003


Constructor & Destructor Documentation

BspProxyStubPool::BspProxyStubPool const Config config  ) 
 

Construct a BspProxyStubPool

Parameters:
config - Holds configuration information, such as ORB & IDl paths


Member Function Documentation

void BspProxyStubPool::bspGetReply const string &  proxyId,
const BspGetReply response
 

Reply a remote read made by another BSP task.

Parameters:
proxyId - Id of the remote object
response - Contains information regarding the reply

void BspProxyStubPool::bspGetRequest const string &  proxyId,
const BspGetRequest request
 

Requests a remote read to another BSP task.

Parameters:
proxyId - Id of the remote object
request - Contains information regarding the request

void BspProxyStubPool::bspPut string  proxyId,
BspPut bspPut
 

Performs a bsp_put on a remote task.

Parameters:
proxyId - Id of the remote object
bspPut - The BspPut details

void BspProxyStubPool::bspSynch string  proxyId,
int  pid
 

Signals to Process zero that the local task reached the synchronization barrier point.

Parameters:
proxyId - Id of the remote object
pid - The PID of the local BSP task

void BspProxyStubPool::bspSynchDone string  proxyId,
int  pid
 

Called by Process Zero only. Signals to remote tasks that barrier sinchronization is done.

Parameters:
proxyId - Id of the remote object
pid - The PID of the remote BSP task

string BspProxyStubPool::createNewProxy const string &  ior  ) 
 

Creates a new proxy in the pool

Parameters:
ior - IOR of the remote BspProxy object
Returns:
a string identifier for this proxy that should be used on following remote method invocations

void BspProxyStubPool::registerRemoteIor string  proxyId,
int  pid,
string  ior
 

Calls the method registerRemoteIor on a remote object

This method is used at initialization time, so that all tasks know the IOR of each other and can communicate on following steps.

Parameters:
proxyId - Id of the remote object (The one received when createNewProxy was called)
pid - BSP PID of one of the BSP tasks
ior - IOR that allows one to reach a BSP Proxy

void BspProxyStubPool::takeYourPid string  proxyId,
int  pid
 

Gives a PID to a given BSP task.

This method is called ONLY by process zero at each of the BSP proxies in order to set the BSP PID of each of the tasks. This is called ONLY at initialization time

Parameters:
proxyId - Id of the remote object
pid - The new BSP PID of a given task


Member Data Documentation

string BspProxyStubPool::bspIdlPath [private]
 

path to the BspLib IDL

struct lua_State* BspProxyStubPool::clientSideState [private]
 

lua_state representing the client side

int BspProxyStubPool::lastCreatedProxy [private]
 

Count the number of stubs already created

string BspProxyStubPool::orbPath [private]
 

O2 directory


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