@Override public <E extends Event<?>> void dispatch( E event, EventConsumer<E> consumer, EventConsumer<Throwable> errorConsumer) { if (!alive()) { throw new IllegalStateException("This Dispatcher has been shutdown"); } EventTask<E> task = createTask(); task.setEvent(event); task.setConsumer(consumer); task.setErrorConsumer(errorConsumer); task.submit(); }
@Override public <E extends Event<?>> boolean tryDispatch( E event, EventConsumer<E> consumer, EventConsumer<Throwable> errorConsumer) { if (!alive()) { return false; } EventTask<E> task = tryCreateTask(); if (task == null) { return false; } task.setEvent(event); task.setConsumer(consumer); task.setErrorConsumer(errorConsumer); task.submit(); return true; }