func()

in v2/settlehandler.go [110:123]


func (s settlement[T]) settle(ctx context.Context, settler MessageSettler, message *azservicebus.ReceivedMessage, options T) {
	span := tab.FromContext(ctx)
	span.Logger().Info(fmt.Sprintf("%s message", s.name))
	settleCtx, cancel := context.WithTimeout(ctx, settlementTimeout)
	defer cancel()
	getLogger(ctx).Info(fmt.Sprintf("%s message with ID: %s", s.name, message.MessageID))
	if err := s.settleFunc(settleCtx, settler, message, options); err != nil {
		wrapped := fmt.Errorf("%s settlement failed: %w", s.name, err)
		getLogger(ctx).Error(wrapped.Error())
		span.Logger().Error(wrapped)
		// the processing will terminate and the lock on the message will eventually be released after
		// the message lock expires on the broker side
	}
}