blob: 192e035e5fdcfd477d29f01a68b80171458db073 [file] [log] [blame]
Yuta HIGUCHI497c8842014-09-25 14:23:34 -07001package org.onlab.onos.store.serializers;
2
Yuta HIGUCHI497c8842014-09-25 14:23:34 -07003import org.onlab.onos.store.impl.OnosTimestamp;
4
5import com.esotericsoftware.kryo.Kryo;
6import com.esotericsoftware.kryo.Serializer;
7import com.esotericsoftware.kryo.io.Input;
8import com.esotericsoftware.kryo.io.Output;
9
10/**
11 * Kryo Serializer for {@link OnosTimestamp}.
12 */
13public class OnosTimestampSerializer extends Serializer<OnosTimestamp> {
14
15 /**
16 * Default constructor.
17 */
18 public OnosTimestampSerializer() {
19 // non-null, immutable
20 super(false, true);
21 }
Madan Jampani61056bc2014-09-27 09:07:26 -070022
Yuta HIGUCHI497c8842014-09-25 14:23:34 -070023 @Override
24 public void write(Kryo kryo, Output output, OnosTimestamp object) {
Yuta HIGUCHI497c8842014-09-25 14:23:34 -070025 output.writeInt(object.termNumber());
26 output.writeInt(object.sequenceNumber());
27 }
28
29 @Override
30 public OnosTimestamp read(Kryo kryo, Input input, Class<OnosTimestamp> type) {
Yuta HIGUCHI497c8842014-09-25 14:23:34 -070031 final int term = input.readInt();
32 final int sequence = input.readInt();
Madan Jampani61056bc2014-09-27 09:07:26 -070033 return new OnosTimestamp(term, sequence);
Yuta HIGUCHI497c8842014-09-25 14:23:34 -070034 }
35}