blob: 9eb398033f361aebe7b9c1aa6cd537b4ed259f18 [file] [log] [blame]
tom8bf2e6b2014-09-10 20:53:54 -07001package org.onlab.onos.event.impl;
tome5ec3fd2014-09-04 15:18:06 -07002
3import org.onlab.onos.event.DefaultEventSinkRegistry;
4import org.onlab.onos.event.Event;
5import org.onlab.onos.event.EventDeliveryService;
6import org.onlab.onos.event.EventSink;
7
8import static com.google.common.base.Preconditions.checkState;
9
10/**
11 * Implements event delivery system that delivers events synchronously, or
12 * in-line with the post method invocation.
13 */
14public class TestEventDispatcher extends DefaultEventSinkRegistry
15 implements EventDeliveryService {
16
17 @Override
18 public void post(Event event) {
19 EventSink sink = getSink(event.getClass());
20 checkState(sink != null, "No sink for event %s", event);
21 sink.process(event);
22 }
23
24}