return true;
}
-void SimpleMessenger::submit_message(Message *m, const entity_inst_t& dest, bool lazy)
+void SimpleMessenger::submit_message(Message *m, Pipe **ppipe,
+ const entity_addr_t& dest_addr
+ int dest_type, bool lazy)
{
- const entity_addr_t& dest_addr = dest.addr;
-
assert(m->nref.test() == 1); //this is just to make sure that a changeset
//is working properly; if you start using the refcounting more and have multiple
//people hanging on to a message, ditch the assert!
} else {
dout(20) << "submit_message " << *m << " remote, " << dest_addr << ", new pipe." << dendl;
// not connected.
- pipe = connect_rank(dest_addr, dest.name.type());
+ pipe = connect_rank(dest_addr, dest_type);
pipe->send(m);
}
}
bool register_entity(entity_name_t addr);
- void submit_message(Message *m, const entity_inst_t& addr, bool lazy=false);
+ void submit_message(Message *m, const entity_inst_t& addr, bool lazy=false) {
+ submit_message(m, NULL, addr.addr, addr.name.type(), lazy);
+ }
+ void submit_message(Message *m, Pipe **ppipe, const entity_addr_t& dest_addr,
+ int dest_type, bool lazy=false);
+
int send_keepalive(const entity_inst_t& addr);
void learned_addr(entity_addr_t peer_addr_for_me);