xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | List of all members
xtd::net::sockets::multicast_option Class Reference

#include <multicast_option.h>

Definition

Contains IPAddress values used to join and drop multicast groups.

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.

Inherits xtd::object.

Public Member Functions

 multicast_option ()=default
 Initializes a new instance of the xtd::net::sockets::multicast_option class.
 
 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.
 
 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.
 
 multicast_option (const xtd::net::ip_address &group, uint32_t 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.
 
const xtd::net::ip_addressgroup () const noexcept
 Gets the IP address of a multicast group.
 
multicast_optiongroup (const xtd::net::ip_address &value) noexcept
 Sets the IP address of a multicast group.
 
uint32_t interface_index () const noexcept
 Gets the interface index that is associated with a multicast group.
 
multicast_optioninterface_index (uint32_t value)
 Sets the interface index that is associated with a multicast group.
 
const xtd::net::ip_addresslocal_address () const noexcept
 Gets the local IP address associated with a multicast group.
 
multicast_optionlocal_address (const xtd::net::ip_address &value) noexcept
 Sets he local IP address associated with a multicast group.
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const
 Gets the type of the current instance.
 
virtual xtd::ustring to_string () const noexcept
 Returns a std::string that represents the current object.
 

Additional Inherited Members

- 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.
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

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)

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_t  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_t xtd::net::sockets::multicast_option::interface_index ( ) const
noexcept

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

Returns
A uint32_t 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_t  value)

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

Parameters
valueA uint32_t 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: