}
return seastar::now();
}
- need_addr = false;
if (get_myaddr().get_type() == entity_addr_t::TYPE_NONE) {
// Not bound
entity_addr_t addr = peer_addr_for_me;
addr.set_type(entity_addr_t::TYPE_ANY);
addr.set_port(0);
+ need_addr = false;
return set_myaddrs(entity_addrvec_t{addr}
).then([this, &conn, peer_addr_for_me] {
logger().info("{} learned myaddr={} (unbound) from {}",
entity_addr_t addr = peer_addr_for_me;
addr.set_type(get_myaddr().get_type());
addr.set_port(get_myaddr().get_port());
+ need_addr = false;
return set_myaddrs(entity_addrvec_t{addr}
).then([this, &conn, peer_addr_for_me] {
logger().info("{} learned myaddr={} (blank IP) from {}",
throw std::system_error(
make_error_code(crimson::net::error::bad_peer_address));
} else {
+ need_addr = false;
return seastar::now();
}
}