OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Private Attributes | List of all members
OpenDDS::RTPS::Spdp::IceConnect Class Reference
Inheritance diagram for OpenDDS::RTPS::Spdp::IceConnect:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::RTPS::Spdp::IceConnect:
Collaboration graph
[legend]

Public Member Functions

 IceConnect (DCPS::RcHandle< Spdp > spdp, const ICE::GuidSetType &guids, const ACE_INET_Addr &addr, bool connect)
 
void execute ()
 
- Public Member Functions inherited from OpenDDS::DCPS::Job
virtual ~Job ()
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Private Attributes

DCPS::RcHandle< Spdpspdp_
 
ICE::GuidSetType guids_
 
ACE_INET_Addr addr_
 
bool connect_
 

Additional Inherited Members

- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 

Detailed Description

Definition at line 576 of file Spdp.h.

Constructor & Destructor Documentation

◆ IceConnect()

OpenDDS::RTPS::Spdp::IceConnect::IceConnect ( DCPS::RcHandle< Spdp spdp,
const ICE::GuidSetType guids,
const ACE_INET_Addr addr,
bool  connect 
)
inline

Definition at line 578 of file Spdp.h.

582  : spdp_(spdp)
583  , guids_(guids)
584  , addr_(addr)
585  , connect_(connect)
586  {}
ICE::GuidSetType guids_
Definition: Spdp.h:590
DCPS::RcHandle< Spdp > spdp_
Definition: Spdp.h:589

Member Function Documentation

◆ execute()

void OpenDDS::RTPS::Spdp::IceConnect::execute ( void  )
virtual

Implements OpenDDS::DCPS::Job.

Definition at line 3370 of file Spdp.cpp.

References ACE_GUARD, and ACE_Thread_Mutex::lock_.

3371 {
3372  ACE_GUARD(ACE_Thread_Mutex, g, spdp_->lock_);
3373  for (ICE::GuidSetType::const_iterator pos = guids_.begin(), limit = guids_.end(); pos != limit; ++pos) {
3374  DiscoveredParticipantIter iter = spdp_->participants_.find(pos->remote);
3375  if (iter != spdp_->participants_.end()) {
3376  spdp_->enqueue_location_update_i(iter, compute_ice_location_mask(addr_), connect_ ? addr_ : ACE_INET_Addr(), "ICE connect");
3377  spdp_->process_location_updates_i(iter, "ICE connect");
3378  }
3379  }
3380 }
#define ACE_GUARD(MUTEX, OBJ, LOCK)
ICE::GuidSetType guids_
Definition: Spdp.h:590
DiscoveredParticipantMap::iterator DiscoveredParticipantIter
Definition: Spdp.h:70
DCPS::RcHandle< Spdp > spdp_
Definition: Spdp.h:589

Member Data Documentation

◆ addr_

ACE_INET_Addr OpenDDS::RTPS::Spdp::IceConnect::addr_
private

Definition at line 591 of file Spdp.h.

◆ connect_

bool OpenDDS::RTPS::Spdp::IceConnect::connect_
private

Definition at line 592 of file Spdp.h.

◆ guids_

ICE::GuidSetType OpenDDS::RTPS::Spdp::IceConnect::guids_
private

Definition at line 590 of file Spdp.h.

◆ spdp_

DCPS::RcHandle<Spdp> OpenDDS::RTPS::Spdp::IceConnect::spdp_
private

Definition at line 589 of file Spdp.h.


The documentation for this class was generated from the following files: