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.api.openflow.md.core.IMDMessageTranslator;
15 import org.opendaylight.openflowplugin.api.openflow.md.core.TranslatorKey;
16 import org.opendaylight.openflowplugin.api.statistics.MessageSpy;
17 import org.opendaylight.yangtools.yang.binding.DataContainer;
18 import org.opendaylight.yangtools.yang.binding.DataObject;
24 public interface TicketProcessorFactory<IN extends DataObject, OUT extends DataObject> {
28 * @return runnable ticket processor
30 Runnable createProcessor(final Ticket<IN, OUT> ticket);
34 * @return runnable ticket processor
36 Runnable createSyncProcessor(final Ticket<IN, OUT> ticket);
40 * @return translated messages
43 List<OUT> translate(Ticket<IN, OUT> ticket);
46 * @param ticketFinisher setter
48 void setTicketFinisher(TicketFinisher<OUT> ticketFinisher);
53 void setSpy(MessageSpy<DataContainer> spy);
56 * @param translatorMapping setter
58 void setTranslatorMapping(Map<TranslatorKey, Collection<IMDMessageTranslator<IN, List<OUT>>>> translatorMapping);