3292 DCPS::RcHandle<SpdpTransport> tport =
tport_.lock();
3295 DCPS::RcHandle<Spdp> outer = tport->outer_.lock();
3299 tport->wbuff_.reset();
3301 const_cast<STUN::Message&
>(
message_).block = &tport->wbuff_;
3304 #ifdef OPENDDS_TESTING_FEATURES
3305 if (outer->sedp_->transport_inst()->should_drop(tport->wbuff_.length())) {
3311 const ssize_t res = socket.
send(tport->wbuff_.rd_ptr(), tport->wbuff_.length(),
address_);
3313 if (outer->sedp_->transport_inst()->count_messages()) {
3316 tport->transport_statistics_.message_count[
key].send_fail(tport->wbuff_.length());
3318 const int err = errno;
3319 if (err != ENETUNREACH || !tport->network_is_unreachable_) {
3323 ACE_TEXT(
"(%P|%t) WARNING: Spdp::SendStun::execute() - ")
3324 ACE_TEXT(
"destination %C failed send: %m\n"), DCPS::LogAddr(
address_).c_str()));
3327 if (err == ENETUNREACH) {
3328 tport->network_is_unreachable_ =
true;
3331 if (outer->sedp_->transport_inst()->count_messages()) {
3334 tport->transport_statistics_.message_count[
key].send(tport->wbuff_.length());
3336 tport->network_is_unreachable_ =
false;
const MessageCountKind MCK_STUN
#define ACE_GUARD(MUTEX, OBJ, LOCK)
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
ACE_HANDLE socket(int protocol_family, int type, int proto)
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
DCPS::WeakRcHandle< SpdpTransport > tport_
ssize_t send(const void *buf, size_t n, const ACE_Addr &addr, int flags=0) const