func (*Envelope) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Envelope_Ping)(nil),
		(*Envelope_Packet)(nil),
	}
}
XXX_OneofWrappers is for the internal use of the proto package.
package protocol
import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3  
type Envelope struct {
	Type                 isEnvelope_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}
func (m *Envelope) Reset()         { *m = Envelope{} }
func (m *Envelope) String() string { return proto.CompactTextString(m) }
func (*Envelope) ProtoMessage()    {}
func (*Envelope) Descriptor() ([]byte, []int) {
	return fileDescriptor_2bc2336598a3f7e0, []int{0}
}
func (m *Envelope) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Envelope.Unmarshal(m, b)
}
func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Envelope.Marshal(b, m, deterministic)
}
func (m *Envelope) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Envelope.Merge(m, src)
}
func (m *Envelope) XXX_Size() int {
	return xxx_messageInfo_Envelope.Size(m)
}
func (m *Envelope) XXX_DiscardUnknown() {
	xxx_messageInfo_Envelope.DiscardUnknown(m)
}
var xxx_messageInfo_Envelope proto.InternalMessageInfo
type isEnvelope_Type interface {
	isEnvelope_Type()
}
type Envelope_Ping struct {
	Ping *MessagePing `protobuf:"bytes,1,opt,name=ping,proto3,oneof"`
}
type Envelope_Packet struct {
	Packet *MessagePacket `protobuf:"bytes,2,opt,name=packet,proto3,oneof"`
}
func (*Envelope_Ping) isEnvelope_Type() {}
func (*Envelope_Packet) isEnvelope_Type() {}
func (m *Envelope) GetType() isEnvelope_Type {
	if m != nil {
		return m.Type
	}
	return nil
}
func (m *Envelope) GetPing() *MessagePing {
	if x, ok := m.GetType().(*Envelope_Ping); ok {
		return x.Ping
	}
	return nil
}
func (m *Envelope) GetPacket() *MessagePacket {
	if x, ok := m.GetType().(*Envelope_Packet); ok {
		return x.Packet
	}
	return nil
}