def __init__()

in scripts/mcast.py [0:0]


    def __init__(self, grp_addr, if_addr=IP4_ADDR_ANY, ttl=1):
        """
        @param  grp_addr:  Multicast network address
        @param  if_addr:   Interface address to use for.
        @param  ttl:       time to live.

        SEE ALSO: getsockopt(2), ip(7)
        """
        socket.socket.__init__(self, socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)

        self.mreq = socket.inet_aton(grp_addr) + socket.inet_aton(if_addr)

        if if_addr != IP4_ADDR_ANY:
            # Specify the interface to send packets.
            self.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(if_addr))
        else:
            # The interface to send packets will be selected by kernel
            # automatically.
            pass

        if ttl > 1:
            self.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, struct.pack('b', ttl))

        self.grp_addr = grp_addr
        self.if_addr = if_addr