NEURON
bbsrcli.h
Go to the documentation of this file.
1 #ifndef bbsrcli_h
2 #define bbsrcli_h
3 
4 #include <nrnmpiuse.h>
5 #include "bbsimpl.h"
6 class KeepArgs;
7 struct bbsmpibuf;
8 
9 class BBSClient: public BBSImpl { // implemented as PVM Client
10  public:
12  virtual ~BBSClient();
13 
14  virtual bool look(const char*);
15 
16  virtual void take(const char*); /* blocks til something to take */
17  virtual bool look_take(const char*); /* returns false if nothing to take */
18  // after taking use these
19  virtual int upkint();
20  virtual double upkdouble();
21  virtual void upkvec(int, double*);
22  virtual char* upkstr(); // delete [] char* when finished
23  virtual char* upkpickle(size_t*); // delete [] char* when finished
24 
25  // before posting use these
26  virtual void pkbegin();
27  virtual void pkint(int);
28  virtual void pkdouble(double);
29  virtual void pkvec(int, double*);
30  virtual void pkstr(const char*);
31  virtual void pkpickle(const char*, size_t);
32  virtual void post(const char*);
33 
34  virtual void post_todo(int parentid);
35  virtual void post_result(int id);
36  virtual int look_take_result(int pid); // returns id, or 0 if nothing
37  virtual int look_take_todo(); // returns id, or 0 if nothing
38  virtual int take_todo(); // returns id
39  virtual void save_args(int);
40  virtual void return_args(int);
41 
42  virtual void start();
43  virtual void done();
44 
45  virtual void perror(const char*);
46 
47  private:
48  int get(const char* key, int type); // return type
49  int get(int key, int type); // return type
50  int get(int type); // return type
51  private:
52  static int sid_;
53  KeepArgs* keepargs_;
54 #if NRNMPI
55  void upkbegin();
56  char* getkey();
57  int getid();
58  bbsmpibuf *sendbuf_, *recvbuf_, *request_;
59 #endif
60 };
61 
62 #endif
short type
Definition: cabvars.h:9
virtual void post_todo(int parentid)
virtual char * upkstr()
virtual void start()
virtual void perror(const char *)
virtual int look_take_result(int pid)
virtual void take(const char *)
virtual void upkvec(int, double *)
virtual void pkpickle(const char *, size_t)
virtual void pkvec(int, double *)
virtual void return_args(int)
virtual int upkint()
virtual void save_args(int)
virtual void post(const char *)
static int sid_
Definition: bbsrcli.h:52
virtual void pkbegin()
virtual bool look_take(const char *)
virtual int take_todo()
int get(const char *key, int type)
virtual char * upkpickle(size_t *)
int get(int type)
virtual void pkint(int)
virtual double upkdouble()
virtual int look_take_todo()
virtual bool look(const char *)
virtual void done()
int get(int key, int type)
virtual void pkdouble(double)
virtual void post_result(int id)
KeepArgs * keepargs_
Definition: bbsrcli.h:53
virtual void pkstr(const char *)
virtual ~BBSClient()
Definition: bbsimpl.h:4
#define key
Definition: spt2queue.cpp:20