code: func (m *GossipMessage) GetPullMsgType() PullMsgType {
  	if helloMsg := m.GetHello(); helloMsg != nil {
  		return helloMsg.MsgType
  	}
  
  	if digMsg := m.GetDataDig(); digMsg != nil {
  		return digMsg.MsgType
  	}
  
  	if reqMsg := m.GetDataReq(); reqMsg != nil {
  		return reqMsg.MsgType
  	}
  
  	if resMsg := m.GetDataUpdate(); resMsg != nil {
  		return resMsg.MsgType
  	}
  
  	return PullMsgType_UNDEFINED
  }
docs: // GetPullMsgType returns the phase of the pull mechanism this GossipMessage belongs to
  // for example: Hello, Digest, etc.
  // If this isn't a pull message, PullMsgType_UNDEFINED is returned.