// send message
virtual void prepare_dest(const entity_inst_t& inst) {}
virtual int send_message(Message *m, const entity_inst_t& dest) = 0;
+ virtual int send_message(Message *m, Connection *con) = 0;
virtual int lazy_send_message(Message *m, const entity_inst_t& dest) {
return send_message(m, dest);
}
+ virtual int lazy_send_message(Message *m, Connection *con) = 0;
virtual int send_keepalive(const entity_inst_t& dest) = 0;
virtual void mark_down(const entity_addr_t& a) = 0;
return 0;
}
+int SimpleMessenger::send_message(Message *m, Connection *con)
+{
+ //set envelope
+ m->get_header().src = get_myname();
+
+ if (!m->get_priority()) m->set_priority(get_default_send_priority());
+
+
+ dout(1) << "--> " << con->get_peer_addr() << " -- " << *m
+ << " -- ?+" << m->get_data().length()
+ << " " << m
+ << dendl;
+
+ submit_message(m, (Pipe **)&con->pipe, con->get_peer_addr(),
+ con->get_peer_type());
+ return 0;
+}
+
int SimpleMessenger::lazy_send_message(Message *m, const entity_inst_t& dest)
{
// set envelope
return 0;
}
+int SimpleMessenger::lazy_send_message(Message *m, Connection *con)
+{
+ //set envelope
+ m->get_header().src = get_myname();
+
+ if (!m->get_priority()) m->set_priority(get_default_send_priority());
+
+
+ dout(1) << "lazy "
+ << "--> " << con->get_peer_addr() << " -- " << *m
+ << " -- ?+" << m->get_data().length()
+ << " " << m
+ << dendl;
+
+ submit_message(m, (Pipe **)&con->pipe, con->get_peer_addr(),
+ con->get_peer_type(), true);
+ return 0;
+}
+
entity_addr_t SimpleMessenger::get_myaddr()
{
entity_addr_t a = messenger->ms_addr;
void suicide();
void prepare_dest(const entity_inst_t& inst);
int send_message(Message *m, const entity_inst_t& dest);
+ int send_message(Message *m, Connection *con);
int lazy_send_message(Message *m, const entity_inst_t& dest);
+ int lazy_send_message(Message *m, Connection *con);
/***********************/
private: