added authentication to map notify and map reply, and moved the serialization process...
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / serializer / address / LispMACAddressSerializer.java
1 package org.opendaylight.lispflowmapping.implementation.serializer.address;
2
3 import java.nio.ByteBuffer;
4
5 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
6 import org.opendaylight.lispflowmapping.type.lisp.address.LispMACAddress;
7
8 public class LispMACAddressSerializer extends LispAddressSerializer{
9         
10         private static final LispMACAddressSerializer INSTANCE = new LispMACAddressSerializer();
11
12         // Private constructor prevents instantiation from other classes
13         private LispMACAddressSerializer() {
14         }
15
16         public static LispMACAddressSerializer getInstance() {
17                 return INSTANCE;
18         }
19
20
21         @Override
22     public int getAddressSize(LispAddress lispAddress) {
23                 return super.getAddressSize(lispAddress) + 6;
24
25     }
26         
27         @Override
28         public LispMACAddress deserialize(ByteBuffer buffer) {
29                 byte[] macBuffer = new byte[6];
30                 buffer.get(macBuffer);
31         return new LispMACAddress(macBuffer);
32     }
33
34     @Override
35     public void serialize(ByteBuffer buffer, LispAddress lispAddress) {
36         LispMACAddress lispMACAddress = (LispMACAddress)lispAddress;
37         super.internalSerialize(buffer, lispMACAddress);
38         buffer.put(lispMACAddress.getMAC());
39     }
40
41 }