code: func (p *Peer) SendPriority(ctx context.Context, msg interface{}, priority uint8) error {
  	defer metrics.GetOrRegisterResettingTimer(fmt.Sprintf("peer.sendpriority_t.%d", priority), nil).UpdateSince(time.Now())
  	ctx = tracing.StartSaveSpan(ctx)
  	metrics.GetOrRegisterCounter(fmt.Sprintf("peer.sendpriority.%d", priority), nil).Inc(1)
  	wmsg := WrappedPriorityMsg{
  		Context: ctx,
  		Msg:     msg,
  	}
  	err := p.pq.Push(wmsg, int(priority))
  	if err != nil {
  		log.Error("err on p.pq.Push", "err", err, "peer", p.ID())
  	}
  	return err
  }
docs: // SendPriority sends message to the peer using the outgoing priority queue