INNER CODE UNIT · Kotlin
readHandler
vogler75/automation-gateway · source/lib-plc4x/src/main/kotlin/Plc4xDriver.kt:305
override fun readHandler(message: Message<JsonObject>) {
val node = message.body().getValue("NodeId")
when {
plc?.metadata?.isReadSupported == false -> {
message.reply(JsonObject().put("Ok", false).put("Error", "Read not supported!"))
}
node != null && node is String -> {
try {
if (!isConnected()) {
message.reply(JsonObject().put("Ok", false).put("Result", "Not connected!"))
} else {
val builder: PlcReadRequest.Builder = plc!!.readRequestBuilder()
builder.addTagAddress("value", node)
val request = builder.build()
val response = request.execute()
response.orTimeout(readTimeout, TimeUnit.MILLISECONDS)
response.whenComplete { readResponse, throwable ->
if (readResponse != null) {