00001
00002
00003
00004 ASYS_INLINE int
00005 ACE_SOCK_Dgram_Mcast::set_option (int option,
00006 char optval)
00007 {
00008 ACE_TRACE ("ACE_SOCK_Dgram_Mcast::set_option");
00009
00010 if (this->get_handle () == ACE_INVALID_HANDLE)
00011 return -1;
00012
00013 int level = IPPROTO_IP;
00014 #if defined (IPPROTO_IPV6)
00015 if (this->send_addr_.get_type () == PF_INET6)
00016 level = IPPROTO_IPV6;
00017 #endif
00018
00019 return this->ACE_SOCK::set_option (level,
00020 option,
00021 &optval,
00022 sizeof (optval));
00023 }
00024
00025 ASYS_INLINE ssize_t
00026 ACE_SOCK_Dgram_Mcast::send (const void *buf,
00027 size_t n,
00028 int flags) const
00029 {
00030 ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
00031 return this->ACE_SOCK_Dgram::send (buf,
00032 n,
00033 this->send_addr_,
00034 flags);
00035 }
00036
00037 ASYS_INLINE ssize_t
00038 ACE_SOCK_Dgram_Mcast::send (const iovec iov[],
00039 int n,
00040 int flags) const
00041 {
00042 ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
00043 return this->ACE_SOCK_Dgram::send (iov,
00044 n,
00045 this->send_addr_,
00046 flags);
00047 }