func()

in v2/processor.go [241:256]


func (p *Processor) process(ctx context.Context, receiverEx *ReceiverEx, message *azservicebus.ReceivedMessage) {
	receiverName := receiverEx.name
	p.concurrencyTokens <- struct{}{}
	go func() {
		msgContext, cancel := context.WithCancel(ctx)
		// cancel messageContext when we get out of this goroutine
		defer cancel()
		defer func() {
			<-p.concurrencyTokens
			processor.Metric.IncMessageHandled(receiverName, message)
			processor.Metric.DecConcurrentMessageCount(receiverName, message)
		}()
		processor.Metric.IncConcurrentMessageCount(receiverName, message)
		p.handle.Handle(msgContext, receiverEx.sbReceiver, message)
	}()
}