// Path: network/netty/src/main/java/se/sics/gvod/common/msgs/MessageEncodingException.java
// public class MessageEncodingException extends Exception {
// 
// 	private static final long serialVersionUID = -3078825718180083408L;
// 
// 	public MessageEncodingException(String mesg) {
// 		super(mesg);
// 	}
// 
// }


import io.netty.buffer.ByteBuf;
import java.util.Set;
import se.sics.gvod.address.Address;
import se.sics.gvod.common.msgs.MessageEncodingException;
import se.sics.gvod.net.BaseMsgFrameDecoder;
import se.sics.gvod.net.VodAddress;
import se.sics.gvod.net.msgs.RewriteableMsg;
import se.sics.gvod.net.msgs.RewriteableRetryTimeout;
import se.sics.gvod.net.msgs.ScheduleRetryTimeout;
import se.sics.gvod.net.util.UserTypesEncoderFactory;
import se.sics.gvod.timer.TimeoutId;
            return replyTo;
        }
        
        public void setTryId(int tryId) {
            this.tryId = tryId;
        }

        public int getTryId() {
            return tryId;
        }

        public Test getTestType() {
            return testType;
        }

        @Override
        public String toString() {
            return "Echo.RequestMessage. Type " + testType + " tryId " + tryId;
        }

        @Override
        public int getSize() {
            return super.getHeaderSize()
                    + 1 /*test type*/
                    + 1 /*try id*/
                    + UserTypesEncoderFactory.ADDRESS_LEN // replyTo
                    ;
        }

        @Override
// Path: network/netty/src/main/java/se/sics/gvod/common/msgs/MessageEncodingException.java
// public class MessageEncodingException extends Exception {
// 
// 	private static final long serialVersionUID = -3078825718180083408L;
// 
// 	public MessageEncodingException(String mesg) {
// 		super(mesg);
// 	}
// 
// }


// Path: network/netty/src/main/java/se/sics/gvod/stun/msgs/EchoMsg.java
import io.netty.buffer.ByteBuf;
import java.util.Set;
import se.sics.gvod.address.Address;
import se.sics.gvod.common.msgs.MessageEncodingException;
import se.sics.gvod.net.BaseMsgFrameDecoder;
import se.sics.gvod.net.VodAddress;
import se.sics.gvod.net.msgs.RewriteableMsg;
import se.sics.gvod.net.msgs.RewriteableRetryTimeout;
import se.sics.gvod.net.msgs.ScheduleRetryTimeout;
import se.sics.gvod.net.util.UserTypesEncoderFactory;
import se.sics.gvod.timer.TimeoutId;

            return replyTo;
        }
        
        public void setTryId(int tryId) {
            this.tryId = tryId;
        }

        public int getTryId() {
            return tryId;
        }

        public Test getTestType() {
            return testType;
        }

        @Override
        public String toString() {
            return "Echo.RequestMessage. Type " + testType + " tryId " + tryId;
        }

        @Override
        public int getSize() {
            return super.getHeaderSize()
                    + 1 /*test type*/
                    + 1 /*try id*/
                    + UserTypesEncoderFactory.ADDRESS_LEN // replyTo
                    ;
        }

        @Override
        public ByteBuf toByteArray() throws MessageEncodingException {