def __init__(self, channel):
        """
        \param channel is a Channel endpoint (fileno/recv/close
        methods expected)
        """
        ReceiverThread.__init__(self, channel)
        self.__lock  = threading.Lock()
        self.__waitq = dict()
        self.__idgen = itertools.count(42)

        \param channel is a Channel endpoint (fileno/recv/close
        methods expected)
        
recipes/Python/576520_Multithreaded_MultiplexerDemultiplexer_allow/recipe-576520.py