blob: 48887b93f1da885933f3c1e1e1fbedc62db0a5d2 [file] [log] [blame]
Yuta HIGUCHI5027b6b2014-11-05 16:23:26 -08001package org.onlab.onos.store.service.impl;
2
3import java.util.Collection;
4
5import net.kuujo.copycat.cluster.TcpClusterConfig;
6import net.kuujo.copycat.cluster.TcpMember;
7
8import com.esotericsoftware.kryo.Kryo;
9import com.esotericsoftware.kryo.Serializer;
10import com.esotericsoftware.kryo.io.Input;
11import com.esotericsoftware.kryo.io.Output;
12
13public class TcpClusterConfigSerializer extends Serializer<TcpClusterConfig> {
14
15 @Override
16 public void write(Kryo kryo, Output output, TcpClusterConfig object) {
17 kryo.writeClassAndObject(output, object.getLocalMember());
18 kryo.writeClassAndObject(output, object.getRemoteMembers());
19 }
20
21 @Override
22 public TcpClusterConfig read(Kryo kryo, Input input,
23 Class<TcpClusterConfig> type) {
24 TcpMember localMember = (TcpMember) kryo.readClassAndObject(input);
25 @SuppressWarnings("unchecked")
26 Collection<TcpMember> remoteMembers = (Collection<TcpMember>) kryo.readClassAndObject(input);
27 return new TcpClusterConfig(localMember, remoteMembers);
28 }
29
30}