using System;
namespace System.Net.Sockets
{
/// Contains values used to join and drop multicast groups.
// Token: 0x020001DD RID: 477
public class MulticastOption
{
/// Initializes a new version of the class for the specified IP multicast group.
/// The of the multicast group.
///
/// is null.
// Token: 0x06000F65 RID: 3941 RVA: 0x0002A400 File Offset: 0x00028600
public MulticastOption(IPAddress group)
: this(group, IPAddress.Any)
{
}
/// Initializes a new instance of the class with the specified IP multicast group address and interface index.
/// The of the multicast group.
/// The index of the interface that is used to send and receive multicast packets.
// Token: 0x06000F66 RID: 3942 RVA: 0x0002A410 File Offset: 0x00028610
public MulticastOption(IPAddress group, int interfaceIndex)
{
if (group == null)
{
throw new ArgumentNullException("group");
}
if (interfaceIndex < 0 || interfaceIndex > 16777215)
{
throw new ArgumentOutOfRangeException("interfaceIndex");
}
this.group = group;
this.iface_index = interfaceIndex;
}
/// Initializes a new instance of the class with the specified IP multicast group address and local IP address associated with a network interface.
/// The group .
/// The local .
///
/// is null.-or- is null.
// Token: 0x06000F67 RID: 3943 RVA: 0x0002A460 File Offset: 0x00028660
public MulticastOption(IPAddress group, IPAddress mcint)
{
if (group == null)
{
throw new ArgumentNullException("group");
}
if (mcint == null)
{
throw new ArgumentNullException("mcint");
}
this.group = group;
this.local = mcint;
}
/// Gets or sets the IP address of a multicast group.
/// An that contains the Internet address of a multicast group.
// Token: 0x17000544 RID: 1348
// (get) Token: 0x06000F68 RID: 3944 RVA: 0x0002A4A4 File Offset: 0x000286A4
// (set) Token: 0x06000F69 RID: 3945 RVA: 0x0002A4AC File Offset: 0x000286AC
public IPAddress Group
{
get
{
return this.group;
}
set
{
this.group = value;
}
}
/// Gets or sets the local address associated with a multicast group.
/// An that contains the local address associated with a multicast group.
// Token: 0x17000545 RID: 1349
// (get) Token: 0x06000F6A RID: 3946 RVA: 0x0002A4B8 File Offset: 0x000286B8
// (set) Token: 0x06000F6B RID: 3947 RVA: 0x0002A4C0 File Offset: 0x000286C0
public IPAddress LocalAddress
{
get
{
return this.local;
}
set
{
this.local = value;
this.iface_index = 0;
}
}
/// Gets or sets the index of the interface that is used to send and receive multicast packets.
/// An integer that represents the index of a array element.
// Token: 0x17000546 RID: 1350
// (get) Token: 0x06000F6C RID: 3948 RVA: 0x0002A4D0 File Offset: 0x000286D0
// (set) Token: 0x06000F6D RID: 3949 RVA: 0x0002A4D8 File Offset: 0x000286D8
public int InterfaceIndex
{
get
{
return this.iface_index;
}
set
{
if (value < 0 || value > 16777215)
{
throw new ArgumentOutOfRangeException("value");
}
this.iface_index = value;
this.local = null;
}
}
// Token: 0x04000DFA RID: 3578
private IPAddress group;
// Token: 0x04000DFB RID: 3579
private IPAddress local;
// Token: 0x04000DFC RID: 3580
private int iface_index;
}
}