INNER CODE UNIT · Kotlin
connectClientThread
vogler75/automation-gateway · source/lib-plc4x/src/main/kotlin/Plc4xDriver.kt:135
private fun connectClientThread(ret: Promise<Boolean>) {
thread {
try {
connectPlc4xDriver()
ret.complete(true)
} catch (e: Exception) {
logger.info("Plc4x connect failed! Wait and retry... " + e.message)
vertx.setTimer(retryWaitTime.toLong()) { connectClientThread(ret) }
} catch (e: Exception) {
ret.fail(e)
}
}
}
override fun disconnect(): Future<Boolean> {
val promise = Promise.promise<Boolean>()
if (plc != null && plc?.isConnected == true) {
plc?.close()