Package com.biglybt.net.udp.mc.impl
Class MCGroupImpl
java.lang.Object
com.biglybt.net.udp.mc.impl.MCGroupImpl
- All Implemented Interfaces:
MCGroup
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate MCGroupAdapter
private static AsyncDispatcher
private static AEMonitor
private int
private Map
<String, Set<InetAddress>> protected InetSocketAddress
private String
private int
private boolean
private static boolean
private static final int
private String[]
private static Map
<String, MCGroupImpl> private Map
<String, MulticastSocket> private boolean
protected AEMonitor
private static final int
private boolean
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
MCGroupImpl
(MCGroupAdapter _adapter, String _group_address, int _group_port, int _control_port, String[] _interfaces, boolean _is_suspended) -
Method Summary
Modifier and TypeMethodDescriptionint
static MCGroupImpl
getSingleton
(MCGroupAdapter adapter, String group_address, int group_port, int control_port, String[] interfaces) private void
handleSocket
(NetworkInterface network_interface, InetAddress local_address, DatagramSocket socket, boolean log_on_stop) private boolean
private void
processNetworkInterfaces
(boolean start_of_day) private void
receivePacket
(NetworkInterface network_interface, InetAddress local_address, DatagramPacket packet) void
sendToGroup
(byte[] data) void
sendToGroup
(String param_data) Sends to the group but will replace any occurrence of %AZINTERFACE% in the string with the interface being used for the sendprivate void
sendToGroupSupport
(byte[] data) private void
sendToGroupSupport
(String param_data) void
sendToMember
(InetSocketAddress address, byte[] data) private void
setInstanceSuspended
(boolean _suspended) static void
setSuspended
(boolean suspended) private boolean
validNetworkAddress
(NetworkInterface network_interface, InetAddress ni_address)
-
Field Details
-
TTL
private static final int TTL- See Also:
-
PACKET_SIZE
private static final int PACKET_SIZE- See Also:
-
overall_suspended
private static boolean overall_suspended -
singletons
-
class_mon
-
async_dispatcher
-
adapter
-
group_address_str
-
group_port
private int group_port -
control_port
private int control_port -
group_address
-
selected_interfaces
-
ttl_problem_reported
private boolean ttl_problem_reported -
sso_problem_reported
private boolean sso_problem_reported -
this_mon
-
current_registrations
-
instance_suspended
private volatile boolean instance_suspended -
suspended_threads
-
socket_cache
-
-
Constructor Details
-
MCGroupImpl
private MCGroupImpl(MCGroupAdapter _adapter, String _group_address, int _group_port, int _control_port, String[] _interfaces, boolean _is_suspended) throws MCGroupException - Throws:
MCGroupException
-
-
Method Details
-
getSingleton
public static MCGroupImpl getSingleton(MCGroupAdapter adapter, String group_address, int group_port, int control_port, String[] interfaces) throws MCGroupException - Throws:
MCGroupException
-
setSuspended
public static void setSuspended(boolean suspended) -
setInstanceSuspended
private void setInstanceSuspended(boolean _suspended) -
processNetworkInterfaces
- Throws:
SocketException
-
getControlPort
public int getControlPort()- Specified by:
getControlPort
in interfaceMCGroup
-
interfaceSelected
-
validNetworkAddress
-
sendToGroup
public void sendToGroup(byte[] data) - Specified by:
sendToGroup
in interfaceMCGroup
-
sendToGroupSupport
private void sendToGroupSupport(byte[] data) -
sendToGroup
Description copied from interface:MCGroup
Sends to the group but will replace any occurrence of %AZINTERFACE% in the string with the interface being used for the send- Specified by:
sendToGroup
in interfaceMCGroup
- Parameters:
param_data
-
-
sendToGroupSupport
-
handleSocket
private void handleSocket(NetworkInterface network_interface, InetAddress local_address, DatagramSocket socket, boolean log_on_stop) -
receivePacket
private void receivePacket(NetworkInterface network_interface, InetAddress local_address, DatagramPacket packet) -
sendToMember
- Specified by:
sendToMember
in interfaceMCGroup
- Throws:
MCGroupException
-