blob: 7059636e30d11269e71bea9ad0205f887a0fb072 [file] [log] [blame]
Madan Jampani5009cfb2014-10-08 11:21:07 -07001package org.onlab.onos.store.device.impl;
2
3import org.onlab.onos.net.DeviceId;
4import org.onlab.onos.store.Timestamp;
5
6import com.esotericsoftware.kryo.Kryo;
7import com.esotericsoftware.kryo.Serializer;
8import com.esotericsoftware.kryo.io.Input;
9import com.esotericsoftware.kryo.io.Output;
10
11/**
12 * Kryo Serializer for {@link InternalDeviceOfflineEvent}.
13 */
14public class InternalDeviceOfflineEventSerializer extends Serializer<InternalDeviceOfflineEvent> {
15
16 /**
17 * Creates a serializer for {@link InternalDeviceOfflineEvent}.
18 */
19 public InternalDeviceOfflineEventSerializer() {
20 // does not accept null
21 super(false);
22 }
23
24 @Override
25 public void write(Kryo kryo, Output output, InternalDeviceOfflineEvent event) {
26 kryo.writeClassAndObject(output, event.deviceId());
27 kryo.writeClassAndObject(output, event.timestamp());
28 }
29
30 @Override
31 public InternalDeviceOfflineEvent read(Kryo kryo, Input input,
32 Class<InternalDeviceOfflineEvent> type) {
33 DeviceId deviceId = (DeviceId) kryo.readClassAndObject(input);
34 Timestamp timestamp = (Timestamp) kryo.readClassAndObject(input);
35
36 return new InternalDeviceOfflineEvent(deviceId, timestamp);
37 }
38}