You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2023/03/22 14:08:14 UTC

[plc4x] 01/02: feat(plc4go/spi): improve string outputs of transports

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.git

commit a6181936a52af9c75b0ab4c21daa68f6bae91244
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Mar 22 15:00:17 2023 +0100

    feat(plc4go/spi): improve string outputs of transports
---
 plc4go/spi/transports/pcap/Transport.go   | 9 +++++++++
 plc4go/spi/transports/serial/Transport.go | 9 +++++++++
 plc4go/spi/transports/tcp/Transport.go    | 8 ++++++++
 plc4go/spi/transports/test/Transport.go   | 8 ++++++++
 plc4go/spi/transports/udp/Transport.go    | 9 +++++++++
 5 files changed, 43 insertions(+)

diff --git a/plc4go/spi/transports/pcap/Transport.go b/plc4go/spi/transports/pcap/Transport.go
index 6363caf34e..6e151ea351 100644
--- a/plc4go/spi/transports/pcap/Transport.go
+++ b/plc4go/spi/transports/pcap/Transport.go
@@ -22,6 +22,7 @@ package pcap
 import (
 	"bufio"
 	"bytes"
+	"fmt"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/gopacket/gopacket"
 	"github.com/gopacket/gopacket/layers"
@@ -78,6 +79,10 @@ func (m Transport) CreateTransportInstance(transportUrl url.URL, options map[str
 	return NewPcapTransportInstance(transportUrl.Path, transportType, portRange, speedFactor, &m), nil
 }
 
+func (m Transport) String() string {
+	return m.GetTransportCode() + "(" + m.GetTransportName() + ")"
+}
+
 type TransportInstance struct {
 	transports.DefaultBufferedTransportInstance
 	transportFile string
@@ -193,3 +198,7 @@ func (m *TransportInstance) Write(_ []uint8) error {
 func (m *TransportInstance) GetReader() *bufio.Reader {
 	return m.reader
 }
+
+func (m *TransportInstance) String() string {
+	return fmt.Sprintf("pcap:%s(%s)x%d", m.transportFile, m.portRange, m.speedFactor)
+}
diff --git a/plc4go/spi/transports/serial/Transport.go b/plc4go/spi/transports/serial/Transport.go
index 1ccd68939d..cd2f9a1be0 100644
--- a/plc4go/spi/transports/serial/Transport.go
+++ b/plc4go/spi/transports/serial/Transport.go
@@ -21,6 +21,7 @@ package serial
 
 import (
 	"bufio"
+	"fmt"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/jacobsa/go-serial/serial"
 	"github.com/pkg/errors"
@@ -75,6 +76,10 @@ func (m Transport) CreateTransportInstanceForLocalAddress(transportUrl url.URL,
 	return NewTransportInstance(serialPortName, baudRate, connectTimeout, &m), nil
 }
 
+func (m Transport) String() string {
+	return m.GetTransportCode() + "(" + m.GetTransportName() + ")"
+}
+
 type TransportInstance struct {
 	transports.DefaultBufferedTransportInstance
 	SerialPortName string
@@ -150,3 +155,7 @@ func (m *TransportInstance) Write(data []uint8) error {
 func (m *TransportInstance) GetReader() *bufio.Reader {
 	return m.reader
 }
+
+func (m *TransportInstance) String() string {
+	return fmt.Sprintf("serial:%s:%d", m.SerialPortName, m.BaudRate)
+}
diff --git a/plc4go/spi/transports/tcp/Transport.go b/plc4go/spi/transports/tcp/Transport.go
index 9cab2cc975..ea80f22bea 100644
--- a/plc4go/spi/transports/tcp/Transport.go
+++ b/plc4go/spi/transports/tcp/Transport.go
@@ -95,6 +95,10 @@ func (m Transport) CreateTransportInstance(transportUrl url.URL, options map[str
 	return NewTcpTransportInstance(tcpAddr, connectTimeout, &m), nil
 }
 
+func (m Transport) String() string {
+	return m.GetTransportCode() + "(" + m.GetTransportName() + ")"
+}
+
 type TransportInstance struct {
 	transports.DefaultBufferedTransportInstance
 	RemoteAddress  *net.TCPAddr
@@ -167,3 +171,7 @@ func (m *TransportInstance) Write(data []uint8) error {
 func (m *TransportInstance) GetReader() *bufio.Reader {
 	return m.reader
 }
+
+func (m *TransportInstance) String() string {
+	return fmt.Sprintf("tcp:%s->%s", m.LocalAddress, m.RemoteAddress)
+}
diff --git a/plc4go/spi/transports/test/Transport.go b/plc4go/spi/transports/test/Transport.go
index ab326b8193..51a2b952ed 100644
--- a/plc4go/spi/transports/test/Transport.go
+++ b/plc4go/spi/transports/test/Transport.go
@@ -49,6 +49,10 @@ func (m Transport) CreateTransportInstance(_ url.URL, _ map[string][]string) (tr
 	return NewTransportInstance(&m), nil
 }
 
+func (m Transport) String() string {
+	return m.GetTransportCode() + "(" + m.GetTransportName() + ")"
+}
+
 type TransportInstance struct {
 	readBuffer  []byte
 	writeBuffer []byte
@@ -140,3 +144,7 @@ func (m *TransportInstance) DrainWriteBuffer(numBytes uint32) ([]uint8, error) {
 	m.writeBuffer = m.writeBuffer[int(numBytes):]
 	return data, nil
 }
+
+func (m *TransportInstance) String() string {
+	return "test"
+}
diff --git a/plc4go/spi/transports/udp/Transport.go b/plc4go/spi/transports/udp/Transport.go
index 337f9f16a7..8ac1488365 100644
--- a/plc4go/spi/transports/udp/Transport.go
+++ b/plc4go/spi/transports/udp/Transport.go
@@ -22,6 +22,7 @@ package udp
 import (
 	"bufio"
 	"context"
+	"fmt"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/libp2p/go-reuseport"
@@ -107,6 +108,10 @@ func (m Transport) CreateTransportInstanceForLocalAddress(transportUrl url.URL,
 	return NewTransportInstance(localAddress, remoteAddress, connectTimeout, soReUse, &m), nil
 }
 
+func (m Transport) String() string {
+	return m.GetTransportCode() + "(" + m.GetTransportName() + ")"
+}
+
 type TransportInstance struct {
 	LocalAddress   *net.UDPAddr
 	RemoteAddress  *net.UDPAddr
@@ -262,3 +267,7 @@ func (m *TransportInstance) Write(data []uint8) error {
 	}
 	return nil
 }
+
+func (m *TransportInstance) String() string {
+	return fmt.Sprintf("udp:%s->%s", m.LocalAddress, m.RemoteAddress)
+}