00001 00002 00003 00004 00005 00011 module subTypes{ 00012 00013 typedef sequence<octet> mem; 00014 00015 }; 00016 00022 module types{ 00023 00024 00028 struct BspPut{ 00029 00030 long logicAddr; 00031 long offset; 00032 00033 00034 00035 long nBytes; 00036 long superstep; 00037 subTypes::mem memArea; 00038 00039 }; 00040 00044 struct BspGetRequest{ 00045 00046 long pid; 00047 long logicSrc; 00048 long offset; 00049 // the starting position from where data will be copied 00050 long nBytes; 00051 long superstep; 00052 long dst; 00053 // the requesting process 00054 00055 00056 }; 00057 00058 00062 struct BspGetReply{ 00063 00064 long nBytes; 00065 long superstep; 00066 00067 00068 long dst; 00069 00070 subTypes::mem memArea; 00071 00072 }; 00073 00074 }; 00075 00076 module bspLib{ 00077 00083 interface BspProxy{ 00084 00092 void registerRemoteIor(in long pid, in string ior); 00093 00100 void takeYourPid(in long pid); 00101 00108 void bspPut(in types::BspPut bspPut); 00109 00116 void bspGetRequest(in types::BspGetRequest request); 00117 00123 void bspGetReply(in types::BspGetReply reply); 00124 00132 void bspSynch(in long pid); 00133 00140 void bspSynchDone(in long pid); 00141 00142 00143 }; 00144 00145 00146 00147 }; 00148 00149 00150 00151