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 MCGroupAdapterprivate static AsyncDispatcherprivate static AEMonitorprivate intprivate Map<String, Set<InetAddress>> protected InetSocketAddressprivate Stringprivate intprivate booleanprivate static booleanprivate static final intprivate String[]private static Map<String, MCGroupImpl> private Map<String, MulticastSocket> private booleanprotected AEMonitorprivate static final intprivate boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateMCGroupImpl(MCGroupAdapter _adapter, String _group_address, int _group_port, int _control_port, String[] _interfaces, boolean _is_suspended) -
Method Summary
Modifier and TypeMethodDescriptionintstatic MCGroupImplgetSingleton(MCGroupAdapter adapter, String group_address, int group_port, int control_port, String[] interfaces) private voidhandleSocket(NetworkInterface network_interface, InetAddress local_address, DatagramSocket socket, boolean log_on_stop) private booleanprivate voidprocessNetworkInterfaces(boolean start_of_day) private voidreceivePacket(NetworkInterface network_interface, InetAddress local_address, DatagramPacket packet) voidsendToGroup(byte[] data) voidsendToGroup(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 voidsendToGroupSupport(byte[] data) private voidsendToGroupSupport(String param_data) voidsendToMember(InetSocketAddress address, byte[] data) private voidsetInstanceSuspended(boolean _suspended) static voidsetSuspended(boolean suspended) private booleanvalidNetworkAddress(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:
getControlPortin interfaceMCGroup
-
interfaceSelected
-
validNetworkAddress
-
sendToGroup
public void sendToGroup(byte[] data) - Specified by:
sendToGroupin interfaceMCGroup
-
sendToGroupSupport
private void sendToGroupSupport(byte[] data) -
sendToGroup
Description copied from interface:MCGroupSends to the group but will replace any occurrence of %AZINTERFACE% in the string with the interface being used for the send- Specified by:
sendToGroupin 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:
sendToMemberin interfaceMCGroup- Throws:
MCGroupException
-