blob: 99b4f95066b8de744ab1057f8f7fb32cf204ef31 [file] [log] [blame]
Madan Jampani58819b42014-10-09 13:48:51 -07001package org.onlab.onos.store.common.impl;
2
3import com.esotericsoftware.kryo.Kryo;
4import com.esotericsoftware.kryo.Serializer;
5import com.esotericsoftware.kryo.io.Input;
6import com.esotericsoftware.kryo.io.Output;
7
8// To be used if Timestamp ever needs to cross bundle boundary.
9/**
10 * Kryo Serializer for {@link DeviceMastershipBasedTimestamp}.
11 */
12public class MastershipBasedTimestampSerializer extends Serializer<DeviceMastershipBasedTimestamp> {
13
14 /**
15 * Creates a serializer for {@link DeviceMastershipBasedTimestamp}.
16 */
17 public MastershipBasedTimestampSerializer() {
18 // non-null, immutable
19 super(false, true);
20 }
21
22 @Override
23 public void write(Kryo kryo, Output output, DeviceMastershipBasedTimestamp object) {
24 output.writeInt(object.termNumber());
25 output.writeInt(object.sequenceNumber());
26 }
27
28 @Override
29 public DeviceMastershipBasedTimestamp read(Kryo kryo, Input input, Class<DeviceMastershipBasedTimestamp> type) {
30 final int term = input.readInt();
31 final int sequence = input.readInt();
32 return new DeviceMastershipBasedTimestamp(term, sequence);
33 }
34}