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' ]