Class MCGroupImpl

  • All Implemented Interfaces:
    MCGroup

    public class MCGroupImpl
    extends java.lang.Object
    implements MCGroup
    • Field Detail

      • overall_suspended

        private static boolean overall_suspended
      • singletons

        private static java.util.Map<java.lang.String,​MCGroupImpl> singletons
      • class_mon

        private static AEMonitor class_mon
      • group_address_str

        private java.lang.String group_address_str
      • group_port

        private int group_port
      • control_port

        private int control_port
      • group_address

        protected java.net.InetSocketAddress group_address
      • selected_interfaces

        private java.lang.String[] selected_interfaces
      • ttl_problem_reported

        private boolean ttl_problem_reported
      • sso_problem_reported

        private boolean sso_problem_reported
      • current_registrations

        private java.util.Map<java.lang.String,​java.util.Set<java.net.InetAddress>> current_registrations
      • instance_suspended

        private volatile boolean instance_suspended
      • suspended_threads

        private java.util.List<java.lang.Object[]> suspended_threads
      • socket_cache

        private java.util.Map<java.lang.String,​java.net.MulticastSocket> socket_cache
    • Constructor Detail

      • MCGroupImpl

        private MCGroupImpl​(MCGroupAdapter _adapter,
                            java.lang.String _group_address,
                            int _group_port,
                            int _control_port,
                            java.lang.String[] _interfaces,
                            boolean _is_suspended)
                     throws MCGroupException
        Throws:
        MCGroupException
    • Method Detail

      • setSuspended

        public static void setSuspended​(boolean suspended)
      • setInstanceSuspended

        private void setInstanceSuspended​(boolean _suspended)
      • processNetworkInterfaces

        private void processNetworkInterfaces​(boolean start_of_day)
                                       throws java.net.SocketException
        Throws:
        java.net.SocketException
      • interfaceSelected

        private boolean interfaceSelected​(java.net.NetworkInterface ni)
      • validNetworkAddress

        private boolean validNetworkAddress​(java.net.NetworkInterface network_interface,
                                            java.net.InetAddress ni_address)
      • sendToGroup

        public void sendToGroup​(byte[] data)
        Specified by:
        sendToGroup in interface MCGroup
      • sendToGroupSupport

        private void sendToGroupSupport​(byte[] data)
      • sendToGroup

        public void sendToGroup​(java.lang.String param_data)
        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 interface MCGroup
      • sendToGroupSupport

        private void sendToGroupSupport​(java.lang.String param_data)
      • handleSocket

        private void handleSocket​(java.net.NetworkInterface network_interface,
                                  java.net.InetAddress local_address,
                                  java.net.DatagramSocket socket,
                                  boolean log_on_stop)
      • receivePacket

        private void receivePacket​(java.net.NetworkInterface network_interface,
                                   java.net.InetAddress local_address,
                                   java.net.DatagramPacket packet)