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/11/10 14:32:17 UTC

[plc4x] 01/03: fix(bacnet): fix segment ack

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 e0a76392a2d884d4be6ea972388871717c80b95d
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Nov 10 11:01:48 2022 +0100

    fix(bacnet): fix segment ack
---
 .../bacnetip/readwrite/model/APDUSegmentAck.go     | 66 +++++++++++-----------
 .../plc4x/java/bacnetip/RandomPackagesTest.java    |  4 +-
 .../resources/protocols/bacnetip/bacnetip.mspec    |  2 +-
 3 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go b/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
index 00d1c28da0..f7ed528ee8 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
@@ -39,8 +39,8 @@ type APDUSegmentAck interface {
 	GetOriginalInvokeId() uint8
 	// GetSequenceNumber returns SequenceNumber (property field)
 	GetSequenceNumber() uint8
-	// GetProposedWindowSize returns ProposedWindowSize (property field)
-	GetProposedWindowSize() uint8
+	// GetActualWindowSize returns ActualWindowSize (property field)
+	GetActualWindowSize() uint8
 }
 
 // APDUSegmentAckExactly can be used when we want exactly this type and not a type which fulfills APDUSegmentAck.
@@ -53,11 +53,11 @@ type APDUSegmentAckExactly interface {
 // _APDUSegmentAck is the data-structure of this message
 type _APDUSegmentAck struct {
 	*_APDU
-	NegativeAck        bool
-	Server             bool
-	OriginalInvokeId   uint8
-	SequenceNumber     uint8
-	ProposedWindowSize uint8
+	NegativeAck      bool
+	Server           bool
+	OriginalInvokeId uint8
+	SequenceNumber   uint8
+	ActualWindowSize uint8
 	// Reserved Fields
 	reservedField0 *uint8
 }
@@ -103,8 +103,8 @@ func (m *_APDUSegmentAck) GetSequenceNumber() uint8 {
 	return m.SequenceNumber
 }
 
-func (m *_APDUSegmentAck) GetProposedWindowSize() uint8 {
-	return m.ProposedWindowSize
+func (m *_APDUSegmentAck) GetActualWindowSize() uint8 {
+	return m.ActualWindowSize
 }
 
 ///////////////////////
@@ -113,14 +113,14 @@ func (m *_APDUSegmentAck) GetProposedWindowSize() uint8 {
 ///////////////////////////////////////////////////////////
 
 // NewAPDUSegmentAck factory function for _APDUSegmentAck
-func NewAPDUSegmentAck(negativeAck bool, server bool, originalInvokeId uint8, sequenceNumber uint8, proposedWindowSize uint8, apduLength uint16) *_APDUSegmentAck {
+func NewAPDUSegmentAck(negativeAck bool, server bool, originalInvokeId uint8, sequenceNumber uint8, actualWindowSize uint8, apduLength uint16) *_APDUSegmentAck {
 	_result := &_APDUSegmentAck{
-		NegativeAck:        negativeAck,
-		Server:             server,
-		OriginalInvokeId:   originalInvokeId,
-		SequenceNumber:     sequenceNumber,
-		ProposedWindowSize: proposedWindowSize,
-		_APDU:              NewAPDU(apduLength),
+		NegativeAck:      negativeAck,
+		Server:           server,
+		OriginalInvokeId: originalInvokeId,
+		SequenceNumber:   sequenceNumber,
+		ActualWindowSize: actualWindowSize,
+		_APDU:            NewAPDU(apduLength),
 	}
 	_result._APDU._APDUChildRequirements = _result
 	return _result
@@ -163,7 +163,7 @@ func (m *_APDUSegmentAck) GetLengthInBitsConditional(lastItem bool) uint16 {
 	// Simple field (sequenceNumber)
 	lengthInBits += 8
 
-	// Simple field (proposedWindowSize)
+	// Simple field (actualWindowSize)
 	lengthInBits += 8
 
 	return lengthInBits
@@ -231,12 +231,12 @@ func APDUSegmentAckParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint1
 	}
 	sequenceNumber := _sequenceNumber
 
-	// Simple Field (proposedWindowSize)
-	_proposedWindowSize, _proposedWindowSizeErr := readBuffer.ReadUint8("proposedWindowSize", 8)
-	if _proposedWindowSizeErr != nil {
-		return nil, errors.Wrap(_proposedWindowSizeErr, "Error parsing 'proposedWindowSize' field of APDUSegmentAck")
+	// Simple Field (actualWindowSize)
+	_actualWindowSize, _actualWindowSizeErr := readBuffer.ReadUint8("actualWindowSize", 8)
+	if _actualWindowSizeErr != nil {
+		return nil, errors.Wrap(_actualWindowSizeErr, "Error parsing 'actualWindowSize' field of APDUSegmentAck")
 	}
-	proposedWindowSize := _proposedWindowSize
+	actualWindowSize := _actualWindowSize
 
 	if closeErr := readBuffer.CloseContext("APDUSegmentAck"); closeErr != nil {
 		return nil, errors.Wrap(closeErr, "Error closing for APDUSegmentAck")
@@ -247,12 +247,12 @@ func APDUSegmentAckParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint1
 		_APDU: &_APDU{
 			ApduLength: apduLength,
 		},
-		NegativeAck:        negativeAck,
-		Server:             server,
-		OriginalInvokeId:   originalInvokeId,
-		SequenceNumber:     sequenceNumber,
-		ProposedWindowSize: proposedWindowSize,
-		reservedField0:     reservedField0,
+		NegativeAck:      negativeAck,
+		Server:           server,
+		OriginalInvokeId: originalInvokeId,
+		SequenceNumber:   sequenceNumber,
+		ActualWindowSize: actualWindowSize,
+		reservedField0:   reservedField0,
 	}
 	_child._APDU._APDUChildRequirements = _child
 	return _child, nil
@@ -318,11 +318,11 @@ func (m *_APDUSegmentAck) SerializeWithWriteBuffer(writeBuffer utils.WriteBuffer
 			return errors.Wrap(_sequenceNumberErr, "Error serializing 'sequenceNumber' field")
 		}
 
-		// Simple Field (proposedWindowSize)
-		proposedWindowSize := uint8(m.GetProposedWindowSize())
-		_proposedWindowSizeErr := writeBuffer.WriteUint8("proposedWindowSize", 8, (proposedWindowSize))
-		if _proposedWindowSizeErr != nil {
-			return errors.Wrap(_proposedWindowSizeErr, "Error serializing 'proposedWindowSize' field")
+		// Simple Field (actualWindowSize)
+		actualWindowSize := uint8(m.GetActualWindowSize())
+		_actualWindowSizeErr := writeBuffer.WriteUint8("actualWindowSize", 8, (actualWindowSize))
+		if _actualWindowSizeErr != nil {
+			return errors.Wrap(_actualWindowSizeErr, "Error serializing 'actualWindowSize' field")
 		}
 
 		if popErr := writeBuffer.PopContext("APDUSegmentAck"); popErr != nil {
diff --git a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
index a724b62697..9250217628 100644
--- a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
+++ b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java
@@ -3605,7 +3605,7 @@ public class RandomPackagesTest {
                     .extracting(BVLCOriginalUnicastNPDU::getNpdu)
                     .extracting(NPDU::getApdu)
                     .asInstanceOf(InstanceOfAssertFactories.type(APDUSegmentAck.class))
-                    .extracting(APDUSegmentAck::getNegativeAck, APDUSegmentAck::getServer, APDUSegmentAck::getOriginalInvokeId, APDUSegmentAck::getSequenceNumber, APDUSegmentAck::getProposedWindowSize)
+                    .extracting(APDUSegmentAck::getNegativeAck, APDUSegmentAck::getServer, APDUSegmentAck::getOriginalInvokeId, APDUSegmentAck::getSequenceNumber, APDUSegmentAck::getActualWindowSize)
                     .containsExactly(false, false, (short) 195, (short) 0, (short) 16)),
             DynamicTest.dynamicTest("No. 6 - Complex-ACK     atomicReadFile[195]  (Message fragment 1)",
                 () -> assertThat(pcapEvaluator.nextBVLC())
@@ -3649,7 +3649,7 @@ public class RandomPackagesTest {
                     .extracting(BVLCOriginalUnicastNPDU::getNpdu)
                     .extracting(NPDU::getApdu)
                     .asInstanceOf(InstanceOfAssertFactories.type(APDUSegmentAck.class))
-                    .extracting(APDUSegmentAck::getNegativeAck, APDUSegmentAck::getServer, APDUSegmentAck::getOriginalInvokeId, APDUSegmentAck::getSequenceNumber, APDUSegmentAck::getProposedWindowSize)
+                    .extracting(APDUSegmentAck::getNegativeAck, APDUSegmentAck::getServer, APDUSegmentAck::getOriginalInvokeId, APDUSegmentAck::getSequenceNumber, APDUSegmentAck::getActualWindowSize)
                     .containsExactly(false, false, (short) 195, (short) 4, (short) 16)),
             DynamicTest.dynamicTest("Manually put together payload",
                 () -> assertThat(baos.toByteArray())
diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
index 348ebe93e2..a603410412 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
@@ -347,7 +347,7 @@
             [simple   bit       server                                  ]
             [simple   uint 8    originalInvokeId                        ]
             [simple   uint 8    sequenceNumber                          ]
-            [simple   uint 8    proposedWindowSize                      ]
+            [simple   uint 8    actualWindowSize                        ]
         ]
         ['ERROR_PDU' *Error
             [reserved uint 4    '0x00'                                  ]