This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x-extras.git


The following commit(s) were added to refs/heads/develop by this push:
     new bc741ef  feat(plc4go): update upstream version part3
bc741ef is described below

commit bc741ef3cdf30931fac6bda1418c99b73cbf3673
Author: Sebastian Rühl <[email protected]>
AuthorDate: Mon Nov 24 13:10:29 2025 +0100

    feat(plc4go): update upstream version part3
---
 plc4go/examples/ads/read/Read.go                            | 13 +++++++++----
 plc4go/examples/ads/write/Write.go                          | 12 ++++++++----
 .../knx/discovery/hello_world_plc4go_knx_discovery.go       |  6 +++++-
 3 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/plc4go/examples/ads/read/Read.go b/plc4go/examples/ads/read/Read.go
index 96d82af..cf72762 100644
--- a/plc4go/examples/ads/read/Read.go
+++ b/plc4go/examples/ads/read/Read.go
@@ -20,11 +20,14 @@
 package main
 
 import (
+       "context"
+
        plc4go "github.com/apache/plc4x/plc4go/pkg/api"
        "github.com/apache/plc4x/plc4go/pkg/api/drivers"
 )
 
 func main() {
+       ctx := context.Background()
        driverManager := plc4go.NewPlcDriverManager()
        defer func() {
                if err := driverManager.Close(); err != nil {
@@ -32,9 +35,11 @@ func main() {
                }
        }()
        drivers.RegisterAdsDriver(driverManager)
-       connectionChan := 
driverManager.GetConnection("ads:tcp://192.168.23.20?sourceAmsNetId=192.168.23.200.1.1&sourceAmsPort=65534&targetAmsNetId=192.168.23.20.1.1&targetAmsPort=851")
-       connection := <-connectionChan
-       readRequest, err := connection.GetConnection().ReadRequestBuilder().
+       connection, err := driverManager.GetConnection(ctx, 
"ads:tcp://192.168.23.20?sourceAmsNetId=192.168.23.200.1.1&sourceAmsPort=65534&targetAmsNetId=192.168.23.20.1.1&targetAmsPort=851")
+       if err != nil {
+               panic(err)
+       }
+       readRequest, err := connection.ReadRequestBuilder().
                AddTagAddress("value-bool", "MAIN.hurz_BOOL").
                AddTagAddress("value-byte", "MAIN.hurz_BYTE").
                AddTagAddress("value-word", "MAIN.hurz_WORD").
@@ -62,7 +67,7 @@ func main() {
        if err != nil {
                panic(err)
        }
-       readResponseChannel := readRequest.Execute()
+       readResponseChannel := readRequest.Execute(ctx)
        readResult := <-readResponseChannel
        readResponse := readResult.GetResponse()
        for _, tagName := range readResponse.GetTagNames() {
diff --git a/plc4go/examples/ads/write/Write.go 
b/plc4go/examples/ads/write/Write.go
index bd71caf..79e02ee 100644
--- a/plc4go/examples/ads/write/Write.go
+++ b/plc4go/examples/ads/write/Write.go
@@ -20,6 +20,7 @@
 package main
 
 import (
+       "context"
        "time"
 
        plc4go "github.com/apache/plc4x/plc4go/pkg/api"
@@ -30,6 +31,7 @@ import (
 )
 
 func main() {
+       ctx := context.Background()
        driverManager := plc4go.NewPlcDriverManager()
        defer func() {
                if err := driverManager.Close(); err != nil {
@@ -37,8 +39,10 @@ func main() {
                }
        }()
        drivers.RegisterAdsDriver(driverManager)
-       connectionChan := 
driverManager.GetConnection("ads:tcp://192.168.23.20?sourceAmsNetId=192.168.23.200.1.1&sourceAmsPort=65534&targetAmsNetId=192.168.23.20.1.1&targetAmsPort=851")
-       connection := <-connectionChan
+       connection, err := driverManager.GetConnection(ctx, 
"ads:tcp://192.168.23.20?sourceAmsNetId=192.168.23.200.1.1&sourceAmsPort=65534&targetAmsNetId=192.168.23.20.1.1&targetAmsPort=851")
+       if err != nil {
+               panic(err)
+       }
 
        duration, _ := time.ParseDuration("1.234S")
        lduration, _ := time.ParseDuration("24015H23M12.034002044S")
@@ -70,7 +74,7 @@ func main() {
        children["hurz_DATE"] = spiValues.NewPlcDATE(date)
        children["hurz_TIME_OF_DAY"] = spiValues.NewPlcTIME_OF_DAY(timeOfDay)
        children["hurz_DATE_AND_TIME"] = 
spiValues.NewPlcDATE_AND_TIME(dateAndTime)
-       writeRequest, err := connection.GetConnection().WriteRequestBuilder().
+       writeRequest, err := connection.WriteRequestBuilder().
                AddTagAddress("value-bool", "MAIN.hurz_BOOL", 
spiValues.NewPlcBOOL(true)).                   // 1
                AddTagAddress("value-byte", "MAIN.hurz_BYTE", 
spiValues.NewPlcBYTE(42)).                     // 1
                AddTagAddress("value-word", "MAIN.hurz_WORD", 
spiValues.NewPlcWORD(42424)).                  // 2
@@ -98,7 +102,7 @@ func main() {
        if err != nil {
                panic(err)
        }
-       writeResponseChannel := writeRequest.Execute()
+       writeResponseChannel := writeRequest.Execute(ctx)
        writeResult := <-writeResponseChannel
        if writeResult.GetErr() != nil {
                log.Error().Err(writeResult.GetErr()).Msg("error in response")
diff --git a/plc4go/examples/knx/discovery/hello_world_plc4go_knx_discovery.go 
b/plc4go/examples/knx/discovery/hello_world_plc4go_knx_discovery.go
index 8880827..b1df888 100644
--- a/plc4go/examples/knx/discovery/hello_world_plc4go_knx_discovery.go
+++ b/plc4go/examples/knx/discovery/hello_world_plc4go_knx_discovery.go
@@ -60,6 +60,7 @@ func main() {
                connectionStrings = append(connectionStrings, connStr)
        }
 
+       var closes []func() error
        for _, connStr := range connectionStrings {
                log.Info().Str("connection string", connStr).Msg("Connecting")
                connection, err := driverManager.GetConnection(ctx, connStr)
@@ -70,7 +71,7 @@ func main() {
                        return
                }
                log.Info().Str("connection string", connStr).Msg("Connected")
-               defer connection.Close() // Bad example, don't defer in loop
+               closes = append(closes, connection.Close)
 
                // Try to find all KNX devices on the current network
                browseRequest, err := connection.BrowseRequestBuilder().
@@ -197,4 +198,7 @@ func main() {
                }
                return
        }
+       for _, closer := range closes {
+               _ = closer()
+       }
 }

Reply via email to