return -errno;
}
- rank->rank_addr = g_my_addr;
- if (rank->rank_addr != entity_addr_t())
- rank->need_addr = false;
+ messenger->ms_addr = g_my_addr;
+ if (messenger->ms_addr != entity_addr_t())
+ messenger->need_addr = false;
else
- rank->need_addr = true;
+ messenger->need_addr = true;
- if (rank->rank_addr.get_port() == 0) {
- rank->rank_addr.in4_addr() = listen_addr;
+ if (messenger->ms_addr.get_port() == 0) {
+ messenger->ms_addr.in4_addr() = listen_addr;
if (force_nonce >= 0)
- rank->rank_addr.nonce = force_nonce;
+ messenger->ms_addr.nonce = force_nonce;
else
- rank->rank_addr.nonce = getpid(); // FIXME: pid might not be best choice here.
+ messenger->ms_addr.nonce = getpid(); // FIXME: pid might not be best choice here.
}
- messenger->ms_addr.erank = 0;
- dout(1) << "accepter.bind rank_addr is " << rank->rank_addr << " need_addr=" << rank->need_addr << dendl;
- rank->did_bind = true;
+ dout(1) << "accepter.bind ms_addr is " << messenger->ms_addr << " need_addr=" << messenger->need_addr << dendl;
+ messenger->did_bind = true;
return 0;
}
return 0;
}
-int SimpleMessenger::Endpoint::send_keepalive(entity_inst_t dest)
-{
- rank->send_keepalive(dest);
- return 0;
-}
-
-
-
-void SimpleMessenger::Endpoint::mark_down(entity_addr_t a)
-{
- rank->mark_down(a);
-}
-
-
-entity_addr_t SimpleMessenger::Endpoint::get_myaddr()
+entity_addr_t SimpleMessenger::get_myaddr()
{
- entity_addr_t a = rank->rank_addr;
+ entity_addr_t a = messenger->ms_addr;
- a.erank = 0;
return a;
}
lock.Lock();
{
// local?
- if (ms_addr.is_local_to(dest_addr)) {
- if (rank_addr == dest_addr) {
- if (local_endpoint) {
++ if (ms_addr == dest_addr) {
+ if (dest_addr.get_erank() == 0 && !destination_stopped) {
// local
dout(20) << "submit_message " << *m << " local" << dendl;
dispatch_queue.local_delivery(m, m->get_priority());
lock.Lock();
{
// local?
- if (!ms_addr.is_local_to(dest_addr)) {
- if (rank_addr != dest_addr) {
++ if (ms_addr != dest_addr) {
// remote.
Pipe *pipe = 0;
if (rank_pipe.count( dest_proc_addr )) {