blob: d2cbc247057e681601f310c90fde11b8102112b1 [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
Ray Milkey5154ec32014-10-22 10:51:18 -070018 @SuppressWarnings("unchecked")
tome5ec3fd2014-09-04 15:18:06 -070019 public void post(Event event) {
20 EventSink sink = getSink(event.getClass());
21 checkState(sink != null, "No sink for event %s", event);
22 sink.process(event);
23 }
24
25}