NetworkAddress.cpp File Reference

#include "DCPS/DdsDcps_pch.h"
#include "NetworkAddress.h"
#include "ace/OS_NS_netdb.h"
#include "ace/Sock_Connect.h"
#include "ace/OS_NS_sys_socket.h"
#include "NetworkAddress.inl"
Include dependency graph for NetworkAddress.cpp:

Go to the source code of this file.

Namespaces

namespace  OpenDDS
 

The Internal API and Implementation of OpenDDS.


namespace  OpenDDS::DCPS

Defines

#define TTL   ttl

Functions

ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_CDR::Boolean 
operator<< (ACE_OutputCDR &outCdr, OpenDDS::DCPS::NetworkAddress &value)
 Marshal into a buffer.
ACE_CDR::Boolean operator>> (ACE_InputCDR &inCdr, OpenDDS::DCPS::NetworkAddress &value)
 Demarshal from a buffer.
OPENDDS_STRING OpenDDS::DCPS::get_fully_qualified_hostname (ACE_INET_Addr *addr)
void OpenDDS::DCPS::get_interface_addrs (OPENDDS_VECTOR(ACE_INET_Addr)&addrs)
bool OpenDDS::DCPS::set_socket_multicast_ttl (const ACE_SOCK_Dgram &socket, const unsigned char &ttl)
bool OpenDDS::DCPS::open_appropriate_socket_type (ACE_SOCK_Dgram &socket, const ACE_INET_Addr &local_address)

Define Documentation

#define TTL   ttl

Function Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_CDR::Boolean operator<< ( ACE_OutputCDR outCdr,
OpenDDS::DCPS::NetworkAddress value 
)

Marshal into a buffer.

Definition at line 21 of file NetworkAddress.cpp.

References OpenDDS::DCPS::NetworkAddress::addr_, and OpenDDS::DCPS::NetworkAddress::reserved_.

00022 {
00023   return (outCdr << ACE_OutputCDR::from_boolean(ACE_CDR_BYTE_ORDER)) &&
00024          (outCdr << ACE_OutputCDR::from_octet(value.reserved_)) &&
00025          (outCdr << value.addr_.c_str());
00026 }

ACE_CDR::Boolean operator>> ( ACE_InputCDR inCdr,
OpenDDS::DCPS::NetworkAddress value 
)

Demarshal from a buffer.

Definition at line 29 of file NetworkAddress.cpp.

References OpenDDS::DCPS::NetworkAddress::addr_, ACE_InputCDR::good_bit(), OpenDDS::DCPS::NetworkAddress::reserved_, and ACE_InputCDR::reset_byte_order().

00030 {
00031   CORBA::Boolean byte_order;
00032 
00033   if (!(inCdr >> ACE_InputCDR::to_boolean(byte_order)))
00034     return false;
00035 
00036   inCdr.reset_byte_order(byte_order);
00037 
00038   if (!(inCdr >> ACE_InputCDR::to_octet(value.reserved_)))
00039     return false;
00040 
00041   char* buf = 0;
00042 
00043   if (!(inCdr >> buf))
00044     return false;
00045 
00046   value.addr_ = buf;
00047 
00048   delete[] buf;
00049 
00050   return inCdr.good_bit();
00051 }

Here is the call graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1