package se.sics.gvod.gradient.msgs; import io.netty.buffer.ByteBuf; import se.sics.gvod.common.VodDescriptor; import java.util.List; import se.sics.gvod.common.msgs.MessageDecodingException; import se.sics.gvod.common.msgs.RelayMsgNettyFactory; import se.sics.gvod.net.msgs.RewriteableMsg; import se.sics.gvod.net.util.UserTypesDecoderFactory; public class SetsExchangeMsgFactory { public static class Request extends RelayMsgNettyFactory.Request { Request() { } public static SetsExchangeMsg.Request fromBuffer(ByteBuf buffer) throws MessageDecodingException { return (SetsExchangeMsg.Request) new SetsExchangeMsgFactory.Request().decode(buffer); } @Override protected RewriteableMsg process(ByteBuf buffer) throws MessageDecodingException { return new SetsExchangeMsg.Request(gvodSrc, gvodDest, clientId, remoteId, timeoutId); } } public static class Response extends RelayMsgNettyFactory.Response { private Response() { } public static SetsExchangeMsg.Response fromBuffer(ByteBuf buffer) throws MessageDecodingException { return (SetsExchangeMsg.Response) new SetsExchangeMsgFactory.Response().decode(buffer); } @Override protected RewriteableMsg process(ByteBuf buffer) throws MessageDecodingException { List<VodDescriptor> utilitySet = UserTypesDecoderFactory.readListVodNodeDescriptors(buffer); List<VodDescriptor> upperSet = UserTypesDecoderFactory.readListVodNodeDescriptors(buffer); return new SetsExchangeMsg.Response(gvodSrc, gvodDest, clientId, remoteId, nextDest, timeoutId, utilitySet, upperSet); } } };