2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.openflow.md.queue;
10 import java.util.Collection;
11 import java.util.List;
14 import org.opendaylight.openflowplugin.openflow.md.core.IMDMessageTranslator;
15 import org.opendaylight.openflowplugin.openflow.md.core.TranslatorKey;
16 import org.opendaylight.yangtools.yang.binding.DataContainer;
17 import org.opendaylight.yangtools.yang.binding.DataObject;
23 public interface TicketProcessorFactory<IN extends DataObject, OUT extends DataObject> {
27 * @return runnable ticket processor
29 Runnable createProcessor(final Ticket<IN, OUT> ticket);
33 * @return runnable ticket processor
35 Runnable createSyncProcessor(final Ticket<IN, OUT> ticket);
39 * @return translated messages
42 List<OUT> translate(Ticket<IN, OUT> ticket);
45 * @param ticketFinisher setter
47 void setTicketFinisher(TicketFinisher<OUT> ticketFinisher);
52 void setSpy(MessageSpy<DataContainer> spy);
55 * @param translatorMapping setter
57 void setTranslatorMapping(Map<TranslatorKey, Collection<IMDMessageTranslator<IN, List<OUT>>>> translatorMapping);