#NEWLINE# def __init__( self , interface_names , protocol ) : #NEWLINE# #INDENT# 'Initialize context manager.\n\n        :param interface_names: a list of interface names to bind to\n        :param protocol: the protocol to listen for\n        :returns: A list of tuple of (interface_name, bound_socket), or [] if\n                  there is an exception binding or putting the sockets in\n                  promiscuous mode\n        ' #NEWLINE# if ( not interface_names ) : #NEWLINE# #INDENT# raise ValueError ( 'interface_names must be a non-empty list of network interface names to bind to.' ) #NEWLINE# #UNINDENT# self . protocol = protocol #NEWLINE# self . interfaces = [ ( protocol , self . _get_socket ( ) , ifreq ( ) ) for name in interface_names ]