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/06/14 10:56:27 UTC

[plc4x] 02/02: feat(plc4go/cbus): more log details on the connection process

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 dfe1459f024ed101ef353149cb6033720eeb46a3
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Jun 14 12:56:16 2023 +0200

    feat(plc4go/cbus): more log details on the connection process
---
 plc4go/internal/cbus/Connection.go | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/plc4go/internal/cbus/Connection.go b/plc4go/internal/cbus/Connection.go
index 99638f10f0..146f78b14b 100644
--- a/plc4go/internal/cbus/Connection.go
+++ b/plc4go/internal/cbus/Connection.go
@@ -291,27 +291,47 @@ func (c *Connection) sendReset(ctx context.Context, ch chan plc4go.PlcConnection
 	if err := c.messageCodec.SendRequest(ctx, cBusMessage, func(message spi.Message) bool {
 		switch message := message.(type) {
 		case readWriteModel.CBusMessageToClientExactly:
-			if reply, ok := message.GetReply().(readWriteModel.ReplyOrConfirmationReplyExactly); ok {
-				_, ok := reply.GetReply().(readWriteModel.PowerUpReplyExactly)
-				return ok
+			switch reply := message.GetReply().(type) {
+			case readWriteModel.ReplyOrConfirmationReplyExactly:
+				switch reply.GetReply().(type) {
+				case readWriteModel.PowerUpReplyExactly:
+					c.log.Debug().Msg("Received a PUN reply")
+					return true
+				default:
+					c.log.Trace().Msgf("%T not relevant", reply)
+					return false
+				}
+			default:
+				c.log.Trace().Msgf("%T not relevant", reply)
+				return false
 			}
 		case readWriteModel.CBusMessageToServerExactly:
-			_, ok = message.GetRequest().(readWriteModel.RequestResetExactly)
-			return ok
+			switch request := message.GetRequest().(type) {
+			case readWriteModel.RequestResetExactly:
+				c.log.Debug().Msg("Received a Reset reply")
+				return true
+			default:
+				c.log.Trace().Msgf("%T not relevant", request)
+				return false
+			}
+		default:
+			c.log.Trace().Msgf("%T not relevant", message)
+			return false
 		}
-		return false
 	}, func(message spi.Message) error {
 		switch message.(type) {
 		case readWriteModel.CBusMessageToClientExactly:
 			// This is the powerup notification
 			select {
 			case receivedResetEchoChan <- false:
+				c.log.Trace().Msg("notified reset chan from message to client")
 			default:
 			}
 		case readWriteModel.CBusMessageToServerExactly:
 			// This is the echo
 			select {
 			case receivedResetEchoChan <- true:
+				c.log.Trace().Msg("notified reset chan from message to server")
 			default:
 			}
 		default:
@@ -321,6 +341,7 @@ func (c *Connection) sendReset(ctx context.Context, ch chan plc4go.PlcConnection
 	}, func(err error) error {
 		select {
 		case receivedResetEchoErrorChan <- errors.Wrap(err, "got error processing request"):
+			c.log.Trace().Msg("notified error chan")
 		default:
 		}
 		return nil