def withBroker()

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 {