in mqtt/src/main/scala/org/apache/pekko/stream/connectors/mqtt/settings.scala [174:318]
def withBroker(value: String): MqttConnectionSettings = copy(broker = value)
def withClientId(clientId: String): MqttConnectionSettings = copy(clientId = clientId)
def withPersistence(value: org.eclipse.paho.client.mqttv3.MqttClientPersistence): MqttConnectionSettings =
copy(persistence = value)
def withAuth(username: String, password: String): MqttConnectionSettings =
copy(auth = Some((username, password)))
def withSocketFactory(value: javax.net.ssl.SSLSocketFactory): MqttConnectionSettings =
copy(socketFactory = Option(value))
def withCleanSession(value: Boolean): MqttConnectionSettings =
if (cleanSession == value) this else copy(cleanSession = value)
def withWill(value: MqttMessage): MqttConnectionSettings = copy(will = Option(value))
def withAutomaticReconnect(value: Boolean): MqttConnectionSettings =
if (automaticReconnect == value) this else copy(automaticReconnect = value)
/** Scala API */
def withKeepAliveInterval(value: FiniteDuration): MqttConnectionSettings =
copy(keepAliveInterval = value)
/** Java API */
def withKeepAliveInterval(value: java.time.Duration): MqttConnectionSettings =
withKeepAliveInterval(
value.asScala)
/** Scala API */
def withConnectionTimeout(value: FiniteDuration): MqttConnectionSettings =
copy(connectionTimeout = value)
/** Java API */
def withConnectionTimeout(value: java.time.Duration): MqttConnectionSettings =
withConnectionTimeout(
value.asScala)
/** Scala API */
def withDisconnectQuiesceTimeout(value: FiniteDuration): MqttConnectionSettings =
copy(disconnectQuiesceTimeout = value)
/** Java API */
def withDisconnectQuiesceTimeout(value: java.time.Duration): MqttConnectionSettings =
withDisconnectQuiesceTimeout(
value.asScala)
/** Scala API */
def withDisconnectTimeout(value: FiniteDuration): MqttConnectionSettings =
copy(disconnectTimeout = value)
/** Java API */
def withDisconnectTimeout(value: java.time.Duration): MqttConnectionSettings =
withDisconnectTimeout(
value.asScala)
def withMaxInFlight(value: Int): MqttConnectionSettings = copy(maxInFlight = value)
def withMqttVersion(value: Int): MqttConnectionSettings = copy(mqttVersion = value)
def withServerUri(value: String): MqttConnectionSettings = copy(serverUris = immutable.Seq(value))
/** Scala API */
def withServerUris(values: immutable.Seq[String]): MqttConnectionSettings = copy(serverUris = values)
/** Java API */
def withServerUris(values: java.util.List[String]): MqttConnectionSettings = copy(serverUris = values.asScala.toList)
def withSslHostnameVerifier(value: javax.net.ssl.HostnameVerifier): MqttConnectionSettings =
copy(sslHostnameVerifier = Option(value))
/** Scala API */
def withSslProperties(value: Map[String, String]): MqttConnectionSettings = copy(sslProperties = value)
/** Java API */
def withSslProperties(value: java.util.Map[String, String]): MqttConnectionSettings =
copy(sslProperties = value.asScala.toMap)
def withOfflinePersistenceSettings(bufferSize: Int = 5000,
deleteOldestMessage: Boolean = false,
persistBuffer: Boolean = true): MqttConnectionSettings =
copy(
offlinePersistenceSettings =
Option(MqttOfflinePersistenceSettings(bufferSize, deleteOldestMessage, persistBuffer)))
private def copy(
broker: String = broker,
clientId: String = clientId,
persistence: org.eclipse.paho.client.mqttv3.MqttClientPersistence = persistence,
auth: Option[(String, String)] = auth,
socketFactory: Option[javax.net.ssl.SSLSocketFactory] = socketFactory,
cleanSession: Boolean = cleanSession,
will: Option[MqttMessage] = will,
automaticReconnect: Boolean = automaticReconnect,
keepAliveInterval: FiniteDuration = keepAliveInterval,
connectionTimeout: FiniteDuration = connectionTimeout,
disconnectQuiesceTimeout: FiniteDuration = disconnectQuiesceTimeout,
disconnectTimeout: FiniteDuration = disconnectTimeout,
maxInFlight: Int = maxInFlight,
mqttVersion: Int = mqttVersion,
serverUris: immutable.Seq[String] = serverUris,
sslHostnameVerifier: Option[javax.net.ssl.HostnameVerifier] = sslHostnameVerifier,
sslProperties: Map[String, java.lang.String] = sslProperties,
offlinePersistenceSettings: Option[MqttOfflinePersistenceSettings] = offlinePersistenceSettings)
: MqttConnectionSettings =
new MqttConnectionSettings(
broker = broker,
clientId = clientId,
persistence = persistence,
auth = auth,
socketFactory = socketFactory,
cleanSession = cleanSession,
will = will,
automaticReconnect = automaticReconnect,
keepAliveInterval = keepAliveInterval,
connectionTimeout = connectionTimeout,
disconnectQuiesceTimeout = disconnectQuiesceTimeout,
disconnectTimeout = disconnectTimeout,
maxInFlight = maxInFlight,
mqttVersion = mqttVersion,
serverUris = serverUris,
sslHostnameVerifier = sslHostnameVerifier,
sslProperties = sslProperties,
offlinePersistenceSettings = offlinePersistenceSettings)
override def toString =
"MqttConnectionSettings(" +
s"broker=$broker," +
s"clientId=$clientId," +
s"persistence=$persistence," +
s"auth(username)=${auth.map(_._1)}," +
s"socketFactory=$socketFactory," +
s"cleanSession=$cleanSession," +
s"will=$will," +
s"automaticReconnect=$automaticReconnect," +
s"keepAliveInterval=$keepAliveInterval," +
s"connectionTimeout=$connectionTimeout," +
s"disconnectQuiesceTimeout=$disconnectQuiesceTimeout," +
s"disconnectTimeout=$disconnectTimeout," +
s"maxInFlight=$maxInFlight," +
s"mqttVersion=$mqttVersion," +
s"serverUris=$serverUris," +
s"sslHostnameVerifier=$sslHostnameVerifier," +
s"sslProperties=$sslProperties," +
s"offlinePersistenceSettings=$offlinePersistenceSettings" +
")"
}
/**
* Factory for connection settings passed to the underlying Paho client.
*
* See [[https://www.eclipse.org/paho/files/javadoc/org/eclipse/paho/client/mqttv3/MqttConnectOptions.html]]
*/
object MqttConnectionSettings {