'Process pending input signals for `node`.'

def process_node(self, node):

    signals_in = self.pending_input_signals(node)
    self.remove_pending_signals(node)
    signals_in = self.compress_signals(signals_in)
    log.debug('Processing    %r,    sending    %i    signals.', node.title, len(signals_in))
    for link in {sig.link for sig in signals_in}:
        link.set_runtime_state((link.runtime_state() & (~ SchemeLink.Pending)))
    assert ({sig.link for sig in self._input_queue}.intersection({sig.link for sig in signals_in}) == set([]))
    self.processingStarted.emit()
    self.processingStarted[SchemeNode].emit(node)
    try:
        self.send_to_node(node, signals_in)
    finally:
        self.processingFinished.emit()
        self.processingFinished[SchemeNode].emit(node)
