xtd 0.2.0
xtd::net::sockets::multicast_option Class Reference

Definition

Contains IPAddress values used to join and drop multicast groups.

class core_export_ multicast_option : public xtd::object
Inheritance
xtd::objectxtd::net::sockets::multicast_option
Header
#include <xtd/net/sockets/multicast_option>
Namespace
xtd::net::sockets
Library
xtd.core
Remarks
Use a xtd::net::sockets::multicast_option to store the xtd::net::ip_address of a multicast group you want to join or drop. Use the xtd::net::sockets::socket::set_socket_option method with the following parameters to join a multicast group.
Parameter Value
socket_option_level xtd::net::sockets::socket_option_level::udp
socket_option_name xtd::net::sockets::socket_option_name::add_membership
object xtd::net::sockets::multicast_option
Use xtd::net::sockets::socket_option_name::drop_membership to drop a multicast group.

Constructors

 multicast_option ()=default
 Initializes a new instance of the xtd::net::sockets::multicast_option class. More...
 
 multicast_option (const xtd::net::ip_address &group, const xtd::net::ip_address &local_address)
 Initializes a new instance of the xtd::net::sockets::multicast_option class with the specified IP multicast group and the local interface address. More...
 
 multicast_option (const xtd::net::ip_address &group)
 Initializes a new version of the xtd::net::sockets::multicast_option class for the specified IP multicast group. More...
 
 multicast_option (const xtd::net::ip_address &group, uint32 interface_index)
 Initializes a new instance of the xtd::net::sockets::multicast_option class with the specified IP multicast group and the local interface address. More...
 

Properties

const xtd::net::ip_addressgroup () const noexcept
 Gets the IP address of a multicast group. More...
 
multicast_optiongroup (const xtd::net::ip_address &value) noexcept
 Sets the IP address of a multicast group. More...
 
uint32 interface_index () const noexcept
 Gets the interface index that is associated with a multicast group. More...
 
multicast_optioninterface_index (uint32 value)
 Sets the interface index that is associated with a multicast group. More...
 
const xtd::net::ip_addresslocal_address () const noexcept
 Gets the local IP address associated with a multicast group. More...
 
multicast_optionlocal_address (const xtd::net::ip_address &value) noexcept
 Sets he local IP address associated with a multicast group. More...
 

Additional Inherited Members

- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const noexcept
 Creates a shallow copy of the current object. More...
 
virtual xtd::ustring to_string () const noexcept
 Returns a sxd::ustring that represents the current object. More...
 
- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 

Constructor & Destructor Documentation

◆ multicast_option() [1/4]

xtd::net::sockets::multicast_option::multicast_option ( )
default

Initializes a new instance of the xtd::net::sockets::multicast_option class.

◆ multicast_option() [2/4]

xtd::net::sockets::multicast_option::multicast_option ( const xtd::net::ip_address group,
const xtd::net::ip_address local_address 
)

Initializes a new instance of the xtd::net::sockets::multicast_option class with the specified IP multicast group and the local interface address.

Parameters
groupThe xtd::net::ip_address of the multicast group.
local_addressThe local xtd::net::ip_address.

◆ multicast_option() [3/4]

xtd::net::sockets::multicast_option::multicast_option ( const xtd::net::ip_address group)
explicit

Initializes a new version of the xtd::net::sockets::multicast_option class for the specified IP multicast group.

Parameters
groupThe xtd::net::ip_address of the multicast group.

◆ multicast_option() [4/4]

xtd::net::sockets::multicast_option::multicast_option ( const xtd::net::ip_address group,
uint32  interface_index 
)

Initializes a new instance of the xtd::net::sockets::multicast_option class with the specified IP multicast group and the local interface address.

Parameters
groupThe xtd::net::ip_address of the multicast group.
interface_indexThe address of the interface.
Exceptions
xtd::argument_out_of_range_exceptioninterface_index > 0x00FFFFFF.

Member Function Documentation

◆ group() [1/2]

const xtd::net::ip_address& xtd::net::sockets::multicast_option::group ( ) const
noexcept

Gets the IP address of a multicast group.

Returns
An xtd::net::ip_address that contains the Internet address of a multicast group.

◆ group() [2/2]

multicast_option& xtd::net::sockets::multicast_option::group ( const xtd::net::ip_address value)
noexcept

Sets the IP address of a multicast group.

Parameters
valueAn xtd::net::ip_address that contains the Internet address of a multicast group.
Returns
the current instance.

◆ interface_index() [1/2]

uint32 xtd::net::sockets::multicast_option::interface_index ( ) const
noexcept

Gets the interface index that is associated with a multicast group.

Returns
A uint32 value that specifies the address of the interface.
Remarks
This property specifies the interface on which data is received or sent.

◆ interface_index() [2/2]

multicast_option& xtd::net::sockets::multicast_option::interface_index ( uint32  value)

Sets the interface index that is associated with a multicast group.

Parameters
valueA uint32 value that specifies the address of the interface.
Returns
the current instance.
Exceptions
xtd::argument_out_of_range_exceptionvalue > 0x00FFFFFF.
Remarks
This property specifies the interface on which data is received or sent.

◆ local_address() [1/2]

const xtd::net::ip_address& xtd::net::sockets::multicast_option::local_address ( ) const
noexcept

Gets the local IP address associated with a multicast group.

Returns
An xtd::net::ip_address that contains the local address associated with a multicast group.

◆ local_address() [2/2]

multicast_option& xtd::net::sockets::multicast_option::local_address ( const xtd::net::ip_address value)
noexcept

Sets he local IP address associated with a multicast group.

Parameters
valueAn xtd::net::ip_address that contains the local address associated with a multicast group.
Returns
the current instance.

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