// 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.hp.HPMechanism;
import se.sics.gvod.common.hp.HPRole;
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.util.UserTypesEncoderFactory;
import se.sics.gvod.timer.ScheduleTimeout;
import se.sics.gvod.timer.Timeout;
import se.sics.gvod.timer.TimeoutId;
package se.sics.gvod.hp.msgs;


/**
 * 
 * z server sends this message to the initiator to start SHP
 * direction of msg: server ----> client
 */
public class GoMsg
{
    public final static class Request extends HpMsg.Oneway
    {
        static final long serialVersionUID = 13245324567L;
        private final VodAddress openedHole;
        private final HPMechanism holePunchingMechanism;
        private final HPRole holePunchingRole;
// 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/GoMsg.java
import io.netty.buffer.ByteBuf;
import se.sics.gvod.common.hp.HPMechanism;
import se.sics.gvod.common.hp.HPRole;
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.util.UserTypesEncoderFactory;
import se.sics.gvod.timer.ScheduleTimeout;
import se.sics.gvod.timer.Timeout;
import se.sics.gvod.timer.TimeoutId;

package se.sics.gvod.hp.msgs;


/**
 * 
 * z server sends this message to the initiator to start SHP
 * direction of msg: server ----> client
 */
public class GoMsg
{
    public final static class Request extends HpMsg.Oneway
    {
        static final long serialVersionUID = 13245324567L;
        private final VodAddress openedHole;
        private final HPMechanism holePunchingMechanism;
        private final HPRole holePunchingRole;
        private int PRP_PRP_interleavedPort;