code: func (c *Connection) GetMessageID(msg api.Message) (uint16, error) {
  	if c == nil {
  		return 0, errors.New("nil connection passed in")
  	}
  
  	if msgID, ok := c.msgIDs[getMsgNameWithCrc(msg)]; ok {
  		return msgID, nil
  	}
  
  	msgID, err := c.vppClient.GetMsgID(msg.GetMessageName(), msg.GetCrcString())
  	if err != nil {
  		return 0, err
  	}
  
  	c.msgIDs[getMsgNameWithCrc(msg)] = msgID
  	c.msgMap[msgID] = msg
  
  	return msgID, nil
  }
docs: // GetMessageID returns message identifier of given API message.