Added missing extension registration methods + keys (serialization part)
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / UdpConnectionMap.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.protocol.impl.core;\r
10 \r
11 import java.net.InetSocketAddress;\r
12 import java.util.HashMap;\r
13 \r
14 import org.opendaylight.openflowjava.protocol.impl.connection.MessageConsumer;\r
15 \r
16 /**\r
17  * As UDP communication is handled only by one channel, it is needed\r
18  * to store MessageConsumers, so that we know which consumer handles which channel\r
19 \r
20  * @author michal.polkorab\r
21  */\r
22 public class UdpConnectionMap {\r
23 \r
24     private static HashMap<InetSocketAddress, MessageConsumer> connectionMap = new HashMap<>();\r
25 \r
26     /**\r
27      * @param address sender's address\r
28      * @return corresponding MessageConsumer\r
29      */\r
30     public static MessageConsumer getMessageConsumer(InetSocketAddress address) {\r
31         return connectionMap.get(address);\r
32     }\r
33 \r
34     /**\r
35      * @param address sender's address\r
36      * @param consumer MessageConsumer to be added / paired with specified address\r
37      */\r
38     public static void addConnection(InetSocketAddress address, MessageConsumer consumer) {\r
39         connectionMap.put(address, consumer);\r
40     }\r
41 \r
42     /**\r
43      * @param address sender's address\r
44      */\r
45     public static void removeConnection(InetSocketAddress address) {\r
46         connectionMap.remove(address);\r
47     }\r
48 }