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 2022/08/10 11:03:00 UTC

[plc4x] branch develop updated: fix(plc4go/cbus): fixed handling of server errors

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


The following commit(s) were added to refs/heads/develop by this push:
     new be71f0cd2 fix(plc4go/cbus): fixed handling of server errors
be71f0cd2 is described below

commit be71f0cd218b64a87cc3d3ef390372e1d6f1a76d
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Aug 10 13:02:54 2022 +0200

    fix(plc4go/cbus): fixed handling of server errors
---
 plc4go/internal/cbus/Reader.go | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/plc4go/internal/cbus/Reader.go b/plc4go/internal/cbus/Reader.go
index ecbfbc4d4..0778cdeb9 100644
--- a/plc4go/internal/cbus/Reader.go
+++ b/plc4go/internal/cbus/Reader.go
@@ -108,17 +108,14 @@ func (m *Reader) Read(readRequest model.PlcReadRequest) <-chan model.PlcReadRequ
 						if !ok {
 							return false
 						}
+						// Check if this errored
+						if _, ok = messageToClient.GetReply().(readWriteModel.ServerErrorReplyExactly); ok {
+							// This means we must handle this below
+							return true
+						}
+
 						confirmation, ok := messageToClient.GetReply().(readWriteModel.ReplyOrConfirmationConfirmationExactly)
 						if !ok {
-							reply, ok := messageToClient.GetReply().(readWriteModel.ReplyOrConfirmationReplyExactly)
-							if !ok {
-								return false
-							}
-							_, ok = reply.GetReply().(readWriteModel.ServerErrorReplyExactly)
-							if ok {
-								// This means we must handle this below
-								return true
-							}
 							return false
 						}
 						return confirmation.GetConfirmation().GetAlpha().GetCharacter() == messageToSend.(readWriteModel.CBusMessageToServer).GetRequest().(readWriteModel.RequestCommand).GetAlpha().GetCharacter()
@@ -128,7 +125,7 @@ func (m *Reader) Read(readRequest model.PlcReadRequest) <-chan model.PlcReadRequ
 						log.Trace().Msg("convert response to ")
 						cbusMessage := receivedMessage.(readWriteModel.CBusMessage)
 						messageToClient := cbusMessage.(readWriteModel.CBusMessageToClient)
-						if _, ok := messageToClient.GetReply().(readWriteModel.ReplyOrConfirmationReplyExactly); ok {
+						if _, ok := messageToClient.GetReply().(readWriteModel.ServerErrorReplyExactly); ok {
 							log.Debug().Msg("We got a server failure")
 							addResponseCode(fieldNameCopy, model.PlcResponseCode_INVALID_DATA)
 							requestWasOk <- false