This is exposed for unit tests, and should not be called directly.

def on_block_received(self, block_id):
        """This is exposed for unit tests, and should not be called directly.
        """
        _libexec('chain_controller_on_block_received', self.pointer,
                 ctypes.c_char_p(block_id.encode('utf-8')))