package se.sics.gvod.common.msgs; import io.netty.buffer.ByteBuf; import se.sics.gvod.common.UtilityVod; import se.sics.gvod.net.util.UserTypesDecoderFactory; public class DataOfferMsgFactory extends DirectMsgNettyFactory.Oneway { public static DataOfferMsg fromBuffer(ByteBuf buffer) throws MessageDecodingException { return (DataOfferMsg) new DataOfferMsgFactory().decode(buffer); } @Override protected DataOfferMsg process(ByteBuf buffer) throws MessageDecodingException { UtilityVod utility = (UtilityVod) UserTypesDecoderFactory.readUtility(buffer); byte[] chunks = UserTypesDecoderFactory.readArrayBytes(buffer); byte[][] availablePieces = UserTypesDecoderFactory.readArrayArrayBytes(buffer); return new DataOfferMsg(vodSrc, vodDest, utility, chunks, availablePieces); } };