package se.sics.gvod.common.msgs;
import io.netty.buffer.ByteBuf;
import se.sics.gvod.net.VodAddress;
import se.sics.gvod.net.util.UserTypesDecoderFactory;
public class UploadingRateMsgFactory {
public static class Request extends DirectMsgNettyFactory.Request {
private Request() {
}
public static UploadingRateMsg.Request fromBuffer(ByteBuf buffer)
throws MessageDecodingException {
return (UploadingRateMsg.Request)
new UploadingRateMsgFactory.Request().decode(buffer);
}
@Override
protected UploadingRateMsg.Request process(ByteBuf buffer) throws MessageDecodingException {
VodAddress target = UserTypesDecoderFactory.readVodAddress(buffer);
return new UploadingRateMsg.Request(vodSrc, vodDest, target);
}
}
public static class Response extends DirectMsgNettyFactory.Response {
private Response() {
}
public static UploadingRateMsg.Response fromBuffer(ByteBuf buffer)
throws MessageDecodingException {
return (UploadingRateMsg.Response)
new UploadingRateMsgFactory.Response().decode(buffer);
}
@Override
protected UploadingRateMsg.Response process(ByteBuf buffer) throws MessageDecodingException {
VodAddress target = UserTypesDecoderFactory.readVodAddress(buffer);
int rate = buffer.readInt();
return new UploadingRateMsg.Response(vodSrc, vodDest, timeoutId, target, rate);
}
}
};