// 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 se.sics.gvod.common.msgs.DirectMsgNetty;
import se.sics.gvod.common.msgs.MessageEncodingException;
import se.sics.gvod.net.BaseMsgFrameDecoder;
import se.sics.gvod.net.Transport;
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;
                    ;
        }

        public Ping(VodAddress src, VodAddress dest,
                Transport protocol, TimeoutId timeoutId) {
            super(src, dest, protocol, timeoutId);
        }

        public Ping(VodAddress src, VodAddress dest,
                TimeoutId timeoutId) {
            super(src, dest, timeoutId);
        }

        private Ping(Ping msg, VodAddress src) {
            super(src, msg.getVodDestination());
        }

        private Ping(VodAddress dest, Ping msg) {
            super(msg.getVodSource(), dest);
        }

        @Override
        public RewriteableMsg copy() {
            TConnectionMsg.Ping copy = new TConnectionMsg.Ping(vodSrc, vodDest,
                    timeoutId);
            copy.setTimeoutId(timeoutId);
            return copy;
        }

        @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/hp/msgs/TConnectionMsg.java
import io.netty.buffer.ByteBuf;
import se.sics.gvod.common.msgs.DirectMsgNetty;
import se.sics.gvod.common.msgs.MessageEncodingException;
import se.sics.gvod.net.BaseMsgFrameDecoder;
import se.sics.gvod.net.Transport;
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;

                    ;
        }

        public Ping(VodAddress src, VodAddress dest,
                Transport protocol, TimeoutId timeoutId) {
            super(src, dest, protocol, timeoutId);
        }

        public Ping(VodAddress src, VodAddress dest,
                TimeoutId timeoutId) {
            super(src, dest, timeoutId);
        }

        private Ping(Ping msg, VodAddress src) {
            super(src, msg.getVodDestination());
        }

        private Ping(VodAddress dest, Ping msg) {
            super(msg.getVodSource(), dest);
        }

        @Override
        public RewriteableMsg copy() {
            TConnectionMsg.Ping copy = new TConnectionMsg.Ping(vodSrc, vodDest,
                    timeoutId);
            copy.setTimeoutId(timeoutId);
            return copy;
        }

        @Override
        public ByteBuf toByteArray() throws MessageEncodingException {