BBSImpl Class Reference

#include <bbsimpl.h>

Inheritance diagram for BBSImpl:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BBSImpl ()
virtual ~BBSImpl ()
virtual boolean look (const char *)=0
virtual void take (const char *)=0
virtual boolean look_take (const char *)=0
virtual int upkint ()=0
virtual double upkdouble ()=0
virtual void upkvec (int, double *)=0
virtual char * upkstr ()=0
virtual char * upkpickle (size_t *)=0
virtual void pkbegin ()=0
virtual void pkint (int)=0
virtual void pkdouble (double)=0
virtual void pkvec (int, double *)=0
virtual void pkstr (const char *)=0
virtual void pkpickle (const char *, size_t)=0
virtual void post (const char *)=0
virtual void post_todo (int parentid)=0
virtual void post_result (int id)=0
virtual int look_take_result (int pid)=0
virtual int look_take_todo ()=0
virtual int take_todo ()=0
virtual void save_args (int userid)=0
virtual void return_args (int userid)
virtual void execute (int id)
virtual int submit (int userid)
virtual boolean working (int &id, double &x, int &userid)
virtual void context ()
virtual void start ()
virtual void done ()
virtual void worker ()
virtual boolean is_master ()
virtual double time ()
virtual void perror (const char *)

Public Attributes

int working_id_
int n_
double wait_time_
double integ_time_
double send_time_
char * pickle_ret_
size_t pickle_ret_size_

Static Public Attributes

static boolean is_master_ = false
static boolean started_ = false
static boolean done_ = false
static boolean use_pvm_
static int mytid_
static int debug_ = 0

Protected Member Functions

char * execute_helper (size_t *, int id)
void subworld_worker_execute ()

Constructor & Destructor Documentation

BBSImpl::BBSImpl (  ) 
BBSImpl::~BBSImpl (  )  [virtual]

References pickle_ret_.


Member Function Documentation

void BBSImpl::context (  )  [virtual]

Reimplemented in BBSDirect, and BBSLocal.

Referenced by BBS::context().

void BBSImpl::done (  )  [virtual]

Reimplemented in BBSDirect, BBSLocal, and BBSClient.

References done_.

Referenced by BBS::done(), and subworld_worker_execute().

void BBSImpl::execute ( int  id  )  [virtual]

References debug, debug_, execute_helper(), hoc_ac_, i, pkbegin(), pkdouble(), pkint(), pkpickle(), post_result(), rs, s, time(), upkint(), and working_id_.

Referenced by BBSLocal::take(), worker(), and working().

Here is the call graph for this function:

char * BBSImpl::execute_helper ( size_t *  size,
int  id 
) [protected]
boolean BBSImpl::is_master (  )  [virtual]

References is_master_.

Referenced by worker().

virtual boolean BBSImpl::look ( const char *   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::look().

virtual boolean BBSImpl::look_take ( const char *   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::look_take().

virtual int BBSImpl::look_take_result ( int  pid  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by working().

virtual int BBSImpl::look_take_todo (  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by working().

void BBSImpl::perror ( const char *   )  [virtual]

Reimplemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::perror().

virtual void BBSImpl::pkbegin (  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute(), and BBS::pkbegin().

virtual void BBSImpl::pkdouble ( double   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute(), and BBS::pkdouble().

virtual void BBSImpl::pkint ( int   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute(), and BBS::pkint().

virtual void BBSImpl::pkpickle ( const char *  ,
size_t   
) [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute(), and BBS::pkpickle().

virtual void BBSImpl::pkstr ( const char *   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::pkstr().

virtual void BBSImpl::pkvec ( int  ,
double *   
) [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::pkvec().

virtual void BBSImpl::post ( const char *   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::post().

virtual void BBSImpl::post_result ( int  id  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute().

virtual void BBSImpl::post_todo ( int  parentid  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by submit().

void BBSImpl::return_args ( int  userid  )  [virtual]

Reimplemented in BBSDirect, BBSLocal, and BBSClient.

References upkint(), upkpickle(), and upkstr().

Referenced by working().

Here is the call graph for this function:

virtual void BBSImpl::save_args ( int  userid  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by submit().

void BBSImpl::start (  )  [virtual]

Reimplemented in BBSDirect, BBSLocal, and BBSClient.

References started_.

int BBSImpl::submit ( int  userid  )  [virtual]

References debug, n_, post_todo(), save_args(), and working_id_.

Referenced by BBS::submit().

Here is the call graph for this function:

void BBSImpl::subworld_worker_execute (  )  [protected]

References assert, done(), hoc_ac_, hoc_call_objfunc(), hoc_lookup(), hoc_obj_run(), hoc_pushobj(), hoc_pushstr(), hoc_pushx(), hoc_temp_objptr(), i, n, nil, nrnpy_pickle2po, rs, s, Vect, and x.

Referenced by worker().

Here is the call graph for this function:

virtual void BBSImpl::take ( const char *   )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by BBS::take().

virtual int BBSImpl::take_todo (  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by worker().

double BBSImpl::time (  )  [virtual]

References nrnmpi_wtime().

Referenced by BBS::add_wait_time(), execute(), BBS::time(), worker(), and working().

Here is the call graph for this function:

virtual double BBSImpl::upkdouble (  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute_helper(), BBS::upkdouble(), and working().

virtual int BBSImpl::upkint (  )  [pure virtual]
virtual char* BBSImpl::upkpickle ( size_t *   )  [pure virtual]
virtual char* BBSImpl::upkstr (  )  [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute_helper(), return_args(), and BBS::upkstr().

virtual void BBSImpl::upkvec ( int  ,
double *   
) [pure virtual]

Implemented in BBSDirect, BBSLocal, and BBSClient.

Referenced by execute_helper(), and BBS::upkvec().

void BBSImpl::worker (  )  [virtual]

References execute(), id, is_master(), nrnmpi_myid_bbs, subworld_worker_execute(), take_todo(), and time().

Referenced by BBS::worker().

Here is the call graph for this function:

boolean BBSImpl::working ( int id,
double &  x,
int userid 
) [virtual]

Member Data Documentation

int BBSImpl::debug_ = 0 [static]

Referenced by execute().

boolean BBSImpl::done_ = false [static]

Referenced by done().

boolean BBSImpl::is_master_ = false [static]
int BBSImpl::mytid_ [static]

Referenced by BBSLocal::start().

Referenced by BBSImpl(), submit(), and working().

boolean BBSImpl::started_ = false [static]

Referenced by BBS::init(), BBSLocal::start(), and start().

Referenced by BBS::init().


The documentation for this class was generated from the following files:
Generated on Mon Jun 13 08:10:30 2011 for NEURON by  doxygen 1.6.3