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 2018/03/08 10:51:35 UTC
[incubator-plc4x] 06/08: separated tcp from ads protocol
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 493190ae4a0f0fac0ee9ac945288e1117520c719
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Mar 8 11:31:20 2018 +0100
separated tcp from ads protocol
---
.../java/ads/api/commands/ADSAbstractRequest.java | 9 +-
.../java/ads/api/commands/ADSAbstractResponse.java | 9 +-
.../commands/ADSAddDeviceNotificationRequest.java | 16 ---
.../commands/ADSAddDeviceNotificationResponse.java | 11 +-
.../ADSDeleteDeviceNotificationRequest.java | 10 --
.../ADSDeleteDeviceNotificationResponse.java | 9 +-
.../api/commands/ADSDeviceNotificationRequest.java | 15 +-
.../commands/ADSDeviceNotificationResponse.java | 2 +-
.../ads/api/commands/ADSReadDeviceInfoRequest.java | 9 --
.../api/commands/ADSReadDeviceInfoResponse.java | 12 +-
.../java/ads/api/commands/ADSReadRequest.java | 14 +-
.../java/ads/api/commands/ADSReadResponse.java | 11 +-
.../java/ads/api/commands/ADSReadStateRequest.java | 9 --
.../ads/api/commands/ADSReadStateResponse.java | 9 +-
.../java/ads/api/commands/ADSReadWriteRequest.java | 17 +--
.../ads/api/commands/ADSReadWriteResponse.java | 9 +-
.../ads/api/commands/ADSWriteControlRequest.java | 16 +--
.../ads/api/commands/ADSWriteControlResponse.java | 9 +-
.../java/ads/api/commands/ADSWriteRequest.java | 16 +--
.../java/ads/api/commands/ADSWriteResponse.java | 9 +-
.../java/ads/api/commands/UnknownCommand.java | 13 +-
.../plc4x/java/ads/api/generic/AMSPacket.java | 72 ++++++++--
.../plc4x/java/ads/api/generic/AMSTCPPacket.java | 114 ---------------
.../plc4x/java/ads/api/serial/AMSSerialFrame.java | 8 +-
.../ads/api/{generic => tcp}/AMSTCPHeader.java | 4 +-
.../plc4x/java/ads/api/tcp/AMSTCPPacket.java | 100 +++++++++++++
.../ads/api/{generic => tcp}/types/TcpLength.java | 2 +-
.../java/ads/connection/ADSPlcConnection.java | 8 +-
.../{ADSProtocol.java => ADS2TcpProtocol.java} | 160 ++++++++++-----------
...lc4XADSProtocol.java => Plc4X2ADSProtocol.java} | 34 ++---
.../ads/api/generic/GenericFactoryMethodTest.java | 2 +
.../types/GenericTypesFactoryMethodTest.java | 1 +
.../java/ads/api/generic/types/TcpLengthTest.java | 1 +
...SProtocolTest.java => ADS2TcpProtocolTest.java} | 58 ++++----
...colTest.java => Plc4X2ADS2TcpProtocolTest.java} | 32 ++---
.../plc4x/java/ads/netty/ADSProtocolBenchmark.java | 4 +-
36 files changed, 374 insertions(+), 460 deletions(-)
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java
index a9572c4..27506fb 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java
@@ -19,18 +19,13 @@
package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
import org.apache.plc4x.java.ads.api.generic.types.State;
-public abstract class ADSAbstractRequest extends AMSTCPPacket {
- protected ADSAbstractRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- super(amstcpHeader, amsHeader);
- }
-
+public abstract class ADSAbstractRequest extends AMSPacket {
protected ADSAbstractRequest(AMSHeader amsHeader) {
super(amsHeader);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractResponse.java
index dd24b39..1c4f24a 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractResponse.java
@@ -19,18 +19,13 @@
package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
import org.apache.plc4x.java.ads.api.generic.types.State;
-public abstract class ADSAbstractResponse extends AMSTCPPacket {
- protected ADSAbstractResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- super(amstcpHeader, amsHeader);
- }
-
+public abstract class ADSAbstractResponse extends AMSPacket {
protected ADSAbstractResponse(AMSHeader amsHeader) {
super(amsHeader);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java
index 7e96a3c..38db4e2 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.*;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.*;
import org.apache.plc4x.java.ads.api.util.ByteValue;
@@ -65,17 +64,6 @@ public class ADSAddDeviceNotificationRequest extends ADSAbstractRequest {
*/
private final Reserved reserved;
- private ADSAddDeviceNotificationRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, TransmissionMode transmissionMode, MaxDelay maxDelay, CycleTime cycleTime) {
- super(amstcpHeader, amsHeader);
- this.indexGroup = requireNonNull(indexGroup);
- this.indexOffset = requireNonNull(indexOffset);
- this.length = requireNonNull(length);
- this.transmissionMode = requireNonNull(transmissionMode);
- this.maxDelay = requireNonNull(maxDelay);
- this.cycleTime = requireNonNull(cycleTime);
- this.reserved = Reserved.INSTANCE;
- }
-
private ADSAddDeviceNotificationRequest(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, TransmissionMode transmissionMode, MaxDelay maxDelay, CycleTime cycleTime) {
super(amsHeader);
this.indexGroup = requireNonNull(indexGroup);
@@ -103,10 +91,6 @@ public class ADSAddDeviceNotificationRequest extends ADSAbstractRequest {
return buildADSData(indexGroup, indexOffset, length, transmissionMode, maxDelay, cycleTime, reserved);
}
- public static ADSAddDeviceNotificationRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, TransmissionMode transmissionMode, MaxDelay maxDelay, CycleTime cycleTime) {
- return new ADSAddDeviceNotificationRequest(amstcpHeader, amsHeader, indexGroup, indexOffset, length, transmissionMode, maxDelay, cycleTime);
- }
-
public static ADSAddDeviceNotificationRequest of(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, TransmissionMode transmissionMode, MaxDelay maxDelay, CycleTime cycleTime) {
return new ADSAddDeviceNotificationRequest(amsHeader, indexGroup, indexOffset, length, transmissionMode, maxDelay, cycleTime);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse.java
index db59dd6..6e32975 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse.java
@@ -22,7 +22,6 @@ import org.apache.plc4x.java.ads.api.commands.types.NotificationHandle;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -46,8 +45,8 @@ public class ADSAddDeviceNotificationResponse extends ADSAbstractResponse {
*/
private final NotificationHandle notificationHandle;
- private ADSAddDeviceNotificationResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, NotificationHandle notificationHandle) {
- super(amstcpHeader, amsHeader);
+ private ADSAddDeviceNotificationResponse(AMSHeader amsHeader, Result result, NotificationHandle notificationHandle) {
+ super(amsHeader);
this.result = requireNonNull(result);
this.notificationHandle = requireNonNull(notificationHandle);
}
@@ -58,8 +57,8 @@ public class ADSAddDeviceNotificationResponse extends ADSAbstractResponse {
this.notificationHandle = requireNonNull(notificationHandle);
}
- public static ADSAddDeviceNotificationResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, NotificationHandle notificationHandle) {
- return new ADSAddDeviceNotificationResponse(amstcpHeader, amsHeader, result, notificationHandle);
+ public static ADSAddDeviceNotificationResponse of(AMSHeader amsHeader, Result result, NotificationHandle notificationHandle) {
+ return new ADSAddDeviceNotificationResponse(amsHeader, result, notificationHandle);
}
public static ADSAddDeviceNotificationResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result, NotificationHandle notificationHandle) {
@@ -92,7 +91,7 @@ public class ADSAddDeviceNotificationResponse extends ADSAbstractResponse {
if (!result.equals(that.result))
return false;
-
+
return notificationHandle.equals(that.notificationHandle);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationRequest.java
index 44f0258..9ddbd3b 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationRequest.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.NotificationHandle;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -40,11 +39,6 @@ public class ADSDeleteDeviceNotificationRequest extends ADSAbstractRequest {
*/
private final NotificationHandle notificationHandle;
- private ADSDeleteDeviceNotificationRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, NotificationHandle notificationHandle) {
- super(amstcpHeader, amsHeader);
- this.notificationHandle = requireNonNull(notificationHandle);
- }
-
private ADSDeleteDeviceNotificationRequest(AMSHeader amsHeader, NotificationHandle notificationHandle) {
super(amsHeader);
this.notificationHandle = requireNonNull(notificationHandle);
@@ -55,10 +49,6 @@ public class ADSDeleteDeviceNotificationRequest extends ADSAbstractRequest {
this.notificationHandle = requireNonNull(notificationHandle);
}
- public static ADSDeleteDeviceNotificationRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, NotificationHandle notificationHandle) {
- return new ADSDeleteDeviceNotificationRequest(amstcpHeader, amsHeader, notificationHandle);
- }
-
public static ADSDeleteDeviceNotificationRequest of(AMSHeader amsHeader, NotificationHandle notificationHandle) {
return new ADSDeleteDeviceNotificationRequest(amsHeader, notificationHandle);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationResponse.java
index 14de8ff..980e916 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeleteDeviceNotificationResponse.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -40,8 +39,8 @@ public class ADSDeleteDeviceNotificationResponse extends ADSAbstractResponse {
*/
private final Result result;
- private ADSDeleteDeviceNotificationResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- super(amstcpHeader, amsHeader);
+ private ADSDeleteDeviceNotificationResponse(AMSHeader amsHeader, Result result) {
+ super(amsHeader);
this.result = requireNonNull(result);
}
@@ -50,8 +49,8 @@ public class ADSDeleteDeviceNotificationResponse extends ADSAbstractResponse {
this.result = requireNonNull(result);
}
- public static ADSDeleteDeviceNotificationResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- return new ADSDeleteDeviceNotificationResponse(amstcpHeader, amsHeader, result);
+ public static ADSDeleteDeviceNotificationResponse of(AMSHeader amsHeader, Result result) {
+ return new ADSDeleteDeviceNotificationResponse(amsHeader, result);
}
public static ADSDeleteDeviceNotificationResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationRequest.java
index 24fa24b..dbf0ad5 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationRequest.java
@@ -23,7 +23,6 @@ import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.commands.types.Stamps;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -58,14 +57,6 @@ public class ADSDeviceNotificationRequest extends ADSAbstractRequest {
private final LengthSupplier lengthSupplier;
- private ADSDeviceNotificationRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Length length, Stamps stamps, List<AdsStampHeader> adsStampHeaders) {
- super(amstcpHeader, amsHeader);
- this.length = requireNonNull(length);
- this.stamps = requireNonNull(stamps);
- this.adsStampHeaders = requireNonNull(adsStampHeaders);
- lengthSupplier = null;
- }
-
private ADSDeviceNotificationRequest(AMSHeader amsHeader, Length length, Stamps stamps, List<AdsStampHeader> adsStampHeaders) {
super(amsHeader);
this.length = requireNonNull(length);
@@ -88,10 +79,6 @@ public class ADSDeviceNotificationRequest extends ADSAbstractRequest {
};
}
- public static ADSDeviceNotificationRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Length length, Stamps stamps, List<AdsStampHeader> adsStampHeaders) {
- return new ADSDeviceNotificationRequest(amstcpHeader, amsHeader, length, stamps, adsStampHeaders);
- }
-
public static ADSDeviceNotificationRequest of(AMSHeader amsHeader, Length length, Stamps stamps, List<AdsStampHeader> adsStampHeaders) {
return new ADSDeviceNotificationRequest(amsHeader, length, stamps, adsStampHeaders);
}
@@ -136,7 +123,7 @@ public class ADSDeviceNotificationRequest extends ADSAbstractRequest {
return false;
if (!stamps.equals(that.stamps))
return false;
-
+
return adsStampHeaders.equals(that.adsStampHeaders);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationResponse.java
index f688c7c..e8cb2e9 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSDeviceNotificationResponse.java
@@ -28,7 +28,7 @@ import org.apache.plc4x.java.ads.api.generic.types.Command;
public class ADSDeviceNotificationResponse extends ADSAbstractResponse {
protected ADSDeviceNotificationResponse() {
- super(null, null);
+ super(null);
// There is no {@link ADSDeviceNotificationResponse} specified
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoRequest.java
index 354ab58..5a315ae 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoRequest.java
@@ -20,7 +20,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -34,10 +33,6 @@ import org.apache.plc4x.java.ads.api.generic.types.Invoke;
@ADSCommandType(Command.ADS_READ_DEVICE_INFO)
public class ADSReadDeviceInfoRequest extends ADSAbstractRequest {
- private ADSReadDeviceInfoRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- super(amstcpHeader, amsHeader);
- }
-
private ADSReadDeviceInfoRequest(AMSHeader amsHeader) {
super(amsHeader);
}
@@ -46,10 +41,6 @@ public class ADSReadDeviceInfoRequest extends ADSAbstractRequest {
super(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId);
}
- public static ADSReadDeviceInfoRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- return new ADSReadDeviceInfoRequest(amstcpHeader, amsHeader);
- }
-
public static ADSReadDeviceInfoRequest of(AMSHeader amsHeader) {
return new ADSReadDeviceInfoRequest(amsHeader);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoResponse.java
index 3f11b28..394954c 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadDeviceInfoResponse.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.*;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -55,9 +54,8 @@ public class ADSReadDeviceInfoResponse extends ADSAbstractResponse {
*/
private final Device device;
-
- private ADSReadDeviceInfoResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, MajorVersion majorVersion, MinorVersion minorVersion, Version version, Device device) {
- super(amstcpHeader, amsHeader);
+ private ADSReadDeviceInfoResponse(AMSHeader amsHeader, Result result, MajorVersion majorVersion, MinorVersion minorVersion, Version version, Device device) {
+ super(amsHeader);
this.result = requireNonNull(result);
this.majorVersion = requireNonNull(majorVersion);
this.minorVersion = requireNonNull(minorVersion);
@@ -74,8 +72,8 @@ public class ADSReadDeviceInfoResponse extends ADSAbstractResponse {
this.device = requireNonNull(device);
}
- public static ADSReadDeviceInfoResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, MajorVersion majorVersion, MinorVersion minorVersion, Version version, Device device) {
- return new ADSReadDeviceInfoResponse(amstcpHeader, amsHeader, result, majorVersion, minorVersion, version, device);
+ public static ADSReadDeviceInfoResponse of(AMSHeader amsHeader, Result result, MajorVersion majorVersion, MinorVersion minorVersion, Version version, Device device) {
+ return new ADSReadDeviceInfoResponse(amsHeader, result, majorVersion, minorVersion, version, device);
}
public static ADSReadDeviceInfoResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result, MajorVersion majorVersion, MinorVersion minorVersion, Version version, Device device) {
@@ -126,7 +124,7 @@ public class ADSReadDeviceInfoResponse extends ADSAbstractResponse {
return false;
if (!version.equals(that.version))
return false;
-
+
return device.equals(that.device);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadRequest.java
index 880f3f3..c20f435 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadRequest.java
@@ -23,7 +23,6 @@ import org.apache.plc4x.java.ads.api.commands.types.IndexOffset;
import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -52,13 +51,6 @@ public class ADSReadRequest extends ADSAbstractRequest {
*/
private final Length length;
- private ADSReadRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length) {
- super(amstcpHeader, amsHeader);
- this.indexGroup = requireNonNull(indexGroup);
- this.indexOffset = requireNonNull(indexOffset);
- this.length = requireNonNull(length);
- }
-
private ADSReadRequest(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length) {
super(amsHeader);
this.indexGroup = requireNonNull(indexGroup);
@@ -73,10 +65,6 @@ public class ADSReadRequest extends ADSAbstractRequest {
this.length = requireNonNull(length);
}
- public static ADSReadRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length) {
- return new ADSReadRequest(amstcpHeader, amsHeader, indexGroup, indexOffset, length);
- }
-
public static ADSReadRequest of(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length) {
return new ADSReadRequest(amsHeader, indexGroup, indexOffset, length);
}
@@ -117,7 +105,7 @@ public class ADSReadRequest extends ADSAbstractRequest {
return false;
if (!indexOffset.equals(that.indexOffset))
return false;
-
+
return length.equals(that.length);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java
index 8a38d58..6e51c58 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java
@@ -23,7 +23,6 @@ import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -53,8 +52,8 @@ public class ADSReadResponse extends ADSAbstractResponse {
private final LengthSupplier lengthSupplier;
- private ADSReadResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, Length length, Data data) {
- super(amstcpHeader, amsHeader);
+ private ADSReadResponse(AMSHeader amsHeader, Result result, Length length, Data data) {
+ super(amsHeader);
this.result = requireNonNull(result);
this.length = requireNonNull(length);
this.data = requireNonNull(data);
@@ -69,8 +68,8 @@ public class ADSReadResponse extends ADSAbstractResponse {
this.lengthSupplier = data;
}
- public static ADSReadResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, Length length, Data data) {
- return new ADSReadResponse(amstcpHeader, amsHeader, result, length, data);
+ public static ADSReadResponse of(AMSHeader amsHeader, Result result, Length length, Data data) {
+ return new ADSReadResponse(amsHeader, result, length, data);
}
public static ADSReadResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result, Data data) {
@@ -109,7 +108,7 @@ public class ADSReadResponse extends ADSAbstractResponse {
return false;
if (!getLength().equals(that.getLength()))
return false;
-
+
return data.equals(that.data);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateRequest.java
index 6c226c4..38749ff 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateRequest.java
@@ -20,7 +20,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -34,10 +33,6 @@ import org.apache.plc4x.java.ads.api.generic.types.Invoke;
@ADSCommandType(Command.ADS_READ_STATE)
public class ADSReadStateRequest extends ADSAbstractRequest {
- private ADSReadStateRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- super(amstcpHeader, amsHeader);
- }
-
private ADSReadStateRequest(AMSHeader amsHeader) {
super(amsHeader);
}
@@ -46,10 +41,6 @@ public class ADSReadStateRequest extends ADSAbstractRequest {
super(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId);
}
- public static ADSReadStateRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- return new ADSReadStateRequest(amstcpHeader, amsHeader);
- }
-
public static ADSReadStateRequest of(AMSHeader amsHeader) {
return new ADSReadStateRequest(amsHeader);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateResponse.java
index 53e8985..7514664 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadStateResponse.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -40,8 +39,8 @@ public class ADSReadStateResponse extends ADSAbstractResponse {
*/
private final Result result;
- private ADSReadStateResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- super(amstcpHeader, amsHeader);
+ private ADSReadStateResponse(AMSHeader amsHeader, Result result) {
+ super(amsHeader);
this.result = requireNonNull(result);
}
@@ -50,8 +49,8 @@ public class ADSReadStateResponse extends ADSAbstractResponse {
this.result = requireNonNull(result);
}
- public static ADSReadStateResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- return new ADSReadStateResponse(amstcpHeader, amsHeader, result);
+ public static ADSReadStateResponse of(AMSHeader amsHeader, Result result) {
+ return new ADSReadStateResponse(amsHeader, result);
}
public static ADSReadStateResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteRequest.java
index ef82e33..c44d037 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteRequest.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.*;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -61,16 +60,6 @@ public class ADSReadWriteRequest extends ADSAbstractRequest {
private final LengthSupplier writeLengthSupplier;
- private ADSReadWriteRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, ReadLength readLength, WriteLength writeLength, Data data) {
- super(amstcpHeader, amsHeader);
- this.indexGroup = requireNonNull(indexGroup);
- this.indexOffset = requireNonNull(indexOffset);
- this.readLength = requireNonNull(readLength);
- this.writeLength = requireNonNull(writeLength);
- this.data = requireNonNull(data);
- this.writeLengthSupplier = null;
- }
-
private ADSReadWriteRequest(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, ReadLength readLength, WriteLength writeLength, Data data) {
super(amsHeader);
this.indexGroup = requireNonNull(indexGroup);
@@ -91,10 +80,6 @@ public class ADSReadWriteRequest extends ADSAbstractRequest {
this.writeLengthSupplier = data;
}
- public static ADSReadWriteRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, ReadLength readLength, WriteLength writeLength, Data data) {
- return new ADSReadWriteRequest(amstcpHeader, amsHeader, indexGroup, indexOffset, readLength, writeLength, data);
- }
-
public static ADSReadWriteRequest of(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, ReadLength readLength, WriteLength writeLength, Data data) {
return new ADSReadWriteRequest(amsHeader, indexGroup, indexOffset, readLength, writeLength, data);
}
@@ -147,7 +132,7 @@ public class ADSReadWriteRequest extends ADSAbstractRequest {
return false;
if (!getWriteLength().equals(that.getWriteLength()))
return false;
-
+
return data.equals(that.data);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteResponse.java
index 8328882..d91faa2 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadWriteResponse.java
@@ -23,7 +23,6 @@ import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -55,8 +54,8 @@ public class ADSReadWriteResponse extends ADSAbstractResponse {
private final LengthSupplier lengthSupplier;
- private ADSReadWriteResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, Length length, Data data) {
- super(amstcpHeader, amsHeader);
+ private ADSReadWriteResponse(AMSHeader amsHeader, Result result, Length length, Data data) {
+ super(amsHeader);
this.result = requireNonNull(result);
this.length = requireNonNull(length);
this.data = requireNonNull(data);
@@ -71,8 +70,8 @@ public class ADSReadWriteResponse extends ADSAbstractResponse {
this.lengthSupplier = data;
}
- public static ADSReadWriteResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result, Length length, Data data) {
- return new ADSReadWriteResponse(amstcpHeader, amsHeader, result, length, data);
+ public static ADSReadWriteResponse of(AMSHeader amsHeader, Result result, Length length, Data data) {
+ return new ADSReadWriteResponse(amsHeader, result, length, data);
}
public static ADSReadWriteResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result, Data data) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlRequest.java
index d2f7121..a7c76b7 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlRequest.java
@@ -24,7 +24,6 @@ import org.apache.plc4x.java.ads.api.commands.types.DeviceState;
import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -60,15 +59,6 @@ public class ADSWriteControlRequest extends ADSAbstractRequest {
private final LengthSupplier lengthSupplier;
- private ADSWriteControlRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, ADSState adsState, DeviceState deviceState, Length length, Data data) {
- super(amstcpHeader, amsHeader);
- this.adsState = requireNonNull(adsState);
- this.deviceState = requireNonNull(deviceState);
- this.length = requireNonNull(length);
- this.data = requireNonNull(data);
- this.lengthSupplier = null;
- }
-
private ADSWriteControlRequest(AMSHeader amsHeader, ADSState adsState, DeviceState deviceState, Length length, Data data) {
super(amsHeader);
this.adsState = requireNonNull(adsState);
@@ -87,10 +77,6 @@ public class ADSWriteControlRequest extends ADSAbstractRequest {
this.lengthSupplier = data;
}
- public static ADSWriteControlRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, ADSState adsState, DeviceState deviceState, Length length, Data data) {
- return new ADSWriteControlRequest(amstcpHeader, amsHeader, adsState, deviceState, length, data);
- }
-
public static ADSWriteControlRequest of(AMSHeader amsHeader, ADSState adsState, DeviceState deviceState, Length length, Data data) {
return new ADSWriteControlRequest(amsHeader, adsState, deviceState, length, data);
}
@@ -137,7 +123,7 @@ public class ADSWriteControlRequest extends ADSAbstractRequest {
return false;
if (!getLength().equals(that.getLength()))
return false;
-
+
return data.equals(that.data);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlResponse.java
index 86e2b0a..d9446a3 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteControlResponse.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -39,8 +38,8 @@ public class ADSWriteControlResponse extends ADSAbstractResponse {
*/
private final Result result;
- private ADSWriteControlResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- super(amstcpHeader, amsHeader);
+ private ADSWriteControlResponse(AMSHeader amsHeader, Result result) {
+ super(amsHeader);
this.result = requireNonNull(result);
}
@@ -49,8 +48,8 @@ public class ADSWriteControlResponse extends ADSAbstractResponse {
this.result = requireNonNull(result);
}
- public static ADSWriteControlResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- return new ADSWriteControlResponse(amstcpHeader, amsHeader, result);
+ public static ADSWriteControlResponse of(AMSHeader amsHeader, Result result) {
+ return new ADSWriteControlResponse(amsHeader, result);
}
public static ADSWriteControlResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java
index 6ce66a6..15fcb4e 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java
@@ -24,7 +24,6 @@ import org.apache.plc4x.java.ads.api.commands.types.IndexOffset;
import org.apache.plc4x.java.ads.api.commands.types.Length;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -58,15 +57,6 @@ public class ADSWriteRequest extends ADSAbstractRequest {
private final LengthSupplier lengthSupplier;
- private ADSWriteRequest(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, Data data) {
- super(amstcpHeader, amsHeader);
- this.indexGroup = requireNonNull(indexGroup);
- this.indexOffset = requireNonNull(indexOffset);
- this.length = requireNonNull(length);
- this.data = requireNonNull(data);
- this.lengthSupplier = null;
- }
-
private ADSWriteRequest(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, Data data) {
super(amsHeader);
this.indexGroup = requireNonNull(indexGroup);
@@ -85,10 +75,6 @@ public class ADSWriteRequest extends ADSAbstractRequest {
this.lengthSupplier = data;
}
- public static ADSWriteRequest of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, Data data) {
- return new ADSWriteRequest(amstcpHeader, amsHeader, indexGroup, indexOffset, length, data);
- }
-
public static ADSWriteRequest of(AMSHeader amsHeader, IndexGroup indexGroup, IndexOffset indexOffset, Length length, Data data) {
return new ADSWriteRequest(amsHeader, indexGroup, indexOffset, length, data);
}
@@ -135,7 +121,7 @@ public class ADSWriteRequest extends ADSAbstractRequest {
return false;
if (!getLength().equals(that.getLength()))
return false;
-
+
return data.equals(that.data);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteResponse.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteResponse.java
index fc3de95..65a859b 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteResponse.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteResponse.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.ads.api.commands;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Command;
@@ -40,8 +39,8 @@ public class ADSWriteResponse extends ADSAbstractResponse {
*/
private final Result result;
- private ADSWriteResponse(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- super(amstcpHeader, amsHeader);
+ private ADSWriteResponse(AMSHeader amsHeader, Result result) {
+ super(amsHeader);
this.result = requireNonNull(result);
}
@@ -50,8 +49,8 @@ public class ADSWriteResponse extends ADSAbstractResponse {
this.result = requireNonNull(result);
}
- public static ADSWriteResponse of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, Result result) {
- return new ADSWriteResponse(amstcpHeader, amsHeader, result);
+ public static ADSWriteResponse of(AMSHeader amsHeader, Result result) {
+ return new ADSWriteResponse(amsHeader, result);
}
public static ADSWriteResponse of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, Invoke invokeId, Result result) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java
index 4eba85d..5bbbe30 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java
@@ -21,8 +21,7 @@ package org.apache.plc4x.java.ads.api.commands;
import io.netty.buffer.ByteBuf;
import org.apache.plc4x.java.ads.api.generic.ADSData;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.*;
import static java.util.Objects.requireNonNull;
@@ -31,12 +30,12 @@ import static java.util.Objects.requireNonNull;
* Unknown ADS Package
*/
@ADSCommandType(Command.UNKNOWN)
-public class UnknownCommand extends AMSTCPPacket {
+public class UnknownCommand extends AMSPacket {
private final ByteBuf remainingBytes;
- private UnknownCommand(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, ByteBuf remainingBytes) {
- super(amstcpHeader, amsHeader);
+ private UnknownCommand(AMSHeader amsHeader, ByteBuf remainingBytes) {
+ super(amsHeader);
this.remainingBytes = requireNonNull(remainingBytes);
}
@@ -50,8 +49,8 @@ public class UnknownCommand extends AMSTCPPacket {
return () -> remainingBytes;
}
- public static AMSTCPPacket of(AMSTCPHeader amstcpHeader, AMSHeader amsHeader, ByteBuf remainingBytes) {
- return new UnknownCommand(amstcpHeader, amsHeader, remainingBytes);
+ public static UnknownCommand of(AMSHeader amsHeader, ByteBuf remainingBytes) {
+ return new UnknownCommand(amsHeader, remainingBytes);
}
public static UnknownCommand of(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, State stateId, Invoke invokeId, ByteBuf remainingBytes) {
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSPacket.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSPacket.java
index cf84f3f..37c48e0 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSPacket.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSPacket.java
@@ -19,25 +19,81 @@
package org.apache.plc4x.java.ads.api.generic;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.ads.api.commands.ADSCommandType;
+import org.apache.plc4x.java.ads.api.generic.types.*;
+import org.apache.plc4x.java.ads.api.serial.AMSSerialFrame;
+import org.apache.plc4x.java.ads.api.serial.types.FragmentNumber;
+import org.apache.plc4x.java.ads.api.tcp.AMSTCPPacket;
import org.apache.plc4x.java.ads.api.util.ByteReadable;
-public class AMSPacket implements ByteReadable {
+import static java.util.Objects.requireNonNull;
- private final AMSHeader amsHeader;
+public abstract class AMSPacket implements ByteReadable {
- private final ADSData adsData;
+ protected final AMSHeader amsHeader;
- private AMSPacket(AMSHeader amsHeader, ADSData adsData) {
+ protected AMSPacket(AMSHeader amsHeader) {
this.amsHeader = amsHeader;
- this.adsData = adsData;
}
- public static AMSPacket of(AMSHeader amsHeader, ADSData adsData) {
- return new AMSPacket(amsHeader, adsData);
+ protected AMSPacket(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, State stateId, Invoke invokeId) {
+ if (!getClass().isAnnotationPresent(ADSCommandType.class)) {
+ throw new IllegalArgumentException(ADSCommandType.class + " need to be present.");
+ }
+ this.amsHeader = AMSHeader.of(
+ requireNonNull(targetAmsNetId),
+ requireNonNull(targetAmsPort),
+ requireNonNull(sourceAmsNetId),
+ requireNonNull(sourceAmsPort),
+ requireNonNull(getClass().getAnnotation(ADSCommandType.class).value()),
+ requireNonNull(stateId),
+ () -> getAdsData().getCalculatedLength(),
+ requireNonNull(AMSError.NONE),
+ requireNonNull(invokeId));
+ }
+
+ public AMSHeader getAmsHeader() {
+ return amsHeader;
+ }
+
+ public abstract ADSData getAdsData();
+
+ protected ADSData buildADSData(ByteReadable... byteReadables) {
+ return () -> buildByteBuff(byteReadables);
+ }
+
+ public AMSTCPPacket toAmstcpPacket() {
+ return AMSTCPPacket.of(this);
+ }
+
+ public AMSSerialFrame toAmsSerialFrame(byte fragmentNumber) {
+ return AMSSerialFrame.of(FragmentNumber.of(fragmentNumber), this);
}
@Override
public ByteBuf getByteBuf() {
- return buildByteBuff(amsHeader, adsData);
+ return buildByteBuff(amsHeader, getAdsData());
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AMSPacket)) return false;
+
+ AMSPacket amsPacket = (AMSPacket) o;
+
+ return amsHeader.equals(amsPacket.amsHeader);
+ }
+
+ @Override
+ public int hashCode() {
+ return amsHeader.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return getClass().getSimpleName() + "{" +
+ "amsHeader=" + amsHeader +
+ '}';
}
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPPacket.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPPacket.java
deleted file mode 100644
index fea4708..0000000
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPPacket.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-package org.apache.plc4x.java.ads.api.generic;
-
-import io.netty.buffer.ByteBuf;
-import org.apache.plc4x.java.ads.api.commands.ADSCommandType;
-import org.apache.plc4x.java.ads.api.generic.types.*;
-import org.apache.plc4x.java.ads.api.util.ByteReadable;
-
-import static java.util.Objects.requireNonNull;
-
-// TODO: maybe don't let all commands extend from tcp as in serial these look different...
-public abstract class AMSTCPPacket implements ByteReadable {
- private final AMSTCPHeader amsTcpHeader;
-
- private final AMSHeader amsHeader;
-
- protected AMSTCPPacket(AMSTCPHeader amsTcpHeader, AMSHeader amsHeader) {
- this.amsTcpHeader = requireNonNull(amsTcpHeader);
- this.amsHeader = requireNonNull(amsHeader);
- }
-
- protected AMSTCPPacket(AMSHeader amsHeader) {
- // It is important that we wrap the ads data call as this will initialized in the constructor
- // so this value will be null if we call adsData now.
- this.amsTcpHeader = AMSTCPHeader.of(requireNonNull(amsHeader), () -> getAdsData().getCalculatedLength());
- this.amsHeader = requireNonNull(amsHeader);
- }
-
- protected AMSTCPPacket(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort, State stateId, Invoke invokeId) {
- if (!getClass().isAnnotationPresent(ADSCommandType.class)) {
- throw new IllegalArgumentException(ADSCommandType.class + " need to be present.");
- }
- this.amsHeader = AMSHeader.of(
- requireNonNull(targetAmsNetId),
- requireNonNull(targetAmsPort),
- requireNonNull(sourceAmsNetId),
- requireNonNull(sourceAmsPort),
- requireNonNull(getClass().getAnnotation(ADSCommandType.class).value()),
- requireNonNull(stateId),
- () -> getAdsData().getCalculatedLength(),
- requireNonNull(AMSError.NONE),
- requireNonNull(invokeId));
- this.amsTcpHeader = AMSTCPHeader.of(amsHeader, () -> getAdsData().getCalculatedLength());
- }
-
- public AMSTCPHeader getAmsTcpHeader() {
- return amsTcpHeader;
- }
-
- public AMSHeader getAmsHeader() {
- return amsHeader;
- }
-
- protected abstract ADSData getAdsData();
-
- @Override
- public ByteBuf getByteBuf() {
- return buildByteBuff(amsTcpHeader, amsHeader, getAdsData());
- }
-
- protected ADSData buildADSData(ByteReadable... byteReadables) {
- return () -> buildByteBuff(byteReadables);
- }
-
- public AMSPacket getAMSPacket() {
- return AMSPacket.of(amsHeader, getAdsData());
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (!(o instanceof AMSTCPPacket))
- return false;
-
- AMSTCPPacket that = (AMSTCPPacket) o;
-
- if (!amsTcpHeader.equals(that.amsTcpHeader))
- return false;
- return amsHeader.equals(that.amsHeader);
- }
-
- @Override
- public int hashCode() {
- int result = amsTcpHeader.hashCode();
- result = 31 * result + amsHeader.hashCode();
- return result;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "{" +
- "amsTcpHeader=" + amsTcpHeader +
- ", amsHeader=" + amsHeader +
- '}';
- }
-}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AMSSerialFrame.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AMSSerialFrame.java
index 3952773..3c4b97c 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AMSSerialFrame.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AMSSerialFrame.java
@@ -20,7 +20,6 @@ package org.apache.plc4x.java.ads.api.serial;
import io.netty.buffer.ByteBuf;
import org.apache.plc4x.java.ads.api.generic.AMSPacket;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
import org.apache.plc4x.java.ads.api.serial.types.*;
import org.apache.plc4x.java.ads.api.util.ByteReadable;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
@@ -89,12 +88,11 @@ public class AMSSerialFrame implements ByteReadable {
this.crc = crc;
}
- private AMSSerialFrame(FragmentNumber fragmentNumber, AMSTCPPacket amstcpPacket) {
+ private AMSSerialFrame(FragmentNumber fragmentNumber, AMSPacket amsPacket) {
this.magicCookie = MagicCookie.of(ID);
this.transmitterAddress = TransmitterAddress.RS232_COMM_ADDRESS;
this.receiverAddress = ReceiverAddress.RS232_COMM_ADDRESS;
this.fragmentNumber = fragmentNumber;
- AMSPacket amsPacket = amstcpPacket.getAMSPacket();
long calculatedLength = amsPacket.getCalculatedLength();
if (calculatedLength > 255) {
throw new IllegalArgumentException("Paket length must not exceed 255");
@@ -125,8 +123,8 @@ public class AMSSerialFrame implements ByteReadable {
return new AMSSerialFrame(magicCookie, transmitterAddress, receiverAddress, fragmentNumber, userDataLength, userData, crc);
}
- public static AMSSerialFrame of(FragmentNumber fragmentNumber, AMSTCPPacket amstcpPacket) {
- return new AMSSerialFrame(fragmentNumber, amstcpPacket);
+ public static AMSSerialFrame of(FragmentNumber fragmentNumber, AMSPacket amsPacket) {
+ return new AMSSerialFrame(fragmentNumber, amsPacket);
}
@Override
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPHeader.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPHeader.java
similarity index 97%
rename from plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPHeader.java
rename to plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPHeader.java
index 01882c3..33e01f9 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPHeader.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPHeader.java
@@ -16,10 +16,10 @@
specific language governing permissions and limitations
under the License.
*/
-package org.apache.plc4x.java.ads.api.generic;
+package org.apache.plc4x.java.ads.api.tcp;
import io.netty.buffer.ByteBuf;
-import org.apache.plc4x.java.ads.api.generic.types.TcpLength;
+import org.apache.plc4x.java.ads.api.tcp.types.TcpLength;
import org.apache.plc4x.java.ads.api.util.ByteReadable;
import org.apache.plc4x.java.ads.api.util.ByteValue;
import org.apache.plc4x.java.ads.api.util.LengthSupplier;
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPPacket.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPPacket.java
new file mode 100644
index 0000000..d56acf5
--- /dev/null
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/AMSTCPPacket.java
@@ -0,0 +1,100 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+package org.apache.plc4x.java.ads.api.tcp;
+
+import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.ads.api.generic.ADSData;
+import org.apache.plc4x.java.ads.api.generic.AMSHeader;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
+import org.apache.plc4x.java.ads.api.util.ByteReadable;
+
+import static java.util.Objects.requireNonNull;
+
+public class AMSTCPPacket implements ByteReadable {
+ private final AMSTCPHeader amsTcpHeader;
+
+ private final AMSPacket amsPacket;
+
+ private AMSTCPPacket(AMSTCPHeader amsTcpHeader, AMSPacket amsPacket) {
+ this.amsTcpHeader = requireNonNull(amsTcpHeader);
+ this.amsPacket = amsPacket;
+ }
+
+ private AMSTCPPacket(AMSPacket amsPacket) {
+ this.amsPacket = amsPacket;
+ // It is important that we wrap the ads data call as this will initialized in the constructor
+ // so this value will be null if we call adsData now.
+ this.amsTcpHeader = AMSTCPHeader.of(requireNonNull(amsPacket.getAmsHeader()), () -> getAdsData().getCalculatedLength());
+ }
+
+ public AMSTCPHeader getAmsTcpHeader() {
+ return amsTcpHeader;
+ }
+
+ public AMSPacket getAmsPacket() {
+ return amsPacket;
+ }
+
+ public AMSHeader getAmsHeader() {
+ return amsPacket.getAmsHeader();
+ }
+
+ public ADSData getAdsData() {
+ return amsPacket.getAdsData();
+ }
+
+ @Override
+ public ByteBuf getByteBuf() {
+ return buildByteBuff(amsTcpHeader, amsPacket);
+ }
+
+ public static AMSTCPPacket of(AMSTCPHeader amsTcpHeader, AMSPacket amsPacket) {
+ return new AMSTCPPacket(amsTcpHeader, amsPacket);
+ }
+
+ public static AMSTCPPacket of(AMSPacket amsPacket) {
+ return new AMSTCPPacket(amsPacket);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AMSTCPPacket)) return false;
+
+ AMSTCPPacket that = (AMSTCPPacket) o;
+
+ if (!amsTcpHeader.equals(that.amsTcpHeader)) return false;
+ return amsPacket.equals(that.amsPacket);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = amsTcpHeader.hashCode();
+ result = 31 * result + amsPacket.hashCode();
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "AMSTCPPacket{" +
+ "amsTcpHeader=" + amsTcpHeader +
+ ", amsPacket=" + amsPacket +
+ '}';
+ }
+}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/types/TcpLength.java
similarity index 97%
rename from plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java
rename to plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/types/TcpLength.java
index 8eaf938..7c04175 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/tcp/types/TcpLength.java
@@ -16,7 +16,7 @@
specific language governing permissions and limitations
under the License.
*/
-package org.apache.plc4x.java.ads.api.generic.types;
+package org.apache.plc4x.java.ads.api.tcp.types;
import io.netty.buffer.ByteBuf;
import org.apache.plc4x.java.ads.api.util.UnsignedIntLEByteValue;
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
index 7f770b3..2186b2b 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
@@ -25,8 +25,8 @@ import io.netty.channel.ChannelPipeline;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.model.ADSAddress;
-import org.apache.plc4x.java.ads.protocol.ADSProtocol;
-import org.apache.plc4x.java.ads.protocol.Plc4XADSProtocol;
+import org.apache.plc4x.java.ads.protocol.ADS2TcpProtocol;
+import org.apache.plc4x.java.ads.protocol.Plc4X2ADSProtocol;
import org.apache.plc4x.java.api.connection.PlcReader;
import org.apache.plc4x.java.api.connection.PlcWriter;
import org.apache.plc4x.java.api.exceptions.PlcException;
@@ -94,8 +94,8 @@ public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader
protected void initChannel(Channel channel) {
// Build the protocol stack for communicating with the ads protocol.
ChannelPipeline pipeline = channel.pipeline();
- pipeline.addLast(new Plc4XADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort));
- pipeline.addLast(new ADSProtocol());
+ pipeline.addLast(new Plc4X2ADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort));
+ pipeline.addLast(new ADS2TcpProtocol());
}
};
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADSProtocol.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocol.java
similarity index 64%
rename from plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADSProtocol.java
rename to plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocol.java
index bf19722..a4077f5 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADSProtocol.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocol.java
@@ -24,9 +24,10 @@ import io.netty.handler.codec.MessageToMessageCodec;
import org.apache.plc4x.java.ads.api.commands.*;
import org.apache.plc4x.java.ads.api.commands.types.*;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.*;
+import org.apache.plc4x.java.ads.api.tcp.AMSTCPHeader;
+import org.apache.plc4x.java.ads.api.tcp.types.TcpLength;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,13 +37,13 @@ import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
+public class ADS2TcpProtocol extends MessageToMessageCodec<ByteBuf, AMSPacket> {
- private static final Logger LOGGER = LoggerFactory.getLogger(ADSProtocol.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ADS2TcpProtocol.class);
- private final ConcurrentMap<Invoke, AMSTCPPacket> requests;
+ private final ConcurrentMap<Invoke, AMSPacket> requests;
- public ADSProtocol() {
+ public ADS2TcpProtocol() {
this.requests = new ConcurrentHashMap<>();
}
@@ -54,12 +55,12 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
}
@Override
- protected void encode(ChannelHandlerContext channelHandlerContext, AMSTCPPacket amstcpPacket, List<Object> out) throws Exception {
- Invoke invokeId = amstcpPacket.getAmsHeader().getInvokeId();
+ protected void encode(ChannelHandlerContext channelHandlerContext, AMSPacket amsPacket, List<Object> out) throws Exception {
+ Invoke invokeId = amsPacket.getAmsHeader().getInvokeId();
if (invokeId != Invoke.NONE) {
- requests.put(invokeId, amstcpPacket);
+ requests.put(invokeId, amsPacket);
}
- out.add(amstcpPacket.getByteBuf());
+ out.add(amsPacket.toAmstcpPacket().getByteBuf());
}
@SuppressWarnings("unchecked")
@@ -77,9 +78,9 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
DataLength dataLength = DataLength.of(byteBuf);
AMSError errorCode = AMSError.of(byteBuf);
Invoke invoke = Invoke.of(byteBuf);
- AMSTCPPacket correlatedAmstcpPacket = requests.remove(invoke);
- if (correlatedAmstcpPacket != null) {
- LOGGER.debug("Correlated packet received {}", correlatedAmstcpPacket);
+ AMSPacket correlatedAMSPacket = requests.remove(invoke);
+ if (correlatedAMSPacket != null) {
+ LOGGER.debug("Correlated packet received {}", correlatedAMSPacket);
}
if (dataLength.getAsLong() > Integer.MAX_VALUE) {
byteBuf.release();
@@ -87,45 +88,46 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
}
ByteBuf commandBuffer = byteBuf.readBytes((int) dataLength.getAsLong());
AMSTCPHeader amstcpHeader = AMSTCPHeader.of(packetLength);
+ LOGGER.debug("AMS TCP Header {}", amstcpHeader);
AMSHeader amsHeader = AMSHeader.of(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, commandId, stateId, dataLength, errorCode, invoke);
- final AMSTCPPacket amstcpPacket;
+ final AMSPacket amsPacket;
switch (commandId) {
case INVALID:
- amstcpPacket = handleInvalidCommand(commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleInvalidCommand(commandBuffer, amsHeader);
break;
case ADS_READ_DEVICE_INFO:
- amstcpPacket = handleADSReadDeviceInfoCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSReadDeviceInfoCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_READ:
- amstcpPacket = handleADSReadCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSReadCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_WRITE:
- amstcpPacket = handleADSWriteCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSWriteCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_READ_STATE:
- amstcpPacket = handleADSReadStateCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSReadStateCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_WRITE_CONTROL:
- amstcpPacket = handleADSWriteControlCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSWriteControlCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_ADD_DEVICE_NOTIFICATION:
- amstcpPacket = handleADSAddDeviceNotificationCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSAddDeviceNotificationCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_DELETE_DEVICE_NOTIFICATION:
- amstcpPacket = handADSDeleteDeviceNotificationCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handADSDeleteDeviceNotificationCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_DEVICE_NOTIFICATION:
- amstcpPacket = handleADSDeviceNotificationCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSDeviceNotificationCommand(stateId, commandBuffer, amsHeader);
break;
case ADS_READ_WRITE:
- amstcpPacket = handleADSReadWriteCommand(stateId, commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleADSReadWriteCommand(stateId, commandBuffer, amsHeader);
break;
case UNKNOWN:
default:
- amstcpPacket = handleUnknownCommand(commandBuffer, amstcpHeader, amsHeader);
+ amsPacket = handleUnknownCommand(commandBuffer, amsHeader);
}
- out.add(amstcpPacket);
- LOGGER.trace("Set amstcpPacket {} to out", amstcpPacket);
+ out.add(amsPacket);
+ LOGGER.trace("Set AMSPacket {} to out", amsPacket);
if (commandBuffer.readableBytes() > 0) {
commandBuffer.release();
byteBuf.release();
@@ -135,34 +137,32 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byteBuf.release();
}
- private AMSTCPPacket handleInvalidCommand(ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
- amstcpPacket = UnknownCommand.of(amstcpHeader, amsHeader, commandBuffer);
- return amstcpPacket;
+ private AMSPacket handleInvalidCommand(ByteBuf commandBuffer, AMSHeader amsHeader) {
+ return UnknownCommand.of(amsHeader, commandBuffer);
}
- private AMSTCPPacket handleADSReadDeviceInfoCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSReadDeviceInfoCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
- amstcpPacket = ADSReadDeviceInfoRequest.of(amstcpHeader, amsHeader);
+ AMSPacket = ADSReadDeviceInfoRequest.of(amsHeader);
} else {
Result result = Result.of(commandBuffer);
MajorVersion majorVersion = MajorVersion.of(commandBuffer);
MinorVersion minorVersion = MinorVersion.of(commandBuffer);
Version version = Version.of(commandBuffer);
Device device = Device.of(commandBuffer);
- amstcpPacket = ADSReadDeviceInfoResponse.of(amstcpHeader, amsHeader, result, majorVersion, minorVersion, version, device);
+ AMSPacket = ADSReadDeviceInfoResponse.of(amsHeader, result, majorVersion, minorVersion, version, device);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSReadCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSReadCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
IndexGroup indexGroup = IndexGroup.of(commandBuffer);
IndexOffset indexOffset = IndexOffset.of(commandBuffer);
Length length = Length.of(commandBuffer);
- amstcpPacket = ADSReadRequest.of(amstcpHeader, amsHeader, indexGroup, indexOffset, length);
+ AMSPacket = ADSReadRequest.of(amsHeader, indexGroup, indexOffset, length);
} else {
Result result = Result.of(commandBuffer);
Length length = Length.of(commandBuffer);
@@ -172,13 +172,13 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byte[] dataToRead = new byte[(int) length.getAsLong()];
commandBuffer.readBytes(dataToRead);
Data data = Data.of(dataToRead);
- amstcpPacket = ADSReadResponse.of(amstcpHeader, amsHeader, result, length, data);
+ AMSPacket = ADSReadResponse.of(amsHeader, result, length, data);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSWriteCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSWriteCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
IndexGroup indexGroup = IndexGroup.of(commandBuffer);
IndexOffset indexOffset = IndexOffset.of(commandBuffer);
@@ -189,28 +189,28 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byte[] dataToRead = new byte[(int) length.getAsLong()];
commandBuffer.readBytes(dataToRead);
Data data = Data.of(dataToRead);
- amstcpPacket = ADSWriteRequest.of(amstcpHeader, amsHeader, indexGroup, indexOffset, length, data);
+ AMSPacket = ADSWriteRequest.of(amsHeader, indexGroup, indexOffset, length, data);
} else {
Result result = Result.of(commandBuffer);
- amstcpPacket = ADSWriteResponse.of(amstcpHeader, amsHeader, result);
+ AMSPacket = ADSWriteResponse.of(amsHeader, result);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSReadStateCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSReadStateCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
- amstcpPacket = ADSReadStateRequest.of(amstcpHeader, amsHeader);
+ AMSPacket = ADSReadStateRequest.of(amsHeader);
} else {
Result result = Result.of(commandBuffer);
- amstcpPacket = ADSReadStateResponse.of(amstcpHeader, amsHeader, result);
+ AMSPacket = ADSReadStateResponse.of(amsHeader, result);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSWriteControlCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSWriteControlCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
ADSState adsState = ADSState.of(commandBuffer);
DeviceState deviceState = DeviceState.of(commandBuffer);
@@ -221,16 +221,16 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byte[] dataToRead = new byte[(int) length.getAsLong()];
commandBuffer.readBytes(dataToRead);
Data data = Data.of(dataToRead);
- amstcpPacket = ADSWriteControlRequest.of(amstcpHeader, amsHeader, adsState, deviceState, length, data);
+ AMSPacket = ADSWriteControlRequest.of(amsHeader, adsState, deviceState, length, data);
} else {
Result result = Result.of(commandBuffer);
- amstcpPacket = ADSWriteControlResponse.of(amstcpHeader, amsHeader, result);
+ AMSPacket = ADSWriteControlResponse.of(amsHeader, result);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSAddDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSAddDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
IndexGroup indexGroup = IndexGroup.of(commandBuffer);
IndexOffset indexOffset = IndexOffset.of(commandBuffer);
@@ -239,29 +239,29 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
MaxDelay maxDelay = MaxDelay.of(commandBuffer);
CycleTime cycleTime = CycleTime.of(commandBuffer);
commandBuffer.skipBytes(ADSAddDeviceNotificationRequest.Reserved.NUM_BYTES);
- amstcpPacket = ADSAddDeviceNotificationRequest.of(amstcpHeader, amsHeader, indexGroup, indexOffset, length, transmissionMode, maxDelay, cycleTime);
+ AMSPacket = ADSAddDeviceNotificationRequest.of(amsHeader, indexGroup, indexOffset, length, transmissionMode, maxDelay, cycleTime);
} else {
Result result = Result.of(commandBuffer);
NotificationHandle notificationHandle = NotificationHandle.of(commandBuffer);
- amstcpPacket = ADSAddDeviceNotificationResponse.of(amstcpHeader, amsHeader, result, notificationHandle);
+ AMSPacket = ADSAddDeviceNotificationResponse.of(amsHeader, result, notificationHandle);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handADSDeleteDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handADSDeleteDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
NotificationHandle notificationHandle = NotificationHandle.of(commandBuffer);
- amstcpPacket = ADSDeleteDeviceNotificationRequest.of(amstcpHeader, amsHeader, notificationHandle);
+ AMSPacket = ADSDeleteDeviceNotificationRequest.of(amsHeader, notificationHandle);
} else {
Result result = Result.of(commandBuffer);
- amstcpPacket = ADSDeleteDeviceNotificationResponse.of(amstcpHeader, amsHeader, result);
+ AMSPacket = ADSDeleteDeviceNotificationResponse.of(amsHeader, result);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleADSDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSDeviceNotificationCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
Length length = Length.of(commandBuffer);
if (length.getAsLong() > Integer.MAX_VALUE) {
@@ -278,11 +278,11 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
adsStampHeaders.add(adsStampHeader);
}
adsDeviceNotificationBuffer.release();
- amstcpPacket = ADSDeviceNotificationRequest.of(amstcpHeader, amsHeader, length, stamps, adsStampHeaders);
+ AMSPacket = ADSDeviceNotificationRequest.of(amsHeader, length, stamps, adsStampHeaders);
} else {
- amstcpPacket = UnknownCommand.of(amstcpHeader, amsHeader, commandBuffer);
+ AMSPacket = UnknownCommand.of(amsHeader, commandBuffer);
}
- return amstcpPacket;
+ return AMSPacket;
}
private AdsStampHeader handleStampHeader(ByteBuf adsDeviceNotificationBuffer) {
@@ -311,8 +311,8 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
return AdsNotificationSample.of(notificationHandle, sampleSize, data);
}
- private AMSTCPPacket handleADSReadWriteCommand(State stateId, ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
+ private AMSPacket handleADSReadWriteCommand(State stateId, ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
if (stateId.isRequest()) {
IndexGroup indexGroup = IndexGroup.of(commandBuffer);
IndexOffset indexOffset = IndexOffset.of(commandBuffer);
@@ -330,7 +330,7 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byte[] dataToRead = new byte[(int) readLength.getAsLong()];
commandBuffer.readBytes(dataToRead);
Data data = Data.of(dataToRead);
- amstcpPacket = ADSReadWriteRequest.of(amstcpHeader, amsHeader, indexGroup, indexOffset, readLength, writeLength, data);
+ AMSPacket = ADSReadWriteRequest.of(amsHeader, indexGroup, indexOffset, readLength, writeLength, data);
} else {
Result result = Result.of(commandBuffer);
Length length = Length.of(commandBuffer);
@@ -340,14 +340,14 @@ public class ADSProtocol extends MessageToMessageCodec<ByteBuf, AMSTCPPacket> {
byte[] dataToRead = new byte[(int) length.getAsLong()];
commandBuffer.readBytes(dataToRead);
Data data = Data.of(dataToRead);
- amstcpPacket = ADSReadWriteResponse.of(amstcpHeader, amsHeader, result, length, data);
+ AMSPacket = ADSReadWriteResponse.of(amsHeader, result, length, data);
}
- return amstcpPacket;
+ return AMSPacket;
}
- private AMSTCPPacket handleUnknownCommand(ByteBuf commandBuffer, AMSTCPHeader amstcpHeader, AMSHeader amsHeader) {
- AMSTCPPacket amstcpPacket;
- amstcpPacket = UnknownCommand.of(amstcpHeader, amsHeader, commandBuffer);
- return amstcpPacket;
+ private AMSPacket handleUnknownCommand(ByteBuf commandBuffer, AMSHeader amsHeader) {
+ AMSPacket AMSPacket;
+ AMSPacket = UnknownCommand.of(amsHeader, commandBuffer);
+ return AMSPacket;
}
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocol.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADSProtocol.java
similarity index 91%
rename from plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocol.java
rename to plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADSProtocol.java
index 1870b97..d6bf03f 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocol.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADSProtocol.java
@@ -25,7 +25,7 @@ import org.apache.plc4x.java.ads.api.commands.ADSReadResponse;
import org.apache.plc4x.java.ads.api.commands.ADSWriteRequest;
import org.apache.plc4x.java.ads.api.commands.ADSWriteResponse;
import org.apache.plc4x.java.ads.api.commands.types.*;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
@@ -55,9 +55,9 @@ import java.util.concurrent.atomic.AtomicLong;
import static org.apache.plc4x.java.ads.protocol.util.LittleEndianDecoder.decodeData;
import static org.apache.plc4x.java.ads.protocol.util.LittleEndianEncoder.encodeData;
-public class Plc4XADSProtocol extends MessageToMessageCodec<AMSTCPPacket, PlcRequestContainer<PlcRequest, PlcResponse>> {
+public class Plc4X2ADSProtocol extends MessageToMessageCodec<AMSPacket, PlcRequestContainer<PlcRequest, PlcResponse>> {
- private static final Logger LOGGER = LoggerFactory.getLogger(Plc4XADSProtocol.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(Plc4X2ADSProtocol.class);
private static final AtomicLong correlationBuilder = new AtomicLong(1);
@@ -68,7 +68,7 @@ public class Plc4XADSProtocol extends MessageToMessageCodec<AMSTCPPacket, PlcReq
private final AMSNetId sourceAmsNetId;
private final AMSPort sourceAmsPort;
- public Plc4XADSProtocol(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
+ public Plc4X2ADSProtocol(AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
this.targetAmsNetId = targetAmsNetId;
this.targetAmsPort = targetAmsPort;
this.sourceAmsNetId = sourceAmsNetId;
@@ -103,8 +103,8 @@ public class Plc4XADSProtocol extends MessageToMessageCodec<AMSTCPPacket, PlcReq
IndexOffset indexOffset = IndexOffset.of(adsAddress.getIndexOffset());
byte[] bytes = encodeData(writeRequestItem.getDatatype(), writeRequestItem.getValues().toArray());
Data data = Data.of(bytes);
- AMSTCPPacket amstcpPacket = ADSWriteRequest.of(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId, indexGroup, indexOffset, data);
- out.add(amstcpPacket);
+ AMSPacket AMSPacket = ADSWriteRequest.of(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId, indexGroup, indexOffset, data);
+ out.add(AMSPacket);
requests.put(invokeId.getAsLong(), msg);
}
@@ -124,16 +124,16 @@ public class Plc4XADSProtocol extends MessageToMessageCodec<AMSTCPPacket, PlcReq
IndexGroup indexGroup = IndexGroup.of(adsAddress.getIndexGroup());
IndexOffset indexOffset = IndexOffset.of(adsAddress.getIndexOffset());
Length length = Length.of(readRequestItem.getSize());
- AMSTCPPacket amstcpPacket = ADSReadRequest.of(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId, indexGroup, indexOffset, length);
- out.add(amstcpPacket);
+ AMSPacket AMSPacket = ADSReadRequest.of(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId, indexGroup, indexOffset, length);
+ out.add(AMSPacket);
requests.put(invokeId.getAsLong(), msg);
}
@Override
- protected void decode(ChannelHandlerContext channelHandlerContext, AMSTCPPacket amstcpPacket, List<Object> out) throws Exception {
- PlcRequestContainer<PlcRequest, PlcResponse> plcRequestContainer = requests.remove(amstcpPacket.getAmsHeader().getInvokeId().getAsLong());
+ protected void decode(ChannelHandlerContext channelHandlerContext, AMSPacket AMSPacket, List<Object> out) throws Exception {
+ PlcRequestContainer<PlcRequest, PlcResponse> plcRequestContainer = requests.remove(AMSPacket.getAmsHeader().getInvokeId().getAsLong());
if (plcRequestContainer == null) {
- LOGGER.info("Unmapped packet received {}", amstcpPacket);
+ LOGGER.info("Unmapped packet received {}", AMSPacket);
return;
}
PlcRequest request = plcRequestContainer.getRequest();
@@ -141,16 +141,16 @@ public class Plc4XADSProtocol extends MessageToMessageCodec<AMSTCPPacket, PlcReq
// Handle the response to a read request.
if (request instanceof PlcReadRequest) {
- if (amstcpPacket instanceof ADSReadResponse) {
- response = decodeReadResponse((ADSReadResponse) amstcpPacket, plcRequestContainer);
+ if (AMSPacket instanceof ADSReadResponse) {
+ response = decodeReadResponse((ADSReadResponse) AMSPacket, plcRequestContainer);
} else {
- throw new PlcProtocolException("Wrong type correlated " + amstcpPacket);
+ throw new PlcProtocolException("Wrong type correlated " + AMSPacket);
}
} else if (request instanceof PlcWriteRequest) {
- if (amstcpPacket instanceof ADSWriteResponse) {
- response = decodeWriteResponse((ADSWriteResponse) amstcpPacket, plcRequestContainer);
+ if (AMSPacket instanceof ADSWriteResponse) {
+ response = decodeWriteResponse((ADSWriteResponse) AMSPacket, plcRequestContainer);
} else {
- throw new PlcProtocolException("Wrong type correlated " + amstcpPacket);
+ throw new PlcProtocolException("Wrong type correlated " + AMSPacket);
}
}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java
index ca8f415..e653f2b 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java
@@ -19,6 +19,8 @@
package org.apache.plc4x.java.ads.api.generic;
import org.apache.plc4x.java.ads.api.generic.types.Command;
+import org.apache.plc4x.java.ads.api.tcp.AMSTCPHeader;
+import org.apache.plc4x.java.ads.api.tcp.AMSTCPPacket;
import org.apache.plc4x.java.ads.api.util.LengthSupplier;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java
index b3c3b14..d112d96 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.plc4x.java.ads.api.generic.types;
+import org.apache.plc4x.java.ads.api.tcp.types.TcpLength;
import org.apache.plc4x.java.ads.api.util.UnsignedIntLEByteValue;
import org.apache.plc4x.java.ads.api.util.UnsignedShortLEByteValue;
import org.junit.Test;
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java
index 30b2528..864a3bb 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java
@@ -20,6 +20,7 @@ package org.apache.plc4x.java.ads.api.generic.types;
import org.apache.commons.codec.binary.Hex;
+import org.apache.plc4x.java.ads.api.tcp.types.TcpLength;
import org.junit.Test;
import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADSProtocolTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocolTest.java
similarity index 85%
rename from plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADSProtocolTest.java
rename to plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocolTest.java
index 0a7d3ca..c35ad9c 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADSProtocolTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/ADS2TcpProtocolTest.java
@@ -21,10 +21,11 @@ package org.apache.plc4x.java.ads.protocol;
import io.netty.buffer.ByteBuf;
import org.apache.plc4x.java.ads.api.commands.*;
import org.apache.plc4x.java.ads.api.commands.types.*;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
+import org.apache.plc4x.java.ads.api.tcp.AMSTCPPacket;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -44,11 +45,11 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@RunWith(Parameterized.class)
-public class ADSProtocolTest {
+public class ADS2TcpProtocolTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(ADSProtocolTest.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ADS2TcpProtocolTest.class);
- private ADSProtocol SUT;
+ private ADS2TcpProtocol SUT;
@Parameterized.Parameter
public AMSTCPPacket amstcpPacket;
@@ -67,20 +68,20 @@ public class ADSProtocolTest {
return Stream.of(
ADSAddDeviceNotificationRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
- IndexGroup.of(1), IndexOffset.of(1), Length.of(1), TransmissionMode.of(1), MaxDelay.of(1), CycleTime.of(1)),
+ IndexGroup.of(1), IndexOffset.of(1), Length.of(1), TransmissionMode.of(1), MaxDelay.of(1), CycleTime.of(1)).toAmstcpPacket(),
ADSAddDeviceNotificationResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0),
NotificationHandle.of(0)
- ),
+ ).toAmstcpPacket(),
ADSDeleteDeviceNotificationRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
NotificationHandle.of(0)
- ),
+ ).toAmstcpPacket(),
ADSDeleteDeviceNotificationResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0)
- ),
+ ).toAmstcpPacket(),
ADSDeviceNotificationRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Stamps.of(1),
@@ -91,10 +92,10 @@ public class ADSProtocolTest {
AdsNotificationSample.of(NotificationHandle.of(0), data))
)
)
- ),
+ ).toAmstcpPacket(),
ADSReadDeviceInfoRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId
- ),
+ ).toAmstcpPacket(),
ADSReadDeviceInfoResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0),
@@ -102,57 +103,58 @@ public class ADSProtocolTest {
MinorVersion.of((byte) 2),
Version.of(3),
Device.of("Random DeviceId")
- ),
+ ).toAmstcpPacket(),
ADSReadRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
IndexGroup.of(0),
IndexOffset.of(0),
Length.of(1)
- ),
+ ).toAmstcpPacket(),
ADSReadResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0),
data
- ),
+ ).toAmstcpPacket(),
ADSReadStateRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId
- ),
+ ).toAmstcpPacket(),
ADSReadStateResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0)
- ),
+ ).toAmstcpPacket(),
ADSReadWriteRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
IndexGroup.of(0),
IndexOffset.of(0),
ReadLength.of(data.getCalculatedLength()),
data
- ),
+ ).toAmstcpPacket(),
ADSReadWriteResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0),
data
- ),
+ ).toAmstcpPacket(),
ADSWriteControlRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
ADSState.of(0xaffe),
DeviceState.of(0xaffe),
data
- ),
+ ).toAmstcpPacket(),
ADSWriteControlResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0)
- ),
+ ).toAmstcpPacket(),
ADSWriteRequest.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
IndexGroup.of(0),
IndexOffset.of(0),
data
- ),
+ ).toAmstcpPacket(),
ADSWriteResponse.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, invokeId,
Result.of(0)
- )/*,
+ ).toAmstcpPacket()
+ /*,
UnknownCommand.of(
targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, State.DEFAULT, invokeId,
Unpooled.wrappedBuffer(new byte[]{42})
@@ -162,15 +164,15 @@ public class ADSProtocolTest {
@Before
public void setUp() throws Exception {
- SUT = new ADSProtocol();
+ SUT = new ADS2TcpProtocol();
byte[] bytes = amstcpPacket.getBytes();
- LOGGER.info("amstcpPacket:\n{} has \n{}bytes\nHexDump:\n{}", amstcpPacket, bytes.length, amstcpPacket.dump());
+ LOGGER.info("amsPacket:\n{} has \n{}bytes\nHexDump:\n{}", amstcpPacket, bytes.length, amstcpPacket.dump());
}
@Test
public void encode() throws Exception {
ArrayList<Object> out = new ArrayList<>();
- SUT.encode(null, amstcpPacket, out);
+ SUT.encode(null, amstcpPacket.getAmsPacket(), out);
assertEquals(1, out.size());
assertThat(out, hasSize(1));
}
@@ -185,7 +187,7 @@ public class ADSProtocolTest {
@Test
public void roundTrip() throws Exception {
ArrayList<Object> outbound = new ArrayList<>();
- SUT.encode(null, amstcpPacket, outbound);
+ SUT.encode(null, amstcpPacket.getAmsPacket(), outbound);
assertEquals(1, outbound.size());
assertThat(outbound, hasSize(1));
assertThat(outbound.get(0), instanceOf(ByteBuf.class));
@@ -194,8 +196,8 @@ public class ADSProtocolTest {
SUT.decode(null, byteBuf, inbound);
assertEquals(1, inbound.size());
assertThat(inbound, hasSize(1));
- assertThat(inbound.get(0), instanceOf(AMSTCPPacket.class));
- AMSTCPPacket inboundAmstcpPacket = (AMSTCPPacket) inbound.get(0);
- assertThat("inbound divers from outbound", this.amstcpPacket, equalTo(inboundAmstcpPacket));
+ assertThat(inbound.get(0), instanceOf(AMSPacket.class));
+ AMSPacket inboundAmsPacket = (AMSPacket) inbound.get(0);
+ assertThat("inbound divers from outbound", this.amstcpPacket, equalTo(inboundAmsPacket.toAmstcpPacket()));
}
}
\ No newline at end of file
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocolTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADS2TcpProtocolTest.java
similarity index 92%
rename from plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocolTest.java
rename to plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADS2TcpProtocolTest.java
index 66abf0a..5778b47 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4XADSProtocolTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/protocol/Plc4X2ADS2TcpProtocolTest.java
@@ -25,7 +25,7 @@ import org.apache.plc4x.java.ads.api.commands.ADSWriteResponse;
import org.apache.plc4x.java.ads.api.commands.types.Data;
import org.apache.plc4x.java.ads.api.commands.types.Result;
import org.apache.plc4x.java.ads.api.generic.AMSHeader;
-import org.apache.plc4x.java.ads.api.generic.AMSTCPPacket;
+import org.apache.plc4x.java.ads.api.generic.AMSPacket;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
@@ -54,12 +54,12 @@ import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
@RunWith(Parameterized.class)
-public class Plc4XADSProtocolTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(ADSProtocolTest.class);
+public class Plc4X2ADS2TcpProtocolTest {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ADS2TcpProtocolTest.class);
public static final Calendar calenderInstance = Calendar.getInstance();
- private Plc4XADSProtocol SUT;
+ private Plc4X2ADSProtocol SUT;
@Parameterized.Parameter
public String payloadClazzName;
@@ -74,10 +74,10 @@ public class Plc4XADSProtocolTest {
public String plcRequestContainerClassName;
@Parameterized.Parameter(4)
- public AMSTCPPacket amstcpPacket;
+ public AMSPacket amsPacket;
@Parameterized.Parameter(5)
- public String aMSTCPPacketClassName;
+ public String amsPacketClassName;
@Parameterized.Parameters(name = "{index} Type:{0} {3} {5}")
public static Collection<Object[]> data() {
@@ -140,7 +140,7 @@ public class Plc4XADSProtocolTest {
AMSPort targetAmsPort = AMSPort.of(7);
AMSNetId sourceAmsNetId = AMSNetId.of("8.9.10.11.12.13");
AMSPort sourceAmsPort = AMSPort.of(14);
- SUT = new Plc4XADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
+ SUT = new Plc4X2ADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
}
@Test
@@ -148,11 +148,11 @@ public class Plc4XADSProtocolTest {
ArrayList<Object> out = new ArrayList<>();
SUT.encode(null, plcRequestContainer, out);
assertThat(out, hasSize(1));
- assertThat(out.get(0), instanceOf(AMSTCPPacket.class));
- AMSTCPPacket amstcpPacket = (AMSTCPPacket) out.get(0);
- LOGGER.info("{}\nHexDump:\n{}", amstcpPacket, amstcpPacket.dump());
- if (amstcpPacket instanceof ADSWriteRequest) {
- ADSWriteRequest adsWriteRequest = (ADSWriteRequest) amstcpPacket;
+ assertThat(out.get(0), instanceOf(AMSPacket.class));
+ AMSPacket amsPacket = (AMSPacket) out.get(0);
+ LOGGER.info("{}\nHexDump:\n{}", amsPacket, amsPacket.dump());
+ if (amsPacket instanceof ADSWriteRequest) {
+ ADSWriteRequest adsWriteRequest = (ADSWriteRequest) amsPacket;
byte[] value = adsWriteRequest.getData().getBytes();
if (payloadClazzName.equals(Boolean.class.getSimpleName())) {
assertThat(value, equalTo(new byte[]{0x1}));
@@ -179,8 +179,8 @@ public class Plc4XADSProtocolTest {
assertThat(in, hasSize(1));
syncInvoiceId();
ArrayList<Object> out = new ArrayList<>();
- LOGGER.info("{}\nHexDump:\n{}", amstcpPacket, amstcpPacket.dump());
- SUT.decode(null, amstcpPacket, out);
+ LOGGER.info("{}\nHexDump:\n{}", amsPacket, amsPacket.dump());
+ SUT.decode(null, amsPacket, out);
assertThat(out, hasSize(1));
assertThat(out.get(0), instanceOf(PlcRequestContainer.class));
PlcRequestContainer<?, ?> plcRequestContainer = (PlcRequestContainer) out.get(0);
@@ -188,7 +188,7 @@ public class Plc4XADSProtocolTest {
PlcResponse plcResponse = plcRequestContainer.getResponseFuture().get();
ResponseItem responseItem = (ResponseItem) plcResponse.getResponseItem().get();
LOGGER.info("ResponseItem {}", responseItem);
- if (amstcpPacket instanceof ADSReadResponse) {
+ if (amsPacket instanceof ADSReadResponse) {
ReadResponseItem readResponseItem = (ReadResponseItem) responseItem;
Object value = readResponseItem.getValues().get(0);
if (payloadClazzName.equals(Boolean.class.getSimpleName())) {
@@ -214,7 +214,7 @@ public class Plc4XADSProtocolTest {
correlationBuilderField.setAccessible(true);
AtomicLong correlationBuilder = (AtomicLong) correlationBuilderField.get(SUT);
- AMSHeader amsHeader = amstcpPacket.getAmsHeader();
+ AMSHeader amsHeader = amsPacket.getAmsHeader();
Field invokeIdField = amsHeader.getClass().getDeclaredField("invokeId");
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
diff --git a/plc4j/protocols/benchmarks/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocolBenchmark.java b/plc4j/protocols/benchmarks/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocolBenchmark.java
index 0be9a4f..fba9662 100644
--- a/plc4j/protocols/benchmarks/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocolBenchmark.java
+++ b/plc4j/protocols/benchmarks/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocolBenchmark.java
@@ -28,7 +28,7 @@ import org.apache.plc4x.java.ads.api.commands.types.*;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
import org.apache.plc4x.java.ads.api.generic.types.Invoke;
-import org.apache.plc4x.java.ads.protocol.ADSProtocol;
+import org.apache.plc4x.java.ads.protocol.ADS2TcpProtocol;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
@@ -39,7 +39,7 @@ public class ADSProtocolBenchmark {
@State(Scope.Benchmark)
public static class MyState {
- ADSProtocol SUT = new ADSProtocol();
+ ADS2TcpProtocol SUT = new ADS2TcpProtocol();
ADSWriteRequest adsWriteRequest = buildAdsWriteRequest();
byte[] adsWriteResponse = buildADSWriteResponse();
ADSReadRequest adsReadRequest = buildAdsReadRequest();
--
To stop receiving notification emails like this one, please contact
sruehl@apache.org.