00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
#ifndef ______SRC_RPC_CENTRALLOOKUPSERVER_H
00015
#define ______SRC_RPC_CENTRALLOOKUPSERVER_H
00016
00017
#include <NMSTL/rpc>
00018
00019
00020
namespace Borealis {
class CentralLookupServer; };
00021
00022
00023 NMSTL_NAMESPACE_BEGIN;
00024
00025
#ifdef DOXYGEN_SKIP
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
template<
typename T>
class Remote;
00037 class Remote<Borealis::CentralLookupServer> {
00038
public:
00041
void register_object(
const Callback<
void, RPC< void > >& completion,
00042 ptr<Object> object);
00043
00045 RPC< void > register_object(ptr<Object> object);
00046
00049
void register_object_set(
const Callback<
void, RPC< void > >& completion,
00050 ptr<Object> object);
00051
00053 RPC< void > register_object_set(ptr<Object> object);
00054
00057
void register_objects(
const Callback<
void, RPC< void > >& completion,
00058 vector< ptr<Object> > objects);
00059
00061 RPC< void > register_objects(vector< ptr<Object> > objects);
00062
00065
void register_object_sets(
const Callback<
void, RPC< void > >& completion,
00066 vector< ptr<Object> > objects);
00067
00069 RPC< void > register_object_sets(vector< ptr<Object> > objects);
00070
00073
void lookup_object(
const Callback<
void, RPC< ptr<Object> > >& completion,
00074 Name name);
00075
00077 RPC< ptr<Object> > lookup_object(Name name);
00078
00081
void lookup_object_set(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion,
00082 Name name);
00083
00085 RPC< vector< ptr<Object> > > lookup_object_set(Name name);
00086
00089
void lookup_objects(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion,
00090 vector<Name> names);
00091
00093 RPC< vector< ptr<Object> > > lookup_objects(vector<Name> names);
00094
00097
void lookup_object_sets(
const Callback<
void, RPC< vector< vector< ptr<Object> > > > >& completion,
00098 vector<Name> names);
00099
00101 RPC< vector< vector< ptr<Object> > > > lookup_object_sets(vector<Name> names);
00102
00105
void register_node(
const Callback<
void, RPC< void > >& completion,
00106 MedusaID node, InetAddress address);
00107
00109 RPC< void > register_node(MedusaID node, InetAddress address);
00110
00113
void lookup_node(
const Callback<
void, RPC< InetAddress > >& completion,
00114 MedusaID node);
00115
00117 RPC< InetAddress > lookup_node(MedusaID node);
00118
00121
void set_backup_pair(
const Callback<
void, RPC< void > >& completion,
00122 MedusaID primary, MedusaID secondary);
00123
00125 RPC< void > set_backup_pair(MedusaID primary, MedusaID secondary);
00126
00129
void get_backup(
const Callback<
void, RPC< MedusaID > >& completion,
00130 MedusaID primary);
00131
00133 RPC< MedusaID > get_backup(MedusaID primary);
00134
00137
void add_responsability(
const Callback<
void, RPC< void > >& completion,
00138 MedusaID node, ptr<Object> object,
bool standalone);
00139
00141 RPC< void > add_responsability(MedusaID node, ptr<Object> object,
bool standalone);
00142
00145
void add_responsabilities(
const Callback<
void, RPC< void > >& completion,
00146 MedusaID node, vector< pair< ptr<Object>,
bool > > objects);
00147
00149 RPC< void > add_responsabilities(MedusaID node, vector< pair< ptr<Object>,
bool > > objects);
00150
00153
void remove_responsability(
const Callback<
void, RPC< void > >& completion,
00154 MedusaID node, Name name);
00155
00157 RPC< void > remove_responsability(MedusaID node, Name name);
00158
00161
void remove_responsabilities(
const Callback<
void, RPC< void > >& completion,
00162 MedusaID node, vector<Name> names);
00163
00165 RPC< void > remove_responsabilities(MedusaID node, vector<Name> names);
00166
00169
void get_responsabilities(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion,
00170 MedusaID node);
00171
00173 RPC< vector< ptr<Object> > > get_responsabilities(MedusaID node);
00174
00177
void dump(
const Callback<
void, RPC< string > >& completion);
00178
00180 RPC< string > dump();
00181
00182 };
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
#else // !defined(DOXYGEN_SKIP)
00196
00197
namespace __nmstl_tmp_rpc_defs {
00198
template<
typename X>
struct RPCDefs;
00199
template<
typename X>
struct Remote;
00200
using namespace Borealis;
00201
template<>
00202
struct RPCDefs<Borealis::CentralLookupServer> {
00203
static const int register_object_METHOD_ID = 20000;
00204
struct register_object_IN :
public rpc_request_1< void > {
00205 ptr<Object> object;
00206 register_object_IN() {}
00207 register_object_IN(ptr<Object> object) : object(object) {}
00208 rpc_message *clone()
const {
return new register_object_IN(*
this); }
00209 string as_string()
const {
00210 string out;
00211 out <<
"register_object_IN{" <<
"object=" << object <<
"}";
00212
return out;
00213 }
00214 NMSTL_SIMPLY_SERIALIZABLE(register_object_IN, << Serial::tag(
"param") << object );
00215 NMSTL_SERIAL_TAG(register_object_IN,
"params");
00216 };
00217
class register_object_OUT {
00218 RPCStatus m_stat;
00219
public:
00220 operator const void * ()
const {
return m_stat; }
00221
const RPCStatus& stat()
const {
return m_stat; }
00222
bool get()
const {
return true; }
00223 };
00224
static const int register_object_set_METHOD_ID = 20001;
00225
struct register_object_set_IN :
public rpc_request_1< void > {
00226 ptr<Object> object;
00227 register_object_set_IN() {}
00228 register_object_set_IN(ptr<Object> object) : object(object) {}
00229 rpc_message *clone()
const {
return new register_object_set_IN(*
this); }
00230 string as_string()
const {
00231 string out;
00232 out <<
"register_object_set_IN{" <<
"object=" << object <<
"}";
00233
return out;
00234 }
00235 NMSTL_SIMPLY_SERIALIZABLE(register_object_set_IN, << Serial::tag(
"param") << object );
00236 NMSTL_SERIAL_TAG(register_object_set_IN,
"params");
00237 };
00238
class register_object_set_OUT {
00239 RPCStatus m_stat;
00240
public:
00241 operator const void * ()
const {
return m_stat; }
00242
const RPCStatus& stat()
const {
return m_stat; }
00243
bool get()
const {
return true; }
00244 };
00245
static const int register_objects_METHOD_ID = 20002;
00246
struct register_objects_IN :
public rpc_request_1< void > {
00247 vector< ptr<Object> > objects;
00248 register_objects_IN() {}
00249 register_objects_IN(vector< ptr<Object> > objects) : objects(objects) {}
00250 rpc_message *clone()
const {
return new register_objects_IN(*
this); }
00251 string as_string()
const {
00252 string out;
00253 out <<
"register_objects_IN{" <<
"objects=" << objects <<
"}";
00254
return out;
00255 }
00256 NMSTL_SIMPLY_SERIALIZABLE(register_objects_IN, << Serial::tag(
"param") << objects );
00257 NMSTL_SERIAL_TAG(register_objects_IN,
"params");
00258 };
00259
class register_objects_OUT {
00260 RPCStatus m_stat;
00261
public:
00262 operator const void * ()
const {
return m_stat; }
00263
const RPCStatus& stat()
const {
return m_stat; }
00264
bool get()
const {
return true; }
00265 };
00266
static const int register_object_sets_METHOD_ID = 20003;
00267
struct register_object_sets_IN :
public rpc_request_1< void > {
00268 vector< ptr<Object> > objects;
00269 register_object_sets_IN() {}
00270 register_object_sets_IN(vector< ptr<Object> > objects) : objects(objects) {}
00271 rpc_message *clone()
const {
return new register_object_sets_IN(*
this); }
00272 string as_string()
const {
00273 string out;
00274 out <<
"register_object_sets_IN{" <<
"objects=" << objects <<
"}";
00275
return out;
00276 }
00277 NMSTL_SIMPLY_SERIALIZABLE(register_object_sets_IN, << Serial::tag(
"param") << objects );
00278 NMSTL_SERIAL_TAG(register_object_sets_IN,
"params");
00279 };
00280
class register_object_sets_OUT {
00281 RPCStatus m_stat;
00282
public:
00283 operator const void * ()
const {
return m_stat; }
00284
const RPCStatus& stat()
const {
return m_stat; }
00285
bool get()
const {
return true; }
00286 };
00287
static const int lookup_object_METHOD_ID = 20004;
00288
struct lookup_object_IN :
public rpc_request_1< ptr<Object> > {
00289 Name name;
00290 lookup_object_IN() {}
00291 lookup_object_IN(Name name) : name(name) {}
00292 rpc_message *clone()
const {
return new lookup_object_IN(*
this); }
00293 string as_string()
const {
00294 string out;
00295 out <<
"lookup_object_IN{" <<
"name=" << name <<
"}";
00296
return out;
00297 }
00298 NMSTL_SIMPLY_SERIALIZABLE(lookup_object_IN, << Serial::tag(
"param") << name );
00299 NMSTL_SERIAL_TAG(lookup_object_IN,
"params");
00300 };
00301
class lookup_object_OUT {
00302 RPCStatus m_stat;
00303 ptr<Object> m_val;
00304
public:
00305 operator const void * ()
const {
return m_stat; }
00306
const RPCStatus& stat()
const {
return m_stat; }
00307 ptr<Object> get()
const {
return m_val; }
00308 };
00309
static const int lookup_object_set_METHOD_ID = 20005;
00310
struct lookup_object_set_IN :
public rpc_request_1< vector< ptr<Object> > > {
00311 Name name;
00312 lookup_object_set_IN() {}
00313 lookup_object_set_IN(Name name) : name(name) {}
00314 rpc_message *clone()
const {
return new lookup_object_set_IN(*
this); }
00315 string as_string()
const {
00316 string out;
00317 out <<
"lookup_object_set_IN{" <<
"name=" << name <<
"}";
00318
return out;
00319 }
00320 NMSTL_SIMPLY_SERIALIZABLE(lookup_object_set_IN, << Serial::tag(
"param") << name );
00321 NMSTL_SERIAL_TAG(lookup_object_set_IN,
"params");
00322 };
00323
class lookup_object_set_OUT {
00324 RPCStatus m_stat;
00325 vector< ptr<Object> > m_val;
00326
public:
00327 operator const void * ()
const {
return m_stat; }
00328
const RPCStatus& stat()
const {
return m_stat; }
00329 vector< ptr<Object> > get()
const {
return m_val; }
00330 };
00331
static const int lookup_objects_METHOD_ID = 20006;
00332
struct lookup_objects_IN :
public rpc_request_1< vector< ptr<Object> > > {
00333 vector<Name> names;
00334 lookup_objects_IN() {}
00335 lookup_objects_IN(vector<Name> names) : names(names) {}
00336 rpc_message *clone()
const {
return new lookup_objects_IN(*
this); }
00337 string as_string()
const {
00338 string out;
00339 out <<
"lookup_objects_IN{" <<
"names=" << names <<
"}";
00340
return out;
00341 }
00342 NMSTL_SIMPLY_SERIALIZABLE(lookup_objects_IN, << Serial::tag(
"param") << names );
00343 NMSTL_SERIAL_TAG(lookup_objects_IN,
"params");
00344 };
00345
class lookup_objects_OUT {
00346 RPCStatus m_stat;
00347 vector< ptr<Object> > m_val;
00348
public:
00349 operator const void * ()
const {
return m_stat; }
00350
const RPCStatus& stat()
const {
return m_stat; }
00351 vector< ptr<Object> > get()
const {
return m_val; }
00352 };
00353
static const int lookup_object_sets_METHOD_ID = 20007;
00354
struct lookup_object_sets_IN :
public rpc_request_1< vector< vector< ptr<Object> > > > {
00355 vector<Name> names;
00356 lookup_object_sets_IN() {}
00357 lookup_object_sets_IN(vector<Name> names) : names(names) {}
00358 rpc_message *clone()
const {
return new lookup_object_sets_IN(*
this); }
00359 string as_string()
const {
00360 string out;
00361 out <<
"lookup_object_sets_IN{" <<
"names=" << names <<
"}";
00362
return out;
00363 }
00364 NMSTL_SIMPLY_SERIALIZABLE(lookup_object_sets_IN, << Serial::tag(
"param") << names );
00365 NMSTL_SERIAL_TAG(lookup_object_sets_IN,
"params");
00366 };
00367
class lookup_object_sets_OUT {
00368 RPCStatus m_stat;
00369 vector< vector< ptr<Object> > > m_val;
00370
public:
00371 operator const void * ()
const {
return m_stat; }
00372
const RPCStatus& stat()
const {
return m_stat; }
00373 vector< vector< ptr<Object> > > get()
const {
return m_val; }
00374 };
00375
static const int register_node_METHOD_ID = 20008;
00376
struct register_node_IN :
public rpc_request_1< void > {
00377 MedusaID node; InetAddress address;
00378 register_node_IN() {}
00379 register_node_IN(MedusaID node, InetAddress address) : node(node), address(address) {}
00380 rpc_message *clone()
const {
return new register_node_IN(*
this); }
00381 string as_string()
const {
00382 string out;
00383 out <<
"register_node_IN{" <<
"node=" << node <<
", address=" << address <<
"}";
00384
return out;
00385 }
00386 NMSTL_SIMPLY_SERIALIZABLE(register_node_IN, << Serial::tag(
"param") << node << address );
00387 NMSTL_SERIAL_TAG(register_node_IN,
"params");
00388 };
00389
class register_node_OUT {
00390 RPCStatus m_stat;
00391
public:
00392 operator const void * ()
const {
return m_stat; }
00393
const RPCStatus& stat()
const {
return m_stat; }
00394
bool get()
const {
return true; }
00395 };
00396
static const int lookup_node_METHOD_ID = 20009;
00397
struct lookup_node_IN :
public rpc_request_1< InetAddress > {
00398 MedusaID node;
00399 lookup_node_IN() {}
00400 lookup_node_IN(MedusaID node) : node(node) {}
00401 rpc_message *clone()
const {
return new lookup_node_IN(*
this); }
00402 string as_string()
const {
00403 string out;
00404 out <<
"lookup_node_IN{" <<
"node=" << node <<
"}";
00405
return out;
00406 }
00407 NMSTL_SIMPLY_SERIALIZABLE(lookup_node_IN, << Serial::tag(
"param") << node );
00408 NMSTL_SERIAL_TAG(lookup_node_IN,
"params");
00409 };
00410
class lookup_node_OUT {
00411 RPCStatus m_stat;
00412 InetAddress m_val;
00413
public:
00414 operator const void * ()
const {
return m_stat; }
00415
const RPCStatus& stat()
const {
return m_stat; }
00416 InetAddress get()
const {
return m_val; }
00417 };
00418
static const int set_backup_pair_METHOD_ID = 20010;
00419
struct set_backup_pair_IN :
public rpc_request_1< void > {
00420 MedusaID primary; MedusaID secondary;
00421 set_backup_pair_IN() {}
00422 set_backup_pair_IN(MedusaID primary, MedusaID secondary) : primary(primary), secondary(secondary) {}
00423 rpc_message *clone()
const {
return new set_backup_pair_IN(*
this); }
00424 string as_string()
const {
00425 string out;
00426 out <<
"set_backup_pair_IN{" <<
"primary=" << primary <<
", secondary=" << secondary <<
"}";
00427
return out;
00428 }
00429 NMSTL_SIMPLY_SERIALIZABLE(set_backup_pair_IN, << Serial::tag(
"param") << primary << secondary );
00430 NMSTL_SERIAL_TAG(set_backup_pair_IN,
"params");
00431 };
00432
class set_backup_pair_OUT {
00433 RPCStatus m_stat;
00434
public:
00435 operator const void * ()
const {
return m_stat; }
00436
const RPCStatus& stat()
const {
return m_stat; }
00437
bool get()
const {
return true; }
00438 };
00439
static const int get_backup_METHOD_ID = 20011;
00440
struct get_backup_IN :
public rpc_request_1< MedusaID > {
00441 MedusaID primary;
00442 get_backup_IN() {}
00443 get_backup_IN(MedusaID primary) : primary(primary) {}
00444 rpc_message *clone()
const {
return new get_backup_IN(*
this); }
00445 string as_string()
const {
00446 string out;
00447 out <<
"get_backup_IN{" <<
"primary=" << primary <<
"}";
00448
return out;
00449 }
00450 NMSTL_SIMPLY_SERIALIZABLE(get_backup_IN, << Serial::tag(
"param") << primary );
00451 NMSTL_SERIAL_TAG(get_backup_IN,
"params");
00452 };
00453
class get_backup_OUT {
00454 RPCStatus m_stat;
00455 MedusaID m_val;
00456
public:
00457 operator const void * ()
const {
return m_stat; }
00458
const RPCStatus& stat()
const {
return m_stat; }
00459 MedusaID get()
const {
return m_val; }
00460 };
00461
static const int add_responsability_METHOD_ID = 20012;
00462
struct add_responsability_IN :
public rpc_request_1< void > {
00463 MedusaID node; ptr<Object> object;
bool standalone;
00464 add_responsability_IN() {}
00465 add_responsability_IN(MedusaID node, ptr<Object> object,
bool standalone) : node(node), object(object), standalone(standalone) {}
00466 rpc_message *clone()
const {
return new add_responsability_IN(*
this); }
00467 string as_string()
const {
00468 string out;
00469 out <<
"add_responsability_IN{" <<
"node=" << node <<
", object=" << object <<
", standalone=" << standalone <<
"}";
00470
return out;
00471 }
00472 NMSTL_SIMPLY_SERIALIZABLE(add_responsability_IN, << Serial::tag(
"param") << node << object << standalone );
00473 NMSTL_SERIAL_TAG(add_responsability_IN,
"params");
00474 };
00475
class add_responsability_OUT {
00476 RPCStatus m_stat;
00477
public:
00478 operator const void * ()
const {
return m_stat; }
00479
const RPCStatus& stat()
const {
return m_stat; }
00480
bool get()
const {
return true; }
00481 };
00482
static const int add_responsabilities_METHOD_ID = 20013;
00483
struct add_responsabilities_IN :
public rpc_request_1< void > {
00484 MedusaID node; vector< pair< ptr<Object>,
bool > > objects;
00485 add_responsabilities_IN() {}
00486 add_responsabilities_IN(MedusaID node, vector< pair< ptr<Object>,
bool > > objects) : node(node), objects(objects) {}
00487 rpc_message *clone()
const {
return new add_responsabilities_IN(*
this); }
00488 string as_string()
const {
00489 string out;
00490 out <<
"add_responsabilities_IN{" <<
"node=" << node <<
", objects=" << objects <<
"}";
00491
return out;
00492 }
00493 NMSTL_SIMPLY_SERIALIZABLE(add_responsabilities_IN, << Serial::tag(
"param") << node << objects );
00494 NMSTL_SERIAL_TAG(add_responsabilities_IN,
"params");
00495 };
00496
class add_responsabilities_OUT {
00497 RPCStatus m_stat;
00498
public:
00499 operator const void * ()
const {
return m_stat; }
00500
const RPCStatus& stat()
const {
return m_stat; }
00501
bool get()
const {
return true; }
00502 };
00503
static const int remove_responsability_METHOD_ID = 20014;
00504
struct remove_responsability_IN :
public rpc_request_1< void > {
00505 MedusaID node; Name name;
00506 remove_responsability_IN() {}
00507 remove_responsability_IN(MedusaID node, Name name) : node(node), name(name) {}
00508 rpc_message *clone()
const {
return new remove_responsability_IN(*
this); }
00509 string as_string()
const {
00510 string out;
00511 out <<
"remove_responsability_IN{" <<
"node=" << node <<
", name=" << name <<
"}";
00512
return out;
00513 }
00514 NMSTL_SIMPLY_SERIALIZABLE(remove_responsability_IN, << Serial::tag(
"param") << node << name );
00515 NMSTL_SERIAL_TAG(remove_responsability_IN,
"params");
00516 };
00517
class remove_responsability_OUT {
00518 RPCStatus m_stat;
00519
public:
00520 operator const void * ()
const {
return m_stat; }
00521
const RPCStatus& stat()
const {
return m_stat; }
00522
bool get()
const {
return true; }
00523 };
00524
static const int remove_responsabilities_METHOD_ID = 20015;
00525
struct remove_responsabilities_IN :
public rpc_request_1< void > {
00526 MedusaID node; vector<Name> names;
00527 remove_responsabilities_IN() {}
00528 remove_responsabilities_IN(MedusaID node, vector<Name> names) : node(node), names(names) {}
00529 rpc_message *clone()
const {
return new remove_responsabilities_IN(*
this); }
00530 string as_string()
const {
00531 string out;
00532 out <<
"remove_responsabilities_IN{" <<
"node=" << node <<
", names=" << names <<
"}";
00533
return out;
00534 }
00535 NMSTL_SIMPLY_SERIALIZABLE(remove_responsabilities_IN, << Serial::tag(
"param") << node << names );
00536 NMSTL_SERIAL_TAG(remove_responsabilities_IN,
"params");
00537 };
00538
class remove_responsabilities_OUT {
00539 RPCStatus m_stat;
00540
public:
00541 operator const void * ()
const {
return m_stat; }
00542
const RPCStatus& stat()
const {
return m_stat; }
00543
bool get()
const {
return true; }
00544 };
00545
static const int get_responsabilities_METHOD_ID = 20016;
00546
struct get_responsabilities_IN :
public rpc_request_1< vector< ptr<Object> > > {
00547 MedusaID node;
00548 get_responsabilities_IN() {}
00549 get_responsabilities_IN(MedusaID node) : node(node) {}
00550 rpc_message *clone()
const {
return new get_responsabilities_IN(*
this); }
00551 string as_string()
const {
00552 string out;
00553 out <<
"get_responsabilities_IN{" <<
"node=" << node <<
"}";
00554
return out;
00555 }
00556 NMSTL_SIMPLY_SERIALIZABLE(get_responsabilities_IN, << Serial::tag(
"param") << node );
00557 NMSTL_SERIAL_TAG(get_responsabilities_IN,
"params");
00558 };
00559
class get_responsabilities_OUT {
00560 RPCStatus m_stat;
00561 vector< ptr<Object> > m_val;
00562
public:
00563 operator const void * ()
const {
return m_stat; }
00564
const RPCStatus& stat()
const {
return m_stat; }
00565 vector< ptr<Object> > get()
const {
return m_val; }
00566 };
00567
static const int dump_METHOD_ID = 20017;
00568
struct dump_IN :
public rpc_request_1< string > {
00569
00570 dump_IN() {}
00571 rpc_message *clone()
const {
return new dump_IN(*
this); }
00572 string as_string()
const {
00573 string out;
00574 out <<
"dump_IN{" <<
"}";
00575
return out;
00576 }
00577 NMSTL_SIMPLY_SERIALIZABLE(dump_IN, << Serial::tag(
"param") );
00578 NMSTL_SERIAL_TAG(dump_IN,
"params");
00579 };
00580
class dump_OUT {
00581 RPCStatus m_stat;
00582 string m_val;
00583
public:
00584 operator const void * ()
const {
return m_stat; }
00585
const RPCStatus& stat()
const {
return m_stat; }
00586 string get()
const {
return m_val; }
00587 };
00588
static const vector<pair<string, int> >& method_list() {
00589
static const pair<string, int> methods[] = {
00590 pair<string, int>(
"register_object", 20000),
00591 pair<string, int>(
"register_object_set", 20001),
00592 pair<string, int>(
"register_objects", 20002),
00593 pair<string, int>(
"register_object_sets", 20003),
00594 pair<string, int>(
"lookup_object", 20004),
00595 pair<string, int>(
"lookup_object_set", 20005),
00596 pair<string, int>(
"lookup_objects", 20006),
00597 pair<string, int>(
"lookup_object_sets", 20007),
00598 pair<string, int>(
"register_node", 20008),
00599 pair<string, int>(
"lookup_node", 20009),
00600 pair<string, int>(
"set_backup_pair", 20010),
00601 pair<string, int>(
"get_backup", 20011),
00602 pair<string, int>(
"add_responsability", 20012),
00603 pair<string, int>(
"add_responsabilities", 20013),
00604 pair<string, int>(
"remove_responsability", 20014),
00605 pair<string, int>(
"remove_responsabilities", 20015),
00606 pair<string, int>(
"get_responsabilities", 20016),
00607 pair<string, int>(
"dump", 20017)
00608 };
00609
static const vector<pair<string, int> > ret(methods, methods +
sizeof methods /
sizeof methods[0]);
00610
return ret;
00611 };
00612
static const map<string, int>& method_id_by_name() {
00613
static const map<string, int> ret(method_list().begin(), method_list().end());
00614
return ret;
00615 }
00616
static const map<int, string>& method_name_by_id() {
00617
static const map<int, string> ret = RPCObject::reverse_map(method_id_by_name());
00618
return ret;
00619 }
00620 };
00621
template<>
00622
class Remote<Borealis::CentralLookupServer> :
public RemoteObject {
00623
friend class RPCClient;
00624
protected:
00625 Remote<Borealis::CentralLookupServer>(RPCClient& cli, rpc_object_id object_id) :
00626 RemoteObject(cli, object_id) {}
00627
00628
public:
00629 Remote<Borealis::CentralLookupServer>() {}
00630
void register_object(
const Callback<
void, RPC< void > >& completion, ptr<Object> object)
const {
00631 RPCDefs<Borealis::CentralLookupServer>::register_object_IN *req =
00632
new RPCDefs<Borealis::CentralLookupServer>::register_object_IN(object);
00633 req->object_id = object_id();
00634 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_METHOD_ID;
00635 req->method_name =
"register_object";
00636 req->cb = completion;
00637 client().send_request(ptr<rpc_request>(req));
00638 }
00639 RPC< void > register_object(ptr<Object> object)
const {
00640 RPCDefs<Borealis::CentralLookupServer>::register_object_IN *req =
00641
new RPCDefs<Borealis::CentralLookupServer>::register_object_IN(object);
00642 ptr<rpc_request> preq(req);
00643 req->object_id = object_id();
00644 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_METHOD_ID;
00645 req->method_name =
"register_object";
00646
bool done =
false; RPC< void > ret;
00647 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00648 client().send_request(preq);
00649
while (!done && client().block()) ;
00650 req->cb = Callback<void, RPC< void > >();
00651
return ret;
00652 }
00653
typedef const RPCDefs<Borealis::CentralLookupServer>::register_object_OUT ®ister_object_result;
00654
void register_object_set(
const Callback<
void, RPC< void > >& completion, ptr<Object> object)
const {
00655 RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN *req =
00656
new RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN(object);
00657 req->object_id = object_id();
00658 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_set_METHOD_ID;
00659 req->method_name =
"register_object_set";
00660 req->cb = completion;
00661 client().send_request(ptr<rpc_request>(req));
00662 }
00663 RPC< void > register_object_set(ptr<Object> object)
const {
00664 RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN *req =
00665
new RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN(object);
00666 ptr<rpc_request> preq(req);
00667 req->object_id = object_id();
00668 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_set_METHOD_ID;
00669 req->method_name =
"register_object_set";
00670
bool done =
false; RPC< void > ret;
00671 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00672 client().send_request(preq);
00673
while (!done && client().block()) ;
00674 req->cb = Callback<void, RPC< void > >();
00675
return ret;
00676 }
00677
typedef const RPCDefs<Borealis::CentralLookupServer>::register_object_set_OUT ®ister_object_set_result;
00678
void register_objects(
const Callback<
void, RPC< void > >& completion, vector< ptr<Object> > objects)
const {
00679 RPCDefs<Borealis::CentralLookupServer>::register_objects_IN *req =
00680
new RPCDefs<Borealis::CentralLookupServer>::register_objects_IN(objects);
00681 req->object_id = object_id();
00682 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_objects_METHOD_ID;
00683 req->method_name =
"register_objects";
00684 req->cb = completion;
00685 client().send_request(ptr<rpc_request>(req));
00686 }
00687 RPC< void > register_objects(vector< ptr<Object> > objects)
const {
00688 RPCDefs<Borealis::CentralLookupServer>::register_objects_IN *req =
00689
new RPCDefs<Borealis::CentralLookupServer>::register_objects_IN(objects);
00690 ptr<rpc_request> preq(req);
00691 req->object_id = object_id();
00692 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_objects_METHOD_ID;
00693 req->method_name =
"register_objects";
00694
bool done =
false; RPC< void > ret;
00695 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00696 client().send_request(preq);
00697
while (!done && client().block()) ;
00698 req->cb = Callback<void, RPC< void > >();
00699
return ret;
00700 }
00701
typedef const RPCDefs<Borealis::CentralLookupServer>::register_objects_OUT ®ister_objects_result;
00702
void register_object_sets(
const Callback<
void, RPC< void > >& completion, vector< ptr<Object> > objects)
const {
00703 RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN *req =
00704
new RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN(objects);
00705 req->object_id = object_id();
00706 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_sets_METHOD_ID;
00707 req->method_name =
"register_object_sets";
00708 req->cb = completion;
00709 client().send_request(ptr<rpc_request>(req));
00710 }
00711 RPC< void > register_object_sets(vector< ptr<Object> > objects)
const {
00712 RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN *req =
00713
new RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN(objects);
00714 ptr<rpc_request> preq(req);
00715 req->object_id = object_id();
00716 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_object_sets_METHOD_ID;
00717 req->method_name =
"register_object_sets";
00718
bool done =
false; RPC< void > ret;
00719 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00720 client().send_request(preq);
00721
while (!done && client().block()) ;
00722 req->cb = Callback<void, RPC< void > >();
00723
return ret;
00724 }
00725
typedef const RPCDefs<Borealis::CentralLookupServer>::register_object_sets_OUT ®ister_object_sets_result;
00726
void lookup_object(
const Callback<
void, RPC< ptr<Object> > >& completion, Name name)
const {
00727 RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN *req =
00728
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN(name);
00729 req->object_id = object_id();
00730 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_METHOD_ID;
00731 req->method_name =
"lookup_object";
00732 req->cb = completion;
00733 client().send_request(ptr<rpc_request>(req));
00734 }
00735 RPC< ptr<Object> > lookup_object(Name name)
const {
00736 RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN *req =
00737
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN(name);
00738 ptr<rpc_request> preq(req);
00739 req->object_id = object_id();
00740 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_METHOD_ID;
00741 req->method_name =
"lookup_object";
00742
bool done =
false; RPC< ptr<Object> > ret;
00743 req->cb = wrap(&rpc_sync_completion< ptr<Object> >, &done, &ret);
00744 client().send_request(preq);
00745
while (!done && client().block()) ;
00746 req->cb = Callback<void, RPC< ptr<Object> > >();
00747
return ret;
00748 }
00749
typedef const RPCDefs<Borealis::CentralLookupServer>::lookup_object_OUT &lookup_object_result;
00750
void lookup_object_set(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion, Name name)
const {
00751 RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN *req =
00752
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN(name);
00753 req->object_id = object_id();
00754 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_METHOD_ID;
00755 req->method_name =
"lookup_object_set";
00756 req->cb = completion;
00757 client().send_request(ptr<rpc_request>(req));
00758 }
00759 RPC< vector< ptr<Object> > > lookup_object_set(Name name)
const {
00760 RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN *req =
00761
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN(name);
00762 ptr<rpc_request> preq(req);
00763 req->object_id = object_id();
00764 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_METHOD_ID;
00765 req->method_name =
"lookup_object_set";
00766
bool done =
false; RPC< vector< ptr<Object> > > ret;
00767 req->cb = wrap(&rpc_sync_completion< vector< ptr<Object> > >, &done, &ret);
00768 client().send_request(preq);
00769
while (!done && client().block()) ;
00770 req->cb = Callback<void, RPC< vector< ptr<Object> > > >();
00771
return ret;
00772 }
00773
typedef const RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_OUT &lookup_object_set_result;
00774
void lookup_objects(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion, vector<Name> names)
const {
00775 RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN *req =
00776
new RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN(names);
00777 req->object_id = object_id();
00778 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_objects_METHOD_ID;
00779 req->method_name =
"lookup_objects";
00780 req->cb = completion;
00781 client().send_request(ptr<rpc_request>(req));
00782 }
00783 RPC< vector< ptr<Object> > > lookup_objects(vector<Name> names)
const {
00784 RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN *req =
00785
new RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN(names);
00786 ptr<rpc_request> preq(req);
00787 req->object_id = object_id();
00788 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_objects_METHOD_ID;
00789 req->method_name =
"lookup_objects";
00790
bool done =
false; RPC< vector< ptr<Object> > > ret;
00791 req->cb = wrap(&rpc_sync_completion< vector< ptr<Object> > >, &done, &ret);
00792 client().send_request(preq);
00793
while (!done && client().block()) ;
00794 req->cb = Callback<void, RPC< vector< ptr<Object> > > >();
00795
return ret;
00796 }
00797
typedef const RPCDefs<Borealis::CentralLookupServer>::lookup_objects_OUT &lookup_objects_result;
00798
void lookup_object_sets(
const Callback<
void, RPC< vector< vector< ptr<Object> > > > >& completion, vector<Name> names)
const {
00799 RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN *req =
00800
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN(names);
00801 req->object_id = object_id();
00802 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_METHOD_ID;
00803 req->method_name =
"lookup_object_sets";
00804 req->cb = completion;
00805 client().send_request(ptr<rpc_request>(req));
00806 }
00807 RPC< vector< vector< ptr<Object> > > > lookup_object_sets(vector<Name> names)
const {
00808 RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN *req =
00809
new RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN(names);
00810 ptr<rpc_request> preq(req);
00811 req->object_id = object_id();
00812 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_METHOD_ID;
00813 req->method_name =
"lookup_object_sets";
00814
bool done =
false; RPC< vector< vector< ptr<Object> > > > ret;
00815 req->cb = wrap(&rpc_sync_completion< vector< vector< ptr<Object> > > >, &done, &ret);
00816 client().send_request(preq);
00817
while (!done && client().block()) ;
00818 req->cb = Callback<void, RPC< vector< vector< ptr<Object> > > > >();
00819
return ret;
00820 }
00821
typedef const RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_OUT &lookup_object_sets_result;
00822
void register_node(
const Callback<
void, RPC< void > >& completion, MedusaID node, InetAddress address)
const {
00823 RPCDefs<Borealis::CentralLookupServer>::register_node_IN *req =
00824
new RPCDefs<Borealis::CentralLookupServer>::register_node_IN(node, address);
00825 req->object_id = object_id();
00826 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_node_METHOD_ID;
00827 req->method_name =
"register_node";
00828 req->cb = completion;
00829 client().send_request(ptr<rpc_request>(req));
00830 }
00831 RPC< void > register_node(MedusaID node, InetAddress address)
const {
00832 RPCDefs<Borealis::CentralLookupServer>::register_node_IN *req =
00833
new RPCDefs<Borealis::CentralLookupServer>::register_node_IN(node, address);
00834 ptr<rpc_request> preq(req);
00835 req->object_id = object_id();
00836 req->method_id = RPCDefs<Borealis::CentralLookupServer>::register_node_METHOD_ID;
00837 req->method_name =
"register_node";
00838
bool done =
false; RPC< void > ret;
00839 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00840 client().send_request(preq);
00841
while (!done && client().block()) ;
00842 req->cb = Callback<void, RPC< void > >();
00843
return ret;
00844 }
00845
typedef const RPCDefs<Borealis::CentralLookupServer>::register_node_OUT ®ister_node_result;
00846
void lookup_node(
const Callback<
void, RPC< InetAddress > >& completion, MedusaID node)
const {
00847 RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN *req =
00848
new RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN(node);
00849 req->object_id = object_id();
00850 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_node_METHOD_ID;
00851 req->method_name =
"lookup_node";
00852 req->cb = completion;
00853 client().send_request(ptr<rpc_request>(req));
00854 }
00855 RPC< InetAddress > lookup_node(MedusaID node)
const {
00856 RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN *req =
00857
new RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN(node);
00858 ptr<rpc_request> preq(req);
00859 req->object_id = object_id();
00860 req->method_id = RPCDefs<Borealis::CentralLookupServer>::lookup_node_METHOD_ID;
00861 req->method_name =
"lookup_node";
00862
bool done =
false; RPC< InetAddress > ret;
00863 req->cb = wrap(&rpc_sync_completion< InetAddress >, &done, &ret);
00864 client().send_request(preq);
00865
while (!done && client().block()) ;
00866 req->cb = Callback<void, RPC< InetAddress > >();
00867
return ret;
00868 }
00869
typedef const RPCDefs<Borealis::CentralLookupServer>::lookup_node_OUT &lookup_node_result;
00870
void set_backup_pair(
const Callback<
void, RPC< void > >& completion, MedusaID primary, MedusaID secondary)
const {
00871 RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN *req =
00872
new RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN(primary, secondary);
00873 req->object_id = object_id();
00874 req->method_id = RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_METHOD_ID;
00875 req->method_name =
"set_backup_pair";
00876 req->cb = completion;
00877 client().send_request(ptr<rpc_request>(req));
00878 }
00879 RPC< void > set_backup_pair(MedusaID primary, MedusaID secondary)
const {
00880 RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN *req =
00881
new RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN(primary, secondary);
00882 ptr<rpc_request> preq(req);
00883 req->object_id = object_id();
00884 req->method_id = RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_METHOD_ID;
00885 req->method_name =
"set_backup_pair";
00886
bool done =
false; RPC< void > ret;
00887 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00888 client().send_request(preq);
00889
while (!done && client().block()) ;
00890 req->cb = Callback<void, RPC< void > >();
00891
return ret;
00892 }
00893
typedef const RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_OUT &set_backup_pair_result;
00894
void get_backup(
const Callback<
void, RPC< MedusaID > >& completion, MedusaID primary)
const {
00895 RPCDefs<Borealis::CentralLookupServer>::get_backup_IN *req =
00896
new RPCDefs<Borealis::CentralLookupServer>::get_backup_IN(primary);
00897 req->object_id = object_id();
00898 req->method_id = RPCDefs<Borealis::CentralLookupServer>::get_backup_METHOD_ID;
00899 req->method_name =
"get_backup";
00900 req->cb = completion;
00901 client().send_request(ptr<rpc_request>(req));
00902 }
00903 RPC< MedusaID > get_backup(MedusaID primary)
const {
00904 RPCDefs<Borealis::CentralLookupServer>::get_backup_IN *req =
00905
new RPCDefs<Borealis::CentralLookupServer>::get_backup_IN(primary);
00906 ptr<rpc_request> preq(req);
00907 req->object_id = object_id();
00908 req->method_id = RPCDefs<Borealis::CentralLookupServer>::get_backup_METHOD_ID;
00909 req->method_name =
"get_backup";
00910
bool done =
false; RPC< MedusaID > ret;
00911 req->cb = wrap(&rpc_sync_completion< MedusaID >, &done, &ret);
00912 client().send_request(preq);
00913
while (!done && client().block()) ;
00914 req->cb = Callback<void, RPC< MedusaID > >();
00915
return ret;
00916 }
00917
typedef const RPCDefs<Borealis::CentralLookupServer>::get_backup_OUT &get_backup_result;
00918
void add_responsability(
const Callback<
void, RPC< void > >& completion, MedusaID node, ptr<Object> object,
bool standalone)
const {
00919 RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN *req =
00920
new RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN(node, object, standalone);
00921 req->object_id = object_id();
00922 req->method_id = RPCDefs<Borealis::CentralLookupServer>::add_responsability_METHOD_ID;
00923 req->method_name =
"add_responsability";
00924 req->cb = completion;
00925 client().send_request(ptr<rpc_request>(req));
00926 }
00927 RPC< void > add_responsability(MedusaID node, ptr<Object> object,
bool standalone)
const {
00928 RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN *req =
00929
new RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN(node, object, standalone);
00930 ptr<rpc_request> preq(req);
00931 req->object_id = object_id();
00932 req->method_id = RPCDefs<Borealis::CentralLookupServer>::add_responsability_METHOD_ID;
00933 req->method_name =
"add_responsability";
00934
bool done =
false; RPC< void > ret;
00935 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00936 client().send_request(preq);
00937
while (!done && client().block()) ;
00938 req->cb = Callback<void, RPC< void > >();
00939
return ret;
00940 }
00941
typedef const RPCDefs<Borealis::CentralLookupServer>::add_responsability_OUT &add_responsability_result;
00942
void add_responsabilities(
const Callback<
void, RPC< void > >& completion, MedusaID node, vector< pair< ptr<Object>,
bool > > objects)
const {
00943 RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN *req =
00944
new RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN(node, objects);
00945 req->object_id = object_id();
00946 req->method_id = RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_METHOD_ID;
00947 req->method_name =
"add_responsabilities";
00948 req->cb = completion;
00949 client().send_request(ptr<rpc_request>(req));
00950 }
00951 RPC< void > add_responsabilities(MedusaID node, vector< pair< ptr<Object>,
bool > > objects)
const {
00952 RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN *req =
00953
new RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN(node, objects);
00954 ptr<rpc_request> preq(req);
00955 req->object_id = object_id();
00956 req->method_id = RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_METHOD_ID;
00957 req->method_name =
"add_responsabilities";
00958
bool done =
false; RPC< void > ret;
00959 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00960 client().send_request(preq);
00961
while (!done && client().block()) ;
00962 req->cb = Callback<void, RPC< void > >();
00963
return ret;
00964 }
00965
typedef const RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_OUT &add_responsabilities_result;
00966
void remove_responsability(
const Callback<
void, RPC< void > >& completion, MedusaID node, Name name)
const {
00967 RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN *req =
00968
new RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN(node, name);
00969 req->object_id = object_id();
00970 req->method_id = RPCDefs<Borealis::CentralLookupServer>::remove_responsability_METHOD_ID;
00971 req->method_name =
"remove_responsability";
00972 req->cb = completion;
00973 client().send_request(ptr<rpc_request>(req));
00974 }
00975 RPC< void > remove_responsability(MedusaID node, Name name)
const {
00976 RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN *req =
00977
new RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN(node, name);
00978 ptr<rpc_request> preq(req);
00979 req->object_id = object_id();
00980 req->method_id = RPCDefs<Borealis::CentralLookupServer>::remove_responsability_METHOD_ID;
00981 req->method_name =
"remove_responsability";
00982
bool done =
false; RPC< void > ret;
00983 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
00984 client().send_request(preq);
00985
while (!done && client().block()) ;
00986 req->cb = Callback<void, RPC< void > >();
00987
return ret;
00988 }
00989
typedef const RPCDefs<Borealis::CentralLookupServer>::remove_responsability_OUT &remove_responsability_result;
00990
void remove_responsabilities(
const Callback<
void, RPC< void > >& completion, MedusaID node, vector<Name> names)
const {
00991 RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN *req =
00992
new RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN(node, names);
00993 req->object_id = object_id();
00994 req->method_id = RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_METHOD_ID;
00995 req->method_name =
"remove_responsabilities";
00996 req->cb = completion;
00997 client().send_request(ptr<rpc_request>(req));
00998 }
00999 RPC< void > remove_responsabilities(MedusaID node, vector<Name> names)
const {
01000 RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN *req =
01001
new RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN(node, names);
01002 ptr<rpc_request> preq(req);
01003 req->object_id = object_id();
01004 req->method_id = RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_METHOD_ID;
01005 req->method_name =
"remove_responsabilities";
01006
bool done =
false; RPC< void > ret;
01007 req->cb = wrap(&rpc_sync_completion< void >, &done, &ret);
01008 client().send_request(preq);
01009
while (!done && client().block()) ;
01010 req->cb = Callback<void, RPC< void > >();
01011
return ret;
01012 }
01013
typedef const RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_OUT &remove_responsabilities_result;
01014
void get_responsabilities(
const Callback<
void, RPC< vector< ptr<Object> > > >& completion, MedusaID node)
const {
01015 RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN *req =
01016
new RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN(node);
01017 req->object_id = object_id();
01018 req->method_id = RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_METHOD_ID;
01019 req->method_name =
"get_responsabilities";
01020 req->cb = completion;
01021 client().send_request(ptr<rpc_request>(req));
01022 }
01023 RPC< vector< ptr<Object> > > get_responsabilities(MedusaID node)
const {
01024 RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN *req =
01025
new RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN(node);
01026 ptr<rpc_request> preq(req);
01027 req->object_id = object_id();
01028 req->method_id = RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_METHOD_ID;
01029 req->method_name =
"get_responsabilities";
01030
bool done =
false; RPC< vector< ptr<Object> > > ret;
01031 req->cb = wrap(&rpc_sync_completion< vector< ptr<Object> > >, &done, &ret);
01032 client().send_request(preq);
01033
while (!done && client().block()) ;
01034 req->cb = Callback<void, RPC< vector< ptr<Object> > > >();
01035
return ret;
01036 }
01037
typedef const RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_OUT &get_responsabilities_result;
01038
void dump(
const Callback<
void, RPC< string > >& completion)
const {
01039 RPCDefs<Borealis::CentralLookupServer>::dump_IN *req =
01040
new RPCDefs<Borealis::CentralLookupServer>::dump_IN();
01041 req->object_id = object_id();
01042 req->method_id = RPCDefs<Borealis::CentralLookupServer>::dump_METHOD_ID;
01043 req->method_name =
"dump";
01044 req->cb = completion;
01045 client().send_request(ptr<rpc_request>(req));
01046 }
01047 RPC< string > dump()
const {
01048 RPCDefs<Borealis::CentralLookupServer>::dump_IN *req =
01049
new RPCDefs<Borealis::CentralLookupServer>::dump_IN();
01050 ptr<rpc_request> preq(req);
01051 req->object_id = object_id();
01052 req->method_id = RPCDefs<Borealis::CentralLookupServer>::dump_METHOD_ID;
01053 req->method_name =
"dump";
01054
bool done =
false; RPC< string > ret;
01055 req->cb = wrap(&rpc_sync_completion< string >, &done, &ret);
01056 client().send_request(preq);
01057
while (!done && client().block()) ;
01058 req->cb = Callback<void, RPC< string > >();
01059
return ret;
01060 }
01061
typedef const RPCDefs<Borealis::CentralLookupServer>::dump_OUT &dump_result;
01062 };
01063 };
01064
template<>
struct RPCDefs<Borealis::CentralLookupServer> : __nmstl_tmp_rpc_defs::RPCDefs<Borealis::CentralLookupServer> {};
01065
template<>
struct Remote<Borealis::CentralLookupServer> : __nmstl_tmp_rpc_defs::Remote<Borealis::CentralLookupServer> {
01066 Remote<Borealis::CentralLookupServer>() {}
01067 Remote<Borealis::CentralLookupServer>(RPCClient& cli, rpc_object_id object_id) :
01068 __nmstl_tmp_rpc_defs::Remote<Borealis::CentralLookupServer>(cli, object_id) {}
01069
01070 Remote<Borealis::CentralLookupServer>(
const __nmstl_tmp_rpc_defs::Remote<Borealis::CentralLookupServer>& x) :
01071 __nmstl_tmp_rpc_defs::Remote<Borealis::CentralLookupServer>(x) {}
01072 };
01073
01074
01075
#endif // !defined(DOXYGEN_SKIP)
01076
01077 NMSTL_NAMESPACE_END;
01078
01079
#endif // !defined(______SRC_RPC_CENTRALLOOKUPSERVER_H)
01080
01081
01082
01083
01084
01085
#ifdef NMSTL_RPC_DEFINE
01086
01087
#include <string>
01088
#include <map>
01089
#include <NMSTL/rpc>
01090
01091
void Borealis::CentralLookupServer::handle_request(
const NMSTL::RPCObject::response_cb& cb,
const NMSTL::ptr<NMSTL::rpc_request>& req) {
01092
switch(req->method_id) {
01093
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_METHOD_ID:
01094 {
01095
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN* inp =
01096 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN*>(req.get());
01097
01098
if (!inp) {
01099 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01100
" to Borealis::CentralLookupServer::register_object; expected " +
01101
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN);
01102 WARN << err;
01103 cb(err, 0,
true);
01104
return;
01105 }
01106
01107
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN& in = *inp;
01108 RPC< void > result = register_object(in.object);
01109
if (result.valid()) {
01110 NMSTL::rpc_message_1< void > ret;
01111 cb(
true, &ret,
true);
01112 }
else {
01113 cb(result.stat(), 0,
true);
01114 }
01115
break;
01116 }
01117
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_METHOD_ID:
01118 {
01119
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN* inp =
01120 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN*>(req.get());
01121
01122
if (!inp) {
01123 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01124
" to Borealis::CentralLookupServer::register_object_set; expected " +
01125
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN);
01126 WARN << err;
01127 cb(err, 0,
true);
01128
return;
01129 }
01130
01131
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN& in = *inp;
01132 RPC< void > result = register_object_set(in.object);
01133
if (result.valid()) {
01134 NMSTL::rpc_message_1< void > ret;
01135 cb(
true, &ret,
true);
01136 }
else {
01137 cb(result.stat(), 0,
true);
01138 }
01139
break;
01140 }
01141
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_METHOD_ID:
01142 {
01143
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN* inp =
01144 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN*>(req.get());
01145
01146
if (!inp) {
01147 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01148
" to Borealis::CentralLookupServer::register_objects; expected " +
01149
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN);
01150 WARN << err;
01151 cb(err, 0,
true);
01152
return;
01153 }
01154
01155
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN& in = *inp;
01156 RPC< void > result = register_objects(in.objects);
01157
if (result.valid()) {
01158 NMSTL::rpc_message_1< void > ret;
01159 cb(
true, &ret,
true);
01160 }
else {
01161 cb(result.stat(), 0,
true);
01162 }
01163
break;
01164 }
01165
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_METHOD_ID:
01166 {
01167
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN* inp =
01168 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN*>(req.get());
01169
01170
if (!inp) {
01171 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01172
" to Borealis::CentralLookupServer::register_object_sets; expected " +
01173
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN);
01174 WARN << err;
01175 cb(err, 0,
true);
01176
return;
01177 }
01178
01179
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN& in = *inp;
01180 RPC< void > result = register_object_sets(in.objects);
01181
if (result.valid()) {
01182 NMSTL::rpc_message_1< void > ret;
01183 cb(
true, &ret,
true);
01184 }
else {
01185 cb(result.stat(), 0,
true);
01186 }
01187
break;
01188 }
01189
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_METHOD_ID:
01190 {
01191
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN* inp =
01192 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN*>(req.get());
01193
01194
if (!inp) {
01195 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01196
" to Borealis::CentralLookupServer::lookup_object; expected " +
01197
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN);
01198 WARN << err;
01199 cb(err, 0,
true);
01200
return;
01201 }
01202
01203
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN& in = *inp;
01204 RPC< ptr<Object> > result = lookup_object(in.name);
01205
if (result.valid()) {
01206 NMSTL::rpc_message_1< ptr<Object> > ret(*result);
01207 cb(
true, &ret,
true);
01208 }
else {
01209 cb(result.stat(), 0,
true);
01210 }
01211
break;
01212 }
01213
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_METHOD_ID:
01214 {
01215
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN* inp =
01216 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN*>(req.get());
01217
01218
if (!inp) {
01219 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01220
" to Borealis::CentralLookupServer::lookup_object_set; expected " +
01221
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN);
01222 WARN << err;
01223 cb(err, 0,
true);
01224
return;
01225 }
01226
01227
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN& in = *inp;
01228 RPC< vector< ptr<Object> > > result = lookup_object_set(in.name);
01229
if (result.valid()) {
01230 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01231 cb(
true, &ret,
true);
01232 }
else {
01233 cb(result.stat(), 0,
true);
01234 }
01235
break;
01236 }
01237
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_METHOD_ID:
01238 {
01239
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN* inp =
01240 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN*>(req.get());
01241
01242
if (!inp) {
01243 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01244
" to Borealis::CentralLookupServer::lookup_objects; expected " +
01245
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN);
01246 WARN << err;
01247 cb(err, 0,
true);
01248
return;
01249 }
01250
01251
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN& in = *inp;
01252 RPC< vector< ptr<Object> > > result = lookup_objects(in.names);
01253
if (result.valid()) {
01254 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01255 cb(
true, &ret,
true);
01256 }
else {
01257 cb(result.stat(), 0,
true);
01258 }
01259
break;
01260 }
01261
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_METHOD_ID:
01262 {
01263
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN* inp =
01264 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN*>(req.get());
01265
01266
if (!inp) {
01267 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01268
" to Borealis::CentralLookupServer::lookup_object_sets; expected " +
01269
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN);
01270 WARN << err;
01271 cb(err, 0,
true);
01272
return;
01273 }
01274
01275
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN& in = *inp;
01276 RPC< vector< vector< ptr<Object> > > > result = lookup_object_sets(in.names);
01277
if (result.valid()) {
01278 NMSTL::rpc_message_1< vector< vector< ptr<Object> > > > ret(*result);
01279 cb(
true, &ret,
true);
01280 }
else {
01281 cb(result.stat(), 0,
true);
01282 }
01283
break;
01284 }
01285
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_METHOD_ID:
01286 {
01287
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN* inp =
01288 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN*>(req.get());
01289
01290
if (!inp) {
01291 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01292
" to Borealis::CentralLookupServer::register_node; expected " +
01293
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN);
01294 WARN << err;
01295 cb(err, 0,
true);
01296
return;
01297 }
01298
01299
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN& in = *inp;
01300 RPC< void > result = register_node(in.node, in.address);
01301
if (result.valid()) {
01302 NMSTL::rpc_message_1< void > ret;
01303 cb(
true, &ret,
true);
01304 }
else {
01305 cb(result.stat(), 0,
true);
01306 }
01307
break;
01308 }
01309
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_METHOD_ID:
01310 {
01311
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN* inp =
01312 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN*>(req.get());
01313
01314
if (!inp) {
01315 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01316
" to Borealis::CentralLookupServer::lookup_node; expected " +
01317
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN);
01318 WARN << err;
01319 cb(err, 0,
true);
01320
return;
01321 }
01322
01323
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN& in = *inp;
01324 RPC< InetAddress > result = lookup_node(in.node);
01325
if (result.valid()) {
01326 NMSTL::rpc_message_1< InetAddress > ret(*result);
01327 cb(
true, &ret,
true);
01328 }
else {
01329 cb(result.stat(), 0,
true);
01330 }
01331
break;
01332 }
01333
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_METHOD_ID:
01334 {
01335
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN* inp =
01336 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN*>(req.get());
01337
01338
if (!inp) {
01339 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01340
" to Borealis::CentralLookupServer::set_backup_pair; expected " +
01341
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN);
01342 WARN << err;
01343 cb(err, 0,
true);
01344
return;
01345 }
01346
01347
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN& in = *inp;
01348 RPC< void > result = set_backup_pair(in.primary, in.secondary);
01349
if (result.valid()) {
01350 NMSTL::rpc_message_1< void > ret;
01351 cb(
true, &ret,
true);
01352 }
else {
01353 cb(result.stat(), 0,
true);
01354 }
01355
break;
01356 }
01357
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_METHOD_ID:
01358 {
01359
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN* inp =
01360 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN*>(req.get());
01361
01362
if (!inp) {
01363 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01364
" to Borealis::CentralLookupServer::get_backup; expected " +
01365
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN);
01366 WARN << err;
01367 cb(err, 0,
true);
01368
return;
01369 }
01370
01371
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN& in = *inp;
01372 RPC< MedusaID > result = get_backup(in.primary);
01373
if (result.valid()) {
01374 NMSTL::rpc_message_1< MedusaID > ret(*result);
01375 cb(
true, &ret,
true);
01376 }
else {
01377 cb(result.stat(), 0,
true);
01378 }
01379
break;
01380 }
01381
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_METHOD_ID:
01382 {
01383
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN* inp =
01384 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN*>(req.get());
01385
01386
if (!inp) {
01387 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01388
" to Borealis::CentralLookupServer::add_responsability; expected " +
01389
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN);
01390 WARN << err;
01391 cb(err, 0,
true);
01392
return;
01393 }
01394
01395
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN& in = *inp;
01396 RPC< void > result = add_responsability(in.node, in.object, in.standalone);
01397
if (result.valid()) {
01398 NMSTL::rpc_message_1< void > ret;
01399 cb(
true, &ret,
true);
01400 }
else {
01401 cb(result.stat(), 0,
true);
01402 }
01403
break;
01404 }
01405
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_METHOD_ID:
01406 {
01407
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN* inp =
01408 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN*>(req.get());
01409
01410
if (!inp) {
01411 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01412
" to Borealis::CentralLookupServer::add_responsabilities; expected " +
01413
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN);
01414 WARN << err;
01415 cb(err, 0,
true);
01416
return;
01417 }
01418
01419
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN& in = *inp;
01420 RPC< void > result = add_responsabilities(in.node, in.objects);
01421
if (result.valid()) {
01422 NMSTL::rpc_message_1< void > ret;
01423 cb(
true, &ret,
true);
01424 }
else {
01425 cb(result.stat(), 0,
true);
01426 }
01427
break;
01428 }
01429
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_METHOD_ID:
01430 {
01431
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN* inp =
01432 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN*>(req.get());
01433
01434
if (!inp) {
01435 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01436
" to Borealis::CentralLookupServer::remove_responsability; expected " +
01437
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN);
01438 WARN << err;
01439 cb(err, 0,
true);
01440
return;
01441 }
01442
01443
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN& in = *inp;
01444 RPC< void > result = remove_responsability(in.node, in.name);
01445
if (result.valid()) {
01446 NMSTL::rpc_message_1< void > ret;
01447 cb(
true, &ret,
true);
01448 }
else {
01449 cb(result.stat(), 0,
true);
01450 }
01451
break;
01452 }
01453
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_METHOD_ID:
01454 {
01455
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN* inp =
01456 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN*>(req.get());
01457
01458
if (!inp) {
01459 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01460
" to Borealis::CentralLookupServer::remove_responsabilities; expected " +
01461
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN);
01462 WARN << err;
01463 cb(err, 0,
true);
01464
return;
01465 }
01466
01467
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN& in = *inp;
01468 RPC< void > result = remove_responsabilities(in.node, in.names);
01469
if (result.valid()) {
01470 NMSTL::rpc_message_1< void > ret;
01471 cb(
true, &ret,
true);
01472 }
else {
01473 cb(result.stat(), 0,
true);
01474 }
01475
break;
01476 }
01477
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_METHOD_ID:
01478 {
01479
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN* inp =
01480 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN*>(req.get());
01481
01482
if (!inp) {
01483 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01484
" to Borealis::CentralLookupServer::get_responsabilities; expected " +
01485
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN);
01486 WARN << err;
01487 cb(err, 0,
true);
01488
return;
01489 }
01490
01491
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN& in = *inp;
01492 RPC< vector< ptr<Object> > > result = get_responsabilities(in.node);
01493
if (result.valid()) {
01494 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01495 cb(
true, &ret,
true);
01496 }
else {
01497 cb(result.stat(), 0,
true);
01498 }
01499
break;
01500 }
01501
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_METHOD_ID:
01502 {
01503
const NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_IN* inp =
01504 dynamic_cast<const NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_IN*>(req.get());
01505
01506
if (!inp) {
01507 string err = string(
"Invalid RPC request type ") +
typeid(*(req.get())) +
01508
" to Borealis::CentralLookupServer::dump; expected " +
01509
typeid(NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_IN);
01510 WARN << err;
01511 cb(err, 0,
true);
01512
return;
01513 }
01514
01515 RPC< string > result = dump();
01516
if (result.valid()) {
01517 NMSTL::rpc_message_1< string > ret(*result);
01518 cb(
true, &ret,
true);
01519 }
else {
01520 cb(result.stat(), 0,
true);
01521 }
01522
break;
01523 }
01524
default:
01525 string err = string(
"Unknown method_id ") + req->method_id +
" in Borealis::CentralLookupServer::handle_request";
01526 WARN << err;
01527 cb(err, 0,
true);
01528 }
01529 }
01530
void Borealis::CentralLookupServer::handle_request(
const response_cb& cb, rpc_id method_id, ISerial& is) {
01531
switch(method_id) {
01532
case RPCDefs<Borealis::CentralLookupServer>::register_object_METHOD_ID:
01533 {
01534 RPCDefs<Borealis::CentralLookupServer>::register_object_IN in;
01535 is >> in;
01536
if (!is) {
01537 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::register_object: " << is.stat();
01538 cb(is.stat(), 0,
true);
01539
return;
01540 }
01541 DEBUG <<
"Handling register_object";
01542 RPC< void > result = register_object(in.object);
01543
if (result.valid()) {
01544 NMSTL::rpc_message_1< void > ret;
01545 cb(
true, &ret,
true);
01546 }
else {
01547 cb(result.stat(), 0,
true);
01548 }
01549
break;
01550 }
01551
case RPCDefs<Borealis::CentralLookupServer>::register_object_set_METHOD_ID:
01552 {
01553 RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN in;
01554 is >> in;
01555
if (!is) {
01556 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::register_object_set: " << is.stat();
01557 cb(is.stat(), 0,
true);
01558
return;
01559 }
01560 DEBUG <<
"Handling register_object_set";
01561 RPC< void > result = register_object_set(in.object);
01562
if (result.valid()) {
01563 NMSTL::rpc_message_1< void > ret;
01564 cb(
true, &ret,
true);
01565 }
else {
01566 cb(result.stat(), 0,
true);
01567 }
01568
break;
01569 }
01570
case RPCDefs<Borealis::CentralLookupServer>::register_objects_METHOD_ID:
01571 {
01572 RPCDefs<Borealis::CentralLookupServer>::register_objects_IN in;
01573 is >> in;
01574
if (!is) {
01575 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::register_objects: " << is.stat();
01576 cb(is.stat(), 0,
true);
01577
return;
01578 }
01579 DEBUG <<
"Handling register_objects";
01580 RPC< void > result = register_objects(in.objects);
01581
if (result.valid()) {
01582 NMSTL::rpc_message_1< void > ret;
01583 cb(
true, &ret,
true);
01584 }
else {
01585 cb(result.stat(), 0,
true);
01586 }
01587
break;
01588 }
01589
case RPCDefs<Borealis::CentralLookupServer>::register_object_sets_METHOD_ID:
01590 {
01591 RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN in;
01592 is >> in;
01593
if (!is) {
01594 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::register_object_sets: " << is.stat();
01595 cb(is.stat(), 0,
true);
01596
return;
01597 }
01598 DEBUG <<
"Handling register_object_sets";
01599 RPC< void > result = register_object_sets(in.objects);
01600
if (result.valid()) {
01601 NMSTL::rpc_message_1< void > ret;
01602 cb(
true, &ret,
true);
01603 }
else {
01604 cb(result.stat(), 0,
true);
01605 }
01606
break;
01607 }
01608
case RPCDefs<Borealis::CentralLookupServer>::lookup_object_METHOD_ID:
01609 {
01610 RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN in;
01611 is >> in;
01612
if (!is) {
01613 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::lookup_object: " << is.stat();
01614 cb(is.stat(), 0,
true);
01615
return;
01616 }
01617 DEBUG <<
"Handling lookup_object";
01618 RPC< ptr<Object> > result = lookup_object(in.name);
01619
if (result.valid()) {
01620 NMSTL::rpc_message_1< ptr<Object> > ret(*result);
01621 cb(
true, &ret,
true);
01622 }
else {
01623 cb(result.stat(), 0,
true);
01624 }
01625
break;
01626 }
01627
case RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_METHOD_ID:
01628 {
01629 RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN in;
01630 is >> in;
01631
if (!is) {
01632 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::lookup_object_set: " << is.stat();
01633 cb(is.stat(), 0,
true);
01634
return;
01635 }
01636 DEBUG <<
"Handling lookup_object_set";
01637 RPC< vector< ptr<Object> > > result = lookup_object_set(in.name);
01638
if (result.valid()) {
01639 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01640 cb(
true, &ret,
true);
01641 }
else {
01642 cb(result.stat(), 0,
true);
01643 }
01644
break;
01645 }
01646
case RPCDefs<Borealis::CentralLookupServer>::lookup_objects_METHOD_ID:
01647 {
01648 RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN in;
01649 is >> in;
01650
if (!is) {
01651 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::lookup_objects: " << is.stat();
01652 cb(is.stat(), 0,
true);
01653
return;
01654 }
01655 DEBUG <<
"Handling lookup_objects";
01656 RPC< vector< ptr<Object> > > result = lookup_objects(in.names);
01657
if (result.valid()) {
01658 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01659 cb(
true, &ret,
true);
01660 }
else {
01661 cb(result.stat(), 0,
true);
01662 }
01663
break;
01664 }
01665
case RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_METHOD_ID:
01666 {
01667 RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN in;
01668 is >> in;
01669
if (!is) {
01670 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::lookup_object_sets: " << is.stat();
01671 cb(is.stat(), 0,
true);
01672
return;
01673 }
01674 DEBUG <<
"Handling lookup_object_sets";
01675 RPC< vector< vector< ptr<Object> > > > result = lookup_object_sets(in.names);
01676
if (result.valid()) {
01677 NMSTL::rpc_message_1< vector< vector< ptr<Object> > > > ret(*result);
01678 cb(
true, &ret,
true);
01679 }
else {
01680 cb(result.stat(), 0,
true);
01681 }
01682
break;
01683 }
01684
case RPCDefs<Borealis::CentralLookupServer>::register_node_METHOD_ID:
01685 {
01686 RPCDefs<Borealis::CentralLookupServer>::register_node_IN in;
01687 is >> in;
01688
if (!is) {
01689 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::register_node: " << is.stat();
01690 cb(is.stat(), 0,
true);
01691
return;
01692 }
01693 DEBUG <<
"Handling register_node";
01694 RPC< void > result = register_node(in.node, in.address);
01695
if (result.valid()) {
01696 NMSTL::rpc_message_1< void > ret;
01697 cb(
true, &ret,
true);
01698 }
else {
01699 cb(result.stat(), 0,
true);
01700 }
01701
break;
01702 }
01703
case RPCDefs<Borealis::CentralLookupServer>::lookup_node_METHOD_ID:
01704 {
01705 RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN in;
01706 is >> in;
01707
if (!is) {
01708 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::lookup_node: " << is.stat();
01709 cb(is.stat(), 0,
true);
01710
return;
01711 }
01712 DEBUG <<
"Handling lookup_node";
01713 RPC< InetAddress > result = lookup_node(in.node);
01714
if (result.valid()) {
01715 NMSTL::rpc_message_1< InetAddress > ret(*result);
01716 cb(
true, &ret,
true);
01717 }
else {
01718 cb(result.stat(), 0,
true);
01719 }
01720
break;
01721 }
01722
case RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_METHOD_ID:
01723 {
01724 RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN in;
01725 is >> in;
01726
if (!is) {
01727 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::set_backup_pair: " << is.stat();
01728 cb(is.stat(), 0,
true);
01729
return;
01730 }
01731 DEBUG <<
"Handling set_backup_pair";
01732 RPC< void > result = set_backup_pair(in.primary, in.secondary);
01733
if (result.valid()) {
01734 NMSTL::rpc_message_1< void > ret;
01735 cb(
true, &ret,
true);
01736 }
else {
01737 cb(result.stat(), 0,
true);
01738 }
01739
break;
01740 }
01741
case RPCDefs<Borealis::CentralLookupServer>::get_backup_METHOD_ID:
01742 {
01743 RPCDefs<Borealis::CentralLookupServer>::get_backup_IN in;
01744 is >> in;
01745
if (!is) {
01746 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::get_backup: " << is.stat();
01747 cb(is.stat(), 0,
true);
01748
return;
01749 }
01750 DEBUG <<
"Handling get_backup";
01751 RPC< MedusaID > result = get_backup(in.primary);
01752
if (result.valid()) {
01753 NMSTL::rpc_message_1< MedusaID > ret(*result);
01754 cb(
true, &ret,
true);
01755 }
else {
01756 cb(result.stat(), 0,
true);
01757 }
01758
break;
01759 }
01760
case RPCDefs<Borealis::CentralLookupServer>::add_responsability_METHOD_ID:
01761 {
01762 RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN in;
01763 is >> in;
01764
if (!is) {
01765 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::add_responsability: " << is.stat();
01766 cb(is.stat(), 0,
true);
01767
return;
01768 }
01769 DEBUG <<
"Handling add_responsability";
01770 RPC< void > result = add_responsability(in.node, in.object, in.standalone);
01771
if (result.valid()) {
01772 NMSTL::rpc_message_1< void > ret;
01773 cb(
true, &ret,
true);
01774 }
else {
01775 cb(result.stat(), 0,
true);
01776 }
01777
break;
01778 }
01779
case RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_METHOD_ID:
01780 {
01781 RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN in;
01782 is >> in;
01783
if (!is) {
01784 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::add_responsabilities: " << is.stat();
01785 cb(is.stat(), 0,
true);
01786
return;
01787 }
01788 DEBUG <<
"Handling add_responsabilities";
01789 RPC< void > result = add_responsabilities(in.node, in.objects);
01790
if (result.valid()) {
01791 NMSTL::rpc_message_1< void > ret;
01792 cb(
true, &ret,
true);
01793 }
else {
01794 cb(result.stat(), 0,
true);
01795 }
01796
break;
01797 }
01798
case RPCDefs<Borealis::CentralLookupServer>::remove_responsability_METHOD_ID:
01799 {
01800 RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN in;
01801 is >> in;
01802
if (!is) {
01803 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::remove_responsability: " << is.stat();
01804 cb(is.stat(), 0,
true);
01805
return;
01806 }
01807 DEBUG <<
"Handling remove_responsability";
01808 RPC< void > result = remove_responsability(in.node, in.name);
01809
if (result.valid()) {
01810 NMSTL::rpc_message_1< void > ret;
01811 cb(
true, &ret,
true);
01812 }
else {
01813 cb(result.stat(), 0,
true);
01814 }
01815
break;
01816 }
01817
case RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_METHOD_ID:
01818 {
01819 RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN in;
01820 is >> in;
01821
if (!is) {
01822 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::remove_responsabilities: " << is.stat();
01823 cb(is.stat(), 0,
true);
01824
return;
01825 }
01826 DEBUG <<
"Handling remove_responsabilities";
01827 RPC< void > result = remove_responsabilities(in.node, in.names);
01828
if (result.valid()) {
01829 NMSTL::rpc_message_1< void > ret;
01830 cb(
true, &ret,
true);
01831 }
else {
01832 cb(result.stat(), 0,
true);
01833 }
01834
break;
01835 }
01836
case RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_METHOD_ID:
01837 {
01838 RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN in;
01839 is >> in;
01840
if (!is) {
01841 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::get_responsabilities: " << is.stat();
01842 cb(is.stat(), 0,
true);
01843
return;
01844 }
01845 DEBUG <<
"Handling get_responsabilities";
01846 RPC< vector< ptr<Object> > > result = get_responsabilities(in.node);
01847
if (result.valid()) {
01848 NMSTL::rpc_message_1< vector< ptr<Object> > > ret(*result);
01849 cb(
true, &ret,
true);
01850 }
else {
01851 cb(result.stat(), 0,
true);
01852 }
01853
break;
01854 }
01855
case RPCDefs<Borealis::CentralLookupServer>::dump_METHOD_ID:
01856 {
01857 RPCDefs<Borealis::CentralLookupServer>::dump_IN in;
01858 is >> in;
01859
if (!is) {
01860 WARN <<
"Invalid RPC request to Borealis::CentralLookupServer::dump: " << is.stat();
01861 cb(is.stat(), 0,
true);
01862
return;
01863 }
01864 DEBUG <<
"Handling dump";
01865 RPC< string > result = dump();
01866
if (result.valid()) {
01867 NMSTL::rpc_message_1< string > ret(*result);
01868 cb(
true, &ret,
true);
01869 }
else {
01870 cb(result.stat(), 0,
true);
01871 }
01872
break;
01873 }
01874
default:
01875 string err = string(
"Unknown method_id ") + method_id +
" in Borealis::CentralLookupServer::handle_request";
01876 WARN << err;
01877 cb(err, 0,
true);
01878 }
01879 }
01880 NMSTL::rpc_id Borealis::CentralLookupServer::method_id_for_name(string method_name) {
01881 map<string, int>::const_iterator i = RPCDefs<Borealis::CentralLookupServer>::method_id_by_name().find(method_name);
01882
return (i == RPCDefs<Borealis::CentralLookupServer>::method_id_by_name().end()) ? rpc_id() : i->second;
01883 }
01884 string Borealis::CentralLookupServer::method_name_for_id(NMSTL::rpc_id method_id) {
01885 map<int, string>::const_iterator i = RPCDefs<Borealis::CentralLookupServer>::method_name_by_id().find(method_id);
01886
return (i == RPCDefs<Borealis::CentralLookupServer>::method_name_by_id().end()) ? string() : i->second;
01887 }
01888 NMSTL::ptr<NMSTL::rpc_request> Borealis::CentralLookupServer::make_request(NMSTL::rpc_id method_id, NMSTL::ISerial& is) {
01889
switch(method_id) {
01890
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_METHOD_ID:
01891 {
01892 NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_IN;
01893 NMSTL::ptr<NMSTL::rpc_request> req(in);
01894
if (is >> *in)
return req;
01895 }
01896
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_METHOD_ID:
01897 {
01898 NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_set_IN;
01899 NMSTL::ptr<NMSTL::rpc_request> req(in);
01900
if (is >> *in)
return req;
01901 }
01902
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_METHOD_ID:
01903 {
01904 NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_objects_IN;
01905 NMSTL::ptr<NMSTL::rpc_request> req(in);
01906
if (is >> *in)
return req;
01907 }
01908
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_METHOD_ID:
01909 {
01910 NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_object_sets_IN;
01911 NMSTL::ptr<NMSTL::rpc_request> req(in);
01912
if (is >> *in)
return req;
01913 }
01914
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_METHOD_ID:
01915 {
01916 NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_IN;
01917 NMSTL::ptr<NMSTL::rpc_request> req(in);
01918
if (is >> *in)
return req;
01919 }
01920
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_METHOD_ID:
01921 {
01922 NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_set_IN;
01923 NMSTL::ptr<NMSTL::rpc_request> req(in);
01924
if (is >> *in)
return req;
01925 }
01926
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_METHOD_ID:
01927 {
01928 NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_objects_IN;
01929 NMSTL::ptr<NMSTL::rpc_request> req(in);
01930
if (is >> *in)
return req;
01931 }
01932
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_METHOD_ID:
01933 {
01934 NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_object_sets_IN;
01935 NMSTL::ptr<NMSTL::rpc_request> req(in);
01936
if (is >> *in)
return req;
01937 }
01938
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_METHOD_ID:
01939 {
01940 NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::register_node_IN;
01941 NMSTL::ptr<NMSTL::rpc_request> req(in);
01942
if (is >> *in)
return req;
01943 }
01944
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_METHOD_ID:
01945 {
01946 NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::lookup_node_IN;
01947 NMSTL::ptr<NMSTL::rpc_request> req(in);
01948
if (is >> *in)
return req;
01949 }
01950
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_METHOD_ID:
01951 {
01952 NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::set_backup_pair_IN;
01953 NMSTL::ptr<NMSTL::rpc_request> req(in);
01954
if (is >> *in)
return req;
01955 }
01956
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_METHOD_ID:
01957 {
01958 NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_backup_IN;
01959 NMSTL::ptr<NMSTL::rpc_request> req(in);
01960
if (is >> *in)
return req;
01961 }
01962
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_METHOD_ID:
01963 {
01964 NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsability_IN;
01965 NMSTL::ptr<NMSTL::rpc_request> req(in);
01966
if (is >> *in)
return req;
01967 }
01968
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_METHOD_ID:
01969 {
01970 NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::add_responsabilities_IN;
01971 NMSTL::ptr<NMSTL::rpc_request> req(in);
01972
if (is >> *in)
return req;
01973 }
01974
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_METHOD_ID:
01975 {
01976 NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsability_IN;
01977 NMSTL::ptr<NMSTL::rpc_request> req(in);
01978
if (is >> *in)
return req;
01979 }
01980
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_METHOD_ID:
01981 {
01982 NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::remove_responsabilities_IN;
01983 NMSTL::ptr<NMSTL::rpc_request> req(in);
01984
if (is >> *in)
return req;
01985 }
01986
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_METHOD_ID:
01987 {
01988 NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::get_responsabilities_IN;
01989 NMSTL::ptr<NMSTL::rpc_request> req(in);
01990
if (is >> *in)
return req;
01991 }
01992
case NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_METHOD_ID:
01993 {
01994 NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_IN *in =
new NMSTL::RPCDefs<Borealis::CentralLookupServer>::dump_IN;
01995 NMSTL::ptr<NMSTL::rpc_request> req(in);
01996
if (is >> *in)
return req;
01997 }
01998 }
01999
return NMSTL::ptr<NMSTL::rpc_request>();
02000 }
02001
02002
02003
#endif
02004