All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vertx.kotlin.core.eventbus.DeliveryOptions.kt Maven / Gradle / Ivy

There is a newer version: 5.0.0.CR1
Show newest version
/*
 * Copyright 2019 Red Hat, Inc.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 * The Eclipse Public License is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * The Apache License v2.0 is available at
 * http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.kotlin.core.eventbus

import io.vertx.core.eventbus.DeliveryOptions
import io.vertx.core.tracing.TracingPolicy

/**
 * A function providing a DSL for building [io.vertx.core.eventbus.DeliveryOptions] objects.
 *
 * Delivery options are used to configure message delivery.
 * 

* Delivery options allow to configure delivery timeout and message codec name, and to provide any headers * that you wish to send with the message. * * @param sendTimeout Set the send timeout. * @param codecName Set the codec name. * @param headers Add a message header.

Message headers can be sent with any message and will be accessible with [io.vertx.core.eventbus.Message] at the recipient. * @param localOnly Whether a message should be delivered to local consumers only. Defaults to false.

This option is effective in clustered mode only and does not apply to reply messages. * @param tracingPolicy Set the tracing policy when Vert.x has tracing enabled. * *

* NOTE: This function has been automatically generated from the [io.vertx.core.eventbus.DeliveryOptions original] using Vert.x codegen. */ fun deliveryOptionsOf( sendTimeout: Long? = null, codecName: String? = null, headers: Map? = null, localOnly: Boolean? = null, tracingPolicy: TracingPolicy? = null): DeliveryOptions = io.vertx.core.eventbus.DeliveryOptions().apply { if (sendTimeout != null) { this.setSendTimeout(sendTimeout) } if (codecName != null) { this.setCodecName(codecName) } if (headers != null) { for (item in headers) { this.addHeader(item.key, item.value) } } if (localOnly != null) { this.setLocalOnly(localOnly) } if (tracingPolicy != null) { this.setTracingPolicy(tracingPolicy) } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy