PaCO++  0.05
ParisBasicExample.h
Go to the documentation of this file.
1 #ifndef PARIS_BASIC_EXAMPLE_H
2 #define PARIS_BASIC_EXAMPLE_H
3 
5 
6 using namespace std;
7 
9 {
10  public:
12  virtual ~ParisBasicExample();
13 
14  // Common
15  virtual void setSourceTopology(PaCO::PacoTopology_t topo);
16  virtual PaCO::PacoTopology_t getSourceTopology();
17  virtual void setDestTopology(PaCO::PacoTopology_t topo);
18  virtual PaCO::PacoTopology_t getDestTopology();
19  virtual void setNodeRank(long Rank);
20  virtual long getNodeRank();
21  virtual void setCommunicator(void * group) {}
22 
23  // Data description API
24  void setEltSize(long size);
25  void setNbElt(long elt_nb);
26 
27  // Client Side
28  virtual PieceToSend* computePiecesToSend();
29  virtual void setDataPtr(void* dataPtr);
30  virtual void* getClientData(int server_node, long & size, long & length, bool & end);
31  virtual void clientFree();
32  virtual void * getDescr();
33  // Server Side
34  virtual bool insertData(void* rcptBuf);
35  virtual void* getServerData(long & length);
36  virtual void serverFree() {}
37  virtual void setDescr(void * descr);
38  // Internal
39  virtual void clientFree(int server_node);
40 
41  private:
42 
45 
46  CORBA::Short _length;
47  long _data_size;
49  long _my_rank;
51 
52  long * _data_rst;
53  long * position;
54  char * _user_data;
55  char * temp_buffer;
56 };
57 
58 class ParisBasicExample_fab : virtual public paco_individual_fabrique_lib
59 {
60 
61  public:
64 
66  {
67  return new ParisBasicExample();
68  }
69 
70 };
71 
72 #endif
DistributionLibrary * paco_create(Fabrique *f)
PaCO::PacoTopology_t _srcTopo
virtual void serverFree()
PaCO::PacoTopology_t _destTopo
virtual void setCommunicator(void *group)
CORBA::Short _length