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 2024/09/13 15:02:15 UTC
(plc4x) branch develop updated: fix(plc4go/bacnetip): fix most of the broken implementation
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 9ba4d7f48d fix(plc4go/bacnetip): fix most of the broken implementation
9ba4d7f48d is described below
commit 9ba4d7f48d1921ed57748475e24d7b116efe2e36
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Sep 13 17:02:03 2024 +0200
fix(plc4go/bacnetip): fix most of the broken implementation
---
.../internal/bacnetip/bacgopes/apdu/apdu_APDU.go | 3 +-
.../apdu/apdu_ConfirmedPrivateTransferRequest.go | 2 +-
.../bacnetip/bacgopes/apdu/apdu_WhoIsRequest.go | 2 +-
.../bacnetip/bacgopes/app/app_Application.go | 4 +-
.../bacgopes/app/app_ApplicationIOController.go | 2 +-
.../appservice_ApplicationServiceAccessPoint.go | 8 +-
.../bacgopes/appservice/appservice_ClientSSM.go | 52 ++++----
.../bacnetip/bacgopes/appservice/appservice_SSM.go | 2 +-
.../bacgopes/appservice/appservice_ServerSSM.go | 40 +++---
.../appservice_StateMachineAccessPoint.go | 20 +--
.../bacgopes/basetypes/basetypes_NameValue.go | 4 +-
plc4go/internal/bacnetip/bacgopes/bvll/bvll.go | 14 +-
.../internal/bacnetip/bacgopes/bvll/bvll_BVLCI.go | 2 +-
.../internal/bacnetip/bacgopes/bvll/bvll_BVLPDU.go | 2 +
.../bacnetip/bacgopes/bvll/bvll_ForwardedNPDU.go | 11 +-
.../bvll/bvll_ReadForeignDeviceTableAck.go | 2 +-
.../bvllservice/bvllservice_AnnexJCodec.go | 4 +-
.../bacgopes/bvllservice/bvllservice_BIPBBMD.go | 50 ++++----
.../bacgopes/bvllservice/bvllservice_BIPForeign.go | 32 ++---
.../bacgopes/bvllservice/bvllservice_BIPSimple.go | 4 +-
.../bvllservice/bvllservice_UDPMultiplexer.go | 4 +-
.../bvllservice/bvllservice__MultiplexClient.go | 2 +-
.../bvllservice/bvllservice__MultiplexServer.go | 2 +-
plc4go/internal/bacnetip/bacgopes/comm/comm_PDU.go | 9 +-
plc4go/internal/bacnetip/bacgopes/comp/comp.go | 45 +++++--
.../bacgopes/constructeddata/constructeddata.go | 6 +-
.../bacnetip/bacgopes/debugging/debugging.go | 8 +-
.../bacnetip/bacgopes/iocb/iocb_IOQController.go | 8 +-
.../netservice/netservice_NetworkAdapter.go | 2 +-
.../netservice_NetworkServiceAccessPoint.go | 8 +-
.../netservice/netservice_NetworkServiceElement.go | 22 ++--
.../internal/bacnetip/bacgopes/npdu/npdu_NPCI.go | 2 +-
.../internal/bacnetip/bacgopes/npdu/npdu_NPDU.go | 3 +-
.../internal/bacnetip/bacgopes/pdu/comm_PDUData.go | 13 +-
plc4go/internal/bacnetip/bacgopes/pdu/pdu_PDU.go | 9 ++
.../service/service_device_WhoIsIAmServices.go | 4 +-
.../internal/bacnetip/bacgopes/tests/quick/bvll.go | 24 ++--
.../internal/bacnetip/bacgopes/tests/quick/pdu.go | 4 +-
.../internal/bacnetip/bacgopes/tests/settings.go | 31 -----
.../bacgopes/tests/state_machine/state_machine.go | 3 +-
.../state_machine/state_machine_StateMachine.go | 27 ++--
...n.go => state_machine_stateMachine_plc4xgen.go} | 6 +-
...elpers_BIPSimpleApplicationLayerStateMachine.go | 4 +-
.../tests/test_bvll/helpers_BIPStateMachine.go | 3 +
.../tests/test_bvll/helpers_FauxMultiplexer.go | 4 +-
.../bacgopes/tests/test_bvll/test_bbmd_test.go | 20 +--
.../bacgopes/tests/test_bvll/test_codec_test.go | 142 ++++++++-------------
.../bacgopes/tests/test_bvll/test_foreign_test.go | 55 ++++----
.../bacgopes/tests/test_bvll/test_simple_test.go | 11 +-
.../tests/test_comm/test_capability_test.go | 2 +-
.../test_constructed_data/test_sequence_test.go | 18 +--
.../bacgopes/tests/test_network/helpers.go | 8 +-
.../bacgopes/tests/test_network/test_net_1_test.go | 10 +-
.../bacgopes/tests/test_network/test_net_2_test.go | 12 +-
.../bacgopes/tests/test_network/test_net_3_test.go | 32 +++--
.../bacnetip/bacgopes/tests/test_npdu/helpers.go | 4 +-
.../bacgopes/tests/test_npdu/test_codec_test.go | 111 ++++++++--------
.../tests/test_primitive_data/test_tag_test.go | 3 +-
.../tests/test_segmentation/test_1_test.go | 9 +-
.../bacgopes/tests/test_service/helpers.go | 13 +-
.../test_client_state_machine_test.go | 3 +-
.../test_server_state_machine_test.go | 3 +-
.../test_service_access_point_test.go | 8 +-
.../test_utilities/test_state_machine_test.go | 35 +++--
.../tests/test_utilities/test_time_machine_test.go | 4 +-
.../bacgopes/tests/test_vlan/test_network_test.go | 4 +-
plc4go/internal/bacnetip/bacgopes/tests/tests.go | 4 +-
.../tests/time_machine/time_machine_TimeMachine.go | 7 -
.../tests/trapped_classes/trapped_classes.go | 4 +
...ped_classes_TrappedApplicationServiceElement.go | 40 ++++--
.../trapped_classes_TrappedClient.go | 15 ++-
...> trapped_classes_TrappedClientStateMachine.go} | 28 +++-
.../trapped_classes_TrappedServer.go | 18 ++-
.../trapped_classes_TrappedServerStateMachine.go | 14 ++
.../trapped_classes_TrappedServiceAccessPoint.go | 32 ++++-
.../trapped_classes_TrappedStateMachine.go | 10 +-
.../trapped_classes/trapped_classes_Trapper.go | 21 +++
.../internal/bacnetip/bacgopes/udp/udp_UDPActor.go | 2 +-
.../bacnetip/bacgopes/udp/udp_UDPDirector.go | 4 +-
.../bacnetip/bacgopes/vlan/vlan_IPRouterNode.go | 2 +-
.../bacnetip/bacgopes/vlan/vlan_Network.go | 4 +-
.../internal/bacnetip/bacgopes/vlan/vlan_Node.go | 2 +-
82 files changed, 674 insertions(+), 553 deletions(-)
diff --git a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_APDU.go b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_APDU.go
index 8bdde67c6d..b319bb7486 100644
--- a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_APDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_APDU.go
@@ -57,7 +57,8 @@ func NewAPDU(apdu readWriteModel.APDU, opts ...func(*__APDU)) (APDU, error) {
opt(a)
}
a._APCI = NewAPCI(apdu).(*_APCI)
- a.PDUData = NewPDUData(NoArgs, NoKWArgs)
+ a.PDUData = NewPDUData(NoArgs, NoKWArgs())
+ a.AddExtraPrinters(a.PDUData.(DebugContentPrinter))
// Do a post construct for a bit more easy initialization
for _, f := range a._postConstruct {
f()
diff --git a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_ConfirmedPrivateTransferRequest.go b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_ConfirmedPrivateTransferRequest.go
index 5c38d5951c..948b03a37b 100644
--- a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_ConfirmedPrivateTransferRequest.go
+++ b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_ConfirmedPrivateTransferRequest.go
@@ -55,7 +55,7 @@ func NewConfirmedPrivateTransferRequest(_ Args, _ KWArgs) (*ConfirmedPrivateTran
nil,
0,
),
- NoKWArgs,
+ NoKWArgs(),
WithConfirmedRequestSequenceExtension(c),
)
if err != nil {
diff --git a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_WhoIsRequest.go b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_WhoIsRequest.go
index 7653ea688a..2a2ac86e56 100644
--- a/plc4go/internal/bacnetip/bacgopes/apdu/apdu_WhoIsRequest.go
+++ b/plc4go/internal/bacnetip/bacgopes/apdu/apdu_WhoIsRequest.go
@@ -50,7 +50,7 @@ func NewWhoIsRequest() (*WhoIsRequest, error) {
readWriteModel.CreateBACnetContextTagUnsignedInteger(1, 0),
0,
),
- NoKWArgs,
+ NoKWArgs(),
WithUnconfirmedRequestSequenceExtension(w),
)
if err != nil {
diff --git a/plc4go/internal/bacnetip/bacgopes/app/app_Application.go b/plc4go/internal/bacnetip/bacgopes/app/app_Application.go
index 256d78d2f1..629bf79215 100644
--- a/plc4go/internal/bacnetip/bacgopes/app/app_Application.go
+++ b/plc4go/internal/bacnetip/bacgopes/app/app_Application.go
@@ -113,7 +113,7 @@ func NewApplication(localLog zerolog.Logger, localDevice *LocalDeviceObject, opt
if !a._startupDisabled {
for fn := range a.CapabilityFunctions("startup") {
localLog.Debug().Interface("fn", fn).Msg("startup fn")
- Deferred(fn, NoArgs, NoKWArgs)
+ Deferred(fn, NoArgs, NoKWArgs())
}
}
return a, nil
@@ -273,7 +273,7 @@ func (a *Application) Indication(args Args, kwArgs KWArgs) error {
a.log.Debug().Err(err).Msg("err result")
panic("do it")
// TODO: do proper mapping
- if err := a.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, readWriteModel.NewAPDUError(0, readWriteModel.BACnetConfirmedServiceChoice_CREATE_OBJECT, nil, 0)))), NoKWArgs); err != nil {
+ if err := a.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, readWriteModel.NewAPDUError(0, readWriteModel.BACnetConfirmedServiceChoice_CREATE_OBJECT, nil, 0)))), NoKWArgs()); err != nil {
return err
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/app/app_ApplicationIOController.go b/plc4go/internal/bacnetip/bacgopes/app/app_ApplicationIOController.go
index aaa5fdb260..1460c434c1 100644
--- a/plc4go/internal/bacnetip/bacgopes/app/app_ApplicationIOController.go
+++ b/plc4go/internal/bacnetip/bacgopes/app/app_ApplicationIOController.go
@@ -147,7 +147,7 @@ func (a *ApplicationIOController) _AppRequest(apdu PDU) {
a.log.Debug().Stringer("apdu", apdu).Msg("_AppRequest")
// send it downstream, bypass the guard
- if err := a.Application.Request(NA(apdu), NoKWArgs); err != nil {
+ if err := a.Application.Request(NA(apdu), NoKWArgs()); err != nil {
a.log.Error().Stack().Err(err).Msg("Uh oh")
return
}
diff --git a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ApplicationServiceAccessPoint.go b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ApplicationServiceAccessPoint.go
index a0b5b94f8f..0969a5f86a 100644
--- a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ApplicationServiceAccessPoint.go
+++ b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ApplicationServiceAccessPoint.go
@@ -114,7 +114,7 @@ func (a *ApplicationServiceAccessPoint) Indication(args Args, kwArgs KWArgs) err
// no error so far, keep going
if errorFound == nil {
a.log.Trace().Msg("no decoding error")
- if err := a.SapRequest(NA(xpdu), NoKWArgs); err != nil {
+ if err := a.SapRequest(NA(xpdu), NoKWArgs()); err != nil {
panic("if no abort or reject bubble up")
errorFound = err
}
@@ -126,7 +126,7 @@ func (a *ApplicationServiceAccessPoint) Indication(args Args, kwArgs KWArgs) err
a.log.Debug().Err(errorFound).Msg("got error")
// TODO: map it to a error... code temporary placeholder
- return a.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, readWriteModel.NewAPDUReject(_apdu.GetInvokeId(), nil, 0)))), NoKWArgs)
+ return a.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, readWriteModel.NewAPDUReject(_apdu.GetInvokeId(), nil, 0)))), NoKWArgs())
}
case readWriteModel.APDUUnconfirmedRequest:
var apduService readWriteModel.BACnetUnconfirmedServiceChoice
@@ -147,7 +147,7 @@ func (a *ApplicationServiceAccessPoint) Indication(args Args, kwArgs KWArgs) err
}
// forward the decoded packet
- if err := a.SapRequest(NA(xpdu), NoKWArgs); err != nil {
+ if err := a.SapRequest(NA(xpdu), NoKWArgs()); err != nil {
panic("if no abort or reject bubble up")
}
default:
@@ -189,7 +189,7 @@ func (a *ApplicationServiceAccessPoint) SapIndication(args Args, kwArgs KWArgs)
}
// forward the encoded packet
- err := a.Request(NA(xpdu), NoKWArgs)
+ err := a.Request(NA(xpdu), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error forwarding the request ")
}
diff --git a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ClientSSM.go b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ClientSSM.go
index 157d814ff0..864e47aedf 100644
--- a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ClientSSM.go
+++ b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ClientSSM.go
@@ -298,10 +298,10 @@ func (c *ClientSSM) segmentedRequest(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
c.log.Debug().Err(err).Msg("error sending response")
}
} else {
@@ -317,10 +317,10 @@ func (c *ClientSSM) segmentedRequest(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
c.log.Debug().Err(err).Msg("error sending response")
}
} else if !_apdu.GetSegmentedMessage() {
@@ -328,7 +328,7 @@ func (c *ClientSSM) segmentedRequest(apdu PDU) error {
if err := c.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "error switching state")
}
- if err := c.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Response(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
} else {
@@ -351,7 +351,7 @@ func (c *ClientSSM) segmentedRequest(apdu PDU) error {
if err := c.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "error switching state")
}
- if err := c.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Response(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
default:
@@ -374,7 +374,7 @@ func (c *ClientSSM) segmentedRequestTimeout() error {
if err != nil {
return errors.Wrap(err, "error getting first segment")
}
- if err := c.Request(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Request(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending request")
}
} else {
@@ -389,7 +389,7 @@ func (c *ClientSSM) segmentedRequestTimeout() error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil {
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -406,7 +406,7 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
if err := c.setState(SSMState_ABORTED, nil); err != nil {
return errors.Wrap(err, "error switching state")
}
- if err := c.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Response(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
case readWriteModel.APDUSimpleAck, readWriteModel.APDUError, readWriteModel.APDUReject:
@@ -415,7 +415,7 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
if err := c.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "error switching state")
}
- if err := c.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Response(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
case readWriteModel.APDUComplexAck:
@@ -427,7 +427,7 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
if err := c.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "error switching state")
}
- if err := c.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := c.Response(NA(apdu), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
} else if c.segmentationSupported != readWriteModel.BACnetSegmentation_SEGMENTED_RECEIVE && c.segmentationSupported != readWriteModel.BACnetSegmentation_SEGMENTED_BOTH {
@@ -437,7 +437,7 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil {
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
} else if *_apdu.GetSequenceNumber() == 0 {
@@ -457,7 +457,7 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
// send back a segment ack
segmentAck := readWriteModel.NewAPDUSegmentAck(false, false, c.invokeId, c.initialSequenceNumber, *c.actualWindowSize, 0)
- if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs); err != nil {
+ if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending request")
}
} else {
@@ -467,10 +467,10 @@ func (c *ClientSSM) awaitConfirmation(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
c.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -496,7 +496,7 @@ func (c *ClientSSM) awaitConfirmationTimeout() error {
// save the retry count, indication acts like the request is coming from the application so the retryCount gets
// re-initialized.
saveCount := c.retryCount
- if err := c.Indication(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, c.segmentAPDU.originalApdu, KWCPCIDestination, c.pduAddress))), NoKWArgs); err != nil { // TODO: check that it is really the intention to re-send the original apdu here
+ if err := c.Indication(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, c.segmentAPDU.originalApdu, KWCPCIDestination, c.pduAddress))), NoKWArgs()); err != nil { // TODO: check that it is really the intention to re-send the original apdu here
return err
}
c.retryCount = saveCount
@@ -510,7 +510,7 @@ func (c *ClientSSM) awaitConfirmationTimeout() error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil {
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -529,10 +529,10 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
c.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -543,10 +543,10 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := c.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
- if err := c.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := c.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
c.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -561,7 +561,7 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
// segment received out of order
c.RestartTimer(c.segmentTimeout)
segmentAck := readWriteModel.NewAPDUSegmentAck(true, false, c.invokeId, c.initialSequenceNumber, *c.actualWindowSize, 0)
- if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs); err != nil {
+ if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending request")
}
return nil
@@ -581,7 +581,7 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
// send final ack
segmentAck := readWriteModel.NewAPDUSegmentAck(false, false, c.invokeId, c.lastSequenceNumber, *c.actualWindowSize, 0)
- if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs); err != nil {
+ if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending request")
}
@@ -595,7 +595,7 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error parsing apdu")
}
- if err := c.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, parse))), NoKWArgs); err != nil {
+ if err := c.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, parse))), NoKWArgs()); err != nil {
c.log.Debug().Err(err).Msg("error sending response")
}
} else if *apduComplexAck.GetSequenceNumber() == c.initialSequenceNumber+*c.actualWindowSize {
@@ -604,7 +604,7 @@ func (c *ClientSSM) segmentedConfirmation(apdu PDU) error {
c.initialSequenceNumber = c.lastSequenceNumber
c.RestartTimer(c.segmentTimeout)
segmentAck := readWriteModel.NewAPDUSegmentAck(false, false, c.invokeId, c.lastSequenceNumber, *c.actualWindowSize, 0)
- if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs); err != nil { // send it ot the device
+ if err := c.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segmentAck))), NoKWArgs()); err != nil { // send it ot the device
c.log.Debug().Err(err).Msg("error sending request")
}
} else {
@@ -623,5 +623,5 @@ func (c *ClientSSM) segmentedConfirmationTimeout() error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- return c.Response(NA(abort), NoKWArgs)
+ return c.Response(NA(abort), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_SSM.go b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_SSM.go
index 0460154acc..3ce17f052f 100644
--- a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_SSM.go
+++ b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_SSM.go
@@ -383,7 +383,7 @@ func (s *SSM) fillWindow(sequenceNumber uint8) error {
if err != nil {
return errors.Wrapf(err, "Error sending out segment %d", i)
}
- if err := s.ssmSAP.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, apdu.GetRootMessage(), KWCPCIDestination, s.pduAddress))), NoKWArgs); err != nil {
+ if err := s.ssmSAP.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, apdu.GetRootMessage(), KWCPCIDestination, s.pduAddress))), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending request")
}
if moreFollows {
diff --git a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ServerSSM.go b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ServerSSM.go
index e0746e2779..a6820c85f5 100644
--- a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ServerSSM.go
+++ b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_ServerSSM.go
@@ -197,7 +197,7 @@ func (s *ServerSSM) Confirmation(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "Error creating abort")
}
- return s.Response(NA(abort), NoKWArgs)
+ return s.Response(NA(abort), NoKWArgs())
}
// make sure client supports segmented receive
@@ -207,7 +207,7 @@ func (s *ServerSSM) Confirmation(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "Error creating abort")
}
- return s.Response(NA(abort), NoKWArgs)
+ return s.Response(NA(abort), NoKWArgs())
}
// make sure we don't exceed the number of segments in our response that the client said it was willing to accept
@@ -218,7 +218,7 @@ func (s *ServerSSM) Confirmation(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "Error creating abort")
}
- return s.Response(NA(abort), NoKWArgs)
+ return s.Response(NA(abort), NoKWArgs())
}
}
@@ -229,7 +229,7 @@ func (s *ServerSSM) Confirmation(args Args, kwArgs KWArgs) error {
// send out the first segment (or the whole thing)
if s.segmentCount == 1 {
- if err := s.Response(args, NoKWArgs); err != nil {
+ if err := s.Response(args, NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending response")
}
if err := s.setState(SSMState_COMPLETED, nil); err != nil {
@@ -240,7 +240,7 @@ func (s *ServerSSM) Confirmation(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "error getting first segment")
}
- if err := s.Response(NA(segment), NoKWArgs); err != nil {
+ if err := s.Response(NA(segment), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending response")
}
if err := s.setState(SSMState_SEGMENTED_RESPONSE, nil); err != nil {
@@ -352,7 +352,7 @@ func (s *ServerSSM) idle(apdu PDU) error {
if err := s.setState(SSMState_AWAIT_RESPONSE, nil); err != nil {
return errors.Wrap(err, "Error setting state to aborted")
}
- return s.Request(NA(apdu), NoKWArgs)
+ return s.Request(NA(apdu), NoKWArgs())
}
// make sure we support segmented requests
@@ -361,7 +361,7 @@ func (s *ServerSSM) idle(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- return s.Response(NA(abort), NoKWArgs)
+ return s.Response(NA(abort), NoKWArgs())
}
// save the response and set the segmentation context
@@ -390,7 +390,7 @@ func (s *ServerSSM) idle(apdu PDU) error {
// send back a segment ack
segack := readWriteModel.NewAPDUSegmentAck(false, true, s.invokeId, s.initialSequenceNumber, *s.actualWindowSize, 0)
s.log.Debug().Stringer("segack", segack).Msg("segAck")
- return s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs)
+ return s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs())
}
func (s *ServerSSM) segmentedRequest(apdu PDU) error {
@@ -401,7 +401,7 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
if err := s.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "Error setting state to aborted")
}
- return s.Response(NA(apdu), NoKWArgs)
+ return s.Response(NA(apdu), NoKWArgs())
}
// the only messages we should be getting are confirmed requests
@@ -411,10 +411,10 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := s.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := s.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
s.log.Debug().Err(err).Msg("error sending request")
}
- if err := s.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := s.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
s.log.Debug().Err(err).Msg("error sending response")
}
} else {
@@ -427,10 +427,10 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := s.Request(NA(abort), NoKWArgs); err != nil { // send it ot the device
+ if err := s.Request(NA(abort), NoKWArgs()); err != nil { // send it ot the device
s.log.Debug().Err(err).Msg("error sending request")
}
- if err := s.Response(NA(abort), NoKWArgs); err != nil { // send it ot the application
+ if err := s.Response(NA(abort), NoKWArgs()); err != nil { // send it ot the application
s.log.Debug().Err(err).Msg("error sending response")
}
}
@@ -447,7 +447,7 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
// send back a segment ack
segack := readWriteModel.NewAPDUSegmentAck(true, true, s.invokeId, s.initialSequenceNumber, *s.actualWindowSize, 0)
- return s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs)
+ return s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs())
}
// add the data
@@ -464,7 +464,7 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
// send back the final segment ack
segack := readWriteModel.NewAPDUSegmentAck(false, true, s.invokeId, s.lastSequenceNumber, *s.actualWindowSize, 0)
- if err := s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs); err != nil {
+ if err := s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending response")
}
@@ -481,7 +481,7 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
if err != nil {
return errors.Wrap(err, "error parsing apdu")
}
- if err := s.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, parse))), NoKWArgs); err != nil {
+ if err := s.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, parse))), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending request")
}
} else if *apduConfirmedRequest.GetSequenceNumber() == s.initialSequenceNumber+*s.actualWindowSize {
@@ -492,7 +492,7 @@ func (s *ServerSSM) segmentedRequest(apdu PDU) error {
// send back a segment ack
segack := readWriteModel.NewAPDUSegmentAck(false, true, s.invokeId, s.initialSequenceNumber, *s.actualWindowSize, 0)
- if err := s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs); err != nil {
+ if err := s.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, segack))), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending response")
}
} else {
@@ -526,7 +526,7 @@ func (s *ServerSSM) awaitResponse(apdu PDU) error {
if err := s.setState(SSMState_ABORTED, nil); err != nil {
return errors.Wrap(err, "Error setting state to aborted")
}
- if err := s.Request(NA(apdu), NoKWArgs); err != nil { // send it ot the device
+ if err := s.Request(NA(apdu), NoKWArgs()); err != nil { // send it ot the device
s.log.Debug().Err(err).Msg("error sending request")
}
default:
@@ -545,7 +545,7 @@ func (s *ServerSSM) awaitResponseTimeout() error {
if err != nil {
return errors.Wrap(err, "error creating abort")
}
- if err := s.Request(NA(abort), NoKWArgs); err != nil {
+ if err := s.Request(NA(abort), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending request")
}
return nil
@@ -590,7 +590,7 @@ func (s *ServerSSM) segmentedResponse(apdu PDU) error {
if err := s.setState(SSMState_COMPLETED, nil); err != nil {
return errors.Wrap(err, "Error setting state to aborted")
}
- if err := s.Response(NA(apdu), NoKWArgs); err != nil { // send it ot the application
+ if err := s.Response(NA(apdu), NoKWArgs()); err != nil { // send it ot the application
s.log.Debug().Err(err).Msg("error sending response")
}
default:
diff --git a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_StateMachineAccessPoint.go b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_StateMachineAccessPoint.go
index e747a5e39b..d0d4e717b5 100644
--- a/plc4go/internal/bacnetip/bacgopes/appservice/appservice_StateMachineAccessPoint.go
+++ b/plc4go/internal/bacnetip/bacgopes/appservice/appservice_StateMachineAccessPoint.go
@@ -239,12 +239,12 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// let it run with the apdu
- if err := tr.Indication(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Indication(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error runnning indication")
}
case readWriteModel.APDUUnconfirmedRequest:
// deliver directly to the application
- if err := s.SapRequest(NA(apdu), NoKWArgs); err != nil {
+ if err := s.SapRequest(NA(apdu), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending request")
}
case readWriteModel.APDUSimpleAck, readWriteModel.APDUComplexAck, readWriteModel.APDUError, readWriteModel.APDUReject:
@@ -262,7 +262,7 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// send the packet on to the transaction
- if err := tr.Confirmation(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Confirmation(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running confirmation")
}
case readWriteModel.APDUAbort:
@@ -280,7 +280,7 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// send the packet on to the transaction
- if err := tr.Confirmation(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Confirmation(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running confirmation")
}
} else {
@@ -297,7 +297,7 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// send the packet on to the transaction
- if err := tr.Indication(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Indication(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running indication")
}
}
@@ -316,7 +316,7 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// send the packet on to the transaction
- if err := tr.Confirmation(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Confirmation(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running confirmation")
}
} else {
@@ -333,7 +333,7 @@ func (s *StateMachineAccessPoint) Confirmation(args Args, kwArgs KWArgs) error {
}
// send the packet on to the transaction
- if err := tr.Indication(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Indication(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running indication")
}
}
@@ -371,7 +371,7 @@ func (s *StateMachineAccessPoint) SapIndication(args Args, kwArgs KWArgs) error
switch _apdu := apdu.GetRootMessage().(type) {
case readWriteModel.APDUUnconfirmedRequest:
// deliver to the device
- if err := s.Request(NA(apdu), NoKWArgs); err != nil {
+ if err := s.Request(NA(apdu), NoKWArgs()); err != nil {
s.log.Debug().Err(err).Msg("error sending the request")
}
case readWriteModel.APDUConfirmedRequest:
@@ -397,7 +397,7 @@ func (s *StateMachineAccessPoint) SapIndication(args Args, kwArgs KWArgs) error
s.clientTransactions = append(s.clientTransactions, tr)
// let it run
- if err := tr.Indication(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Indication(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error doing indication")
}
default:
@@ -429,7 +429,7 @@ func (s *StateMachineAccessPoint) SapConfirmation(args Args, kwArgs KWArgs) erro
}
// pass control to the transaction
- if err := tr.Confirmation(NA(apdu), NoKWArgs); err != nil {
+ if err := tr.Confirmation(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error running confirmation")
}
default:
diff --git a/plc4go/internal/bacnetip/bacgopes/basetypes/basetypes_NameValue.go b/plc4go/internal/bacnetip/bacgopes/basetypes/basetypes_NameValue.go
index b2431a0770..c812072720 100644
--- a/plc4go/internal/bacnetip/bacgopes/basetypes/basetypes_NameValue.go
+++ b/plc4go/internal/bacnetip/bacgopes/basetypes/basetypes_NameValue.go
@@ -46,8 +46,8 @@ func NewNameValue(args Args) (*NameValue, error) {
},
}
// default to no value
- s.name = GAO[string](args, 0, "")
- s.value = GAO[any](args, 1, nil)
+ s.name, _ = GAO[string](args, 0, "")
+ s.value, _ = GAO[any](args, 1, nil)
if s.value == nil {
return s, nil
diff --git a/plc4go/internal/bacnetip/bacgopes/bvll/bvll.go b/plc4go/internal/bacnetip/bacgopes/bvll/bvll.go
index e6ea68de91..c37f3a87cd 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvll/bvll.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvll/bvll.go
@@ -48,11 +48,11 @@ var BVLPDUTypes map[uint8]func() Decoder
func init() {
BVLPDUTypes = map[uint8]func() Decoder{
BVLCIResult: func() Decoder {
- v, _ := NewResult(nil, NoArgs, NoKWArgs)
+ v, _ := NewResult(nil, NoArgs, NoKWArgs())
return v
},
BVLCIWriteBroadcastDistributionTable: func() Decoder {
- v, _ := NewWriteBroadcastDistributionTable(nil, NoArgs, NoKWArgs)
+ v, _ := NewWriteBroadcastDistributionTable(nil, NoArgs, NoKWArgs())
return v
},
BVLCIReadBroadcastDistributionTable: func() Decoder {
@@ -60,15 +60,15 @@ func init() {
return v
},
BVLCIReadBroadcastDistributionTableAck: func() Decoder {
- v, _ := NewReadBroadcastDistributionTableAck(nil, NoArgs, NoKWArgs)
+ v, _ := NewReadBroadcastDistributionTableAck(nil, NoArgs, NoKWArgs())
return v
},
BVLCIForwardedNPDU: func() Decoder {
- v, _ := NewForwardedNPDU(nil, NoArgs, NoKWArgs)
+ v, _ := NewForwardedNPDU(nil, NoArgs, NoKWArgs())
return v
},
BVLCIRegisterForeignDevice: func() Decoder {
- v, _ := NewRegisterForeignDevice(nil, NoArgs, NoKWArgs)
+ v, _ := NewRegisterForeignDevice(nil, NoArgs, NoKWArgs())
return v
},
BVLCIReadForeignDeviceTable: func() Decoder {
@@ -76,11 +76,11 @@ func init() {
return v
},
BVLCIReadForeignDeviceTableAck: func() Decoder {
- v, _ := NewReadForeignDeviceTableAck(nil, NoArgs, NoKWArgs)
+ v, _ := NewReadForeignDeviceTableAck(nil, NoArgs, NoKWArgs())
return v
},
BVLCIDeleteForeignDeviceTableEntry: func() Decoder {
- v, _ := NewDeleteForeignDeviceTableEntry(nil, NoArgs, NoKWArgs)
+ v, _ := NewDeleteForeignDeviceTableEntry(nil, NoArgs, NoKWArgs())
return v
},
BVLCIDistributeBroadcastToNetwork: func() Decoder {
diff --git a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLCI.go b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLCI.go
index 48166b7759..b7e531b59d 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLCI.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLCI.go
@@ -75,7 +75,7 @@ func NewBVLCI(args Args, kwArgs KWArgs) BVLCI {
requirements: KW[BVLCIRequirements](kwArgs, KWCompBVLCIRequirements),
}
b.DebugContents = NewDebugContents(b, "bvlciType", "bvlciFunction", "bvlciLength")
- b.PCI = NewPCI(NoArgs, kwArgs)
+ b.PCI = NewPCI(args, kwArgs)
b.AddExtraPrinters(b.PCI.(DebugContentPrinter))
if bvlc := KWO[readWriteModel.BVLC](kwArgs, KWCompRootMessage, nil); bvlc != nil {
b.bvlciFunction = bvlc.GetBvlcFunction()
diff --git a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLPDU.go b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLPDU.go
index b2c204479a..97e12e7b9b 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLPDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_BVLPDU.go
@@ -25,6 +25,7 @@ import (
"github.com/pkg/errors"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
readWriteModel "github.com/apache/plc4x/plc4go/protocols/bacnetip/readwrite/model"
"github.com/apache/plc4x/plc4go/spi"
@@ -51,6 +52,7 @@ func NewBVLPDU(args Args, kwArgs KWArgs) BVLPDU {
kwArgs[KWCompBVLCIRequirements] = b
b._BVLCI = NewBVLCI(args, kwArgs).(*_BVLCI)
b.PDUData = NewPDUData(args, kwArgs)
+ b.AddExtraPrinters(b.PDUData.(DebugContentPrinter))
if b.GetRootMessage() != nil {
data, _ := b.GetRootMessage().Serialize()
b.SetPduData(data[4:])
diff --git a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ForwardedNPDU.go b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ForwardedNPDU.go
index 663cb6e126..13c0b2a7f1 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ForwardedNPDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ForwardedNPDU.go
@@ -111,7 +111,6 @@ func (f *ForwardedNPDU) Decode(bvlpdu Arg) error {
case BVLPDU:
switch rm := bvlpdu.GetRootMessage().(type) {
case readWriteModel.BVLCForwardedNPDU:
- _, _ = bvlpdu.GetData(6) // TODO: do we really want to discard that?
addr := rm.GetIp()
port := rm.GetPort()
var portArray = make([]byte, 2)
@@ -124,6 +123,16 @@ func (f *ForwardedNPDU) Decode(bvlpdu Arg) error {
f.bvlciAddress = address
f.SetRootMessage(rm)
}
+
+ // get the address
+ data, err := bvlpdu.GetData(6)
+ if err != nil {
+ return errors.Wrap(err, "error reading data")
+ }
+ f.bvlciAddress, err = NewAddress(NA(UnpackIpAddr(data)))
+ if err != nil {
+ return errors.Wrap(err, "error creating address")
+ }
}
switch bvlpdu := bvlpdu.(type) {
case PDUData:
diff --git a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ReadForeignDeviceTableAck.go b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ReadForeignDeviceTableAck.go
index 85a47f5cfe..29c5668271 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ReadForeignDeviceTableAck.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvll/bvll_ReadForeignDeviceTableAck.go
@@ -45,7 +45,7 @@ func NewReadForeignDeviceTableAck(fdt []*FDTEntry, args Args, kwArgs KWArgs) (*R
if r.GetRootMessage() == nil {
r.SetRootMessage(readWriteModel.NewBVLCReadForeignDeviceTableAck(r.produceForeignDeviceTable()))
}
- r.bvlciFunction = BVLCIReadBroadcastDistributionTableAck
+ r.bvlciFunction = BVLCIReadForeignDeviceTableAck
r.bvlciLength = uint16(4 + 10*len(fdt))
r.bvlciFDT = fdt
return r, nil
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_AnnexJCodec.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_AnnexJCodec.go
index 4eaad496c4..03c2730fca 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_AnnexJCodec.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_AnnexJCodec.go
@@ -102,7 +102,7 @@ func (b *AnnexJCodec) Indication(args Args, kwArgs KWArgs) error {
}
// send it downstream
- return b.Request(NA(pdu), NoKWArgs)
+ return b.Request(NA(pdu), NoKWArgs())
}
func (b *AnnexJCodec) Confirmation(args Args, kwArgs KWArgs) error {
@@ -125,5 +125,5 @@ func (b *AnnexJCodec) Confirmation(args Args, kwArgs KWArgs) error {
}
// send it upstream
- return b.Response(NA(rpdu), NoKWArgs)
+ return b.Response(NA(rpdu), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPBBMD.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPBBMD.go
index 921c581f80..4fbb04780b 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPBBMD.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPBBMD.go
@@ -129,7 +129,7 @@ func (b *BIPBBMD) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("original unicast xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
} else if pdu.GetPDUDestination().AddrType == LOCAL_BROADCAST_ADDRESS { // check for broadcaste
// make an original unicast PDU
var xpdu PDU
@@ -146,7 +146,7 @@ func (b *BIPBBMD) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("original broadcast xpdu")
// send it downstream
- err = b.Request(NA(xpdu), NoKWArgs)
+ err = b.Request(NA(xpdu), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error sending request downstream")
}
@@ -174,7 +174,7 @@ func (b *BIPBBMD) Indication(args Args, kwArgs KWArgs) error {
}
xpdu.SetPDUDestination(dest)
b.log.Debug().Stringer("pduDestination", xpdu.GetPDUDestination()).Msg("sending to peer")
- if err := b.Request(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending request")
}
}
@@ -187,7 +187,7 @@ func (b *BIPBBMD) Indication(args Args, kwArgs KWArgs) error {
_debug(" - sending to foreign device: %r", xpdu.GetPDUDestination())
}
b.log.Debug().Stringer("pduDestination", xpdu.GetPDUDestination()).Msg("sending to foreign device")
- if err := b.Request(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending request")
}
}
@@ -207,10 +207,10 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
switch pdu := pdu.(type) {
case *Result: //some kind of response to a request
// send this to the service access point
- return b.SapResponse(NA(pdu), NoKWArgs)
+ return b.SapResponse(NA(pdu), NoKWArgs())
case *WriteBroadcastDistributionTable:
// build a response
- xpdu, err := NewResult(ToPtr(model.BVLCResultCode_WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK), NoArgs, NoKWArgs)
+ xpdu, err := NewResult(ToPtr(model.BVLCResultCode_WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK), NoArgs, NoKWArgs())
if err != nil {
return errors.Wrap(err, "error creating Result")
}
@@ -220,10 +220,10 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
// send it downstream
- return b.Request(NA(pdu), NoKWArgs)
+ return b.Request(NA(pdu), NoKWArgs())
case *ReadBroadcastDistributionTable:
// build a response
- xpdu, err := NewReadBroadcastDistributionTableAck(b.bbmdBDT, NoArgs, NoKWArgs)
+ xpdu, err := NewReadBroadcastDistributionTableAck(b.bbmdBDT, NoArgs, NoKWArgs())
if err != nil {
return errors.Wrap(err, "error creating Result")
}
@@ -233,10 +233,10 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
// send it downstream
- return b.Request(NA(pdu), NoKWArgs)
+ return b.Request(NA(pdu), NoKWArgs())
case *ReadBroadcastDistributionTableAck:
// send it to the service access point
- return b.SapResponse(NA(pdu), NoKWArgs)
+ return b.SapResponse(NA(pdu), NoKWArgs())
case *ForwardedNPDU:
// send it upstream if there is a network layer
if b.HasServerPeer() {
@@ -253,7 +253,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
b.log.Debug().Stringer("xpdu", xpdu).Msg("upstream xpdu")
- return b.Response(NA(xpdu), NoKWArgs)
+ return b.Response(NA(xpdu), NoKWArgs())
}
// build a forwarded NPDU to send out
@@ -281,7 +281,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - local broadcast")
}
b.log.Trace().Msg("local broadcast")
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
}
} else if pdu.GetPDUDestination().AddrType == LOCAL_BROADCAST_ADDRESS {
if _debug != nil {
@@ -299,7 +299,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - sending to foreign device: %r", xpdu.GetPDUDestination())
}
b.log.Warn().Stringer("destination", xpdu.GetPDUDestination()).Msg("sending to foreign device")
- if err := b.Request(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrapf(err, "error sending request to destination %s", xpdu.GetPDUDestination())
}
}
@@ -322,7 +322,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *ReadForeignDeviceTable:
// build a response
xpdu, err := NewReadForeignDeviceTableAck(b.bbmdFDT, NoArgs, NKW(KWCPCIDestination, pdu.GetPDUSource(), KWCPCIUserData, pdu.GetPDUUserData()))
@@ -334,10 +334,10 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *ReadForeignDeviceTableAck:
// send this to the service access point
- return b.SapResponse(NA(pdu), NoKWArgs)
+ return b.SapResponse(NA(pdu), NoKWArgs())
case *DeleteForeignDeviceTableEntry:
// process the request
stat, err := b.DeleteForeignDeviceTableEntry(pdu.GetBvlciAddress())
@@ -355,7 +355,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *DistributeBroadcastToNetwork:
// send it upstream if there is a network layer
if b.HasServerPeer() {
@@ -370,7 +370,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
b.log.Debug().Stringer("xpdu", xpdu).Msg("upstream xpdu")
- return b.Response(NA(xpdu), NoKWArgs)
+ return b.Response(NA(xpdu), NoKWArgs())
}
// build a forwarded NPDU to send out
@@ -391,7 +391,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - local broadcast")
}
b.log.Trace().Msg("local broadcast")
- err = b.Request(NA(xpdu), NoKWArgs)
+ err = b.Request(NA(xpdu), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error sending local broadcast")
}
@@ -405,7 +405,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - sending to peer: %r", xpdu.GetPDUDestination())
}
b.log.Debug().Stringer("designation", xpdu.GetPDUDestination()).Msg("sending to peer")
- err = b.Request(NA(xpdu), NoKWArgs)
+ err = b.Request(NA(xpdu), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error sending")
}
@@ -420,7 +420,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - sending to foreign device: %r", xpdu.GetPDUDestination())
}
b.log.Warn().Stringer("destination", xpdu.GetPDUDestination()).Msg("sending to foreign device")
- if err := b.Request(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrapf(err, "error sending request to destination %s", xpdu.GetPDUDestination())
}
}
@@ -440,7 +440,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
// xpdu.pduSource.addrRoute = PDUSource
b.log.Debug().Stringer("xpdu", xpdu).Msg("upstream xpdu")
- return b.Response(NA(xpdu), NoKWArgs)
+ return b.Response(NA(xpdu), NoKWArgs())
}
case *OriginalBroadcastNPDU:
// send it upstream if there is a network layer
@@ -459,7 +459,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
}
b.log.Debug().Stringer("xpdu", xpdu).Msg("upstream xpdu")
- if err := b.Response(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Response(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending local broadcast")
}
}
@@ -486,7 +486,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - sending to peer: %r", xpdu.GetPDUDestination())
}
b.log.Debug().Stringer("designation", xpdu.GetPDUDestination()).Msg("sending to peer")
- err = b.Request(NA(xpdu), NoKWArgs)
+ err = b.Request(NA(xpdu), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error sending")
}
@@ -500,7 +500,7 @@ func (b *BIPBBMD) Confirmation(args Args, kwArgs KWArgs) error {
_debug(" - sending to foreign device: %r", xpdu.GetPDUDestination())
}
b.log.Warn().Stringer("destination", xpdu.GetPDUDestination()).Msg("sending to foreign device")
- if err := b.Request(NA(xpdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(xpdu), NoKWArgs()); err != nil {
return errors.Wrapf(err, "error sending request to destination %s", xpdu.GetPDUDestination())
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPForeign.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPForeign.go
index bd86e19260..a1497aa140 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPForeign.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPForeign.go
@@ -103,7 +103,7 @@ func NewBIPForeign(localLog zerolog.Logger, opts ...func(*BIPForeign)) (*BIPFore
b.bbmdTimeToLive = nil
// used in tracking active registration timeouts
- b.registrationTimeoutTask = OneShotFunction(b.registrationExpired, NoArgs, NoKWArgs)
+ b.registrationTimeoutTask = OneShotFunction(b.registrationExpired, NoArgs, NoKWArgs())
// registration provided
if b.argAddr != nil {
@@ -173,7 +173,7 @@ func (b *BIPForeign) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case LOCAL_BROADCAST_ADDRESS:
// check the BBMD registration status, we may not be registered
if b.registrationStatus != 0 {
@@ -195,7 +195,7 @@ func (b *BIPForeign) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
default:
return errors.Errorf("invalid destination address: %s", pdu.GetPDUDestination())
}
@@ -242,7 +242,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it upstream
- return b.Response(NA(xpdu), NoKWArgs)
+ return b.Response(NA(xpdu), NoKWArgs())
case *ForwardedNPDU:
// check the BBMD registration status, we may not be registered
if b.registrationStatus != 0 {
@@ -267,13 +267,13 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it upstream
- return b.Response(NA(xpdu), NoKWArgs)
+ return b.Response(NA(xpdu), NoKWArgs())
case *ReadBroadcastDistributionTableAck:
// send this to the service access point
- return b.SapResponse(args, NoKWArgs)
+ return b.SapResponse(args, NoKWArgs())
case *ReadForeignDeviceTableAck:
// send this to the service access point
- return b.SapResponse(args, NoKWArgs)
+ return b.SapResponse(args, NoKWArgs())
case *WriteBroadcastDistributionTable:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -283,7 +283,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *ReadBroadcastDistributionTable:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_READ_BROADCAST_DISTRIBUTION_TABLE_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -293,7 +293,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *RegisterForeignDevice:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_REGISTER_FOREIGN_DEVICE_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -303,7 +303,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *ReadForeignDeviceTable:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_READ_FOREIGN_DEVICE_TABLE_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -313,7 +313,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *DeleteForeignDeviceTableEntry:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -323,7 +323,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *DistributeBroadcastToNetwork:
// build a response
xpdu, err := NewResult(ToPtr(model.BVLCResultCode_DISTRIBUTE_BROADCAST_TO_NETWORK_NAK), NoArgs, NKW(KWCPCIUserData, pdu.GetPDUUserData()))
@@ -333,7 +333,7 @@ func (b *BIPForeign) Confirmation(args Args, kwArgs KWArgs) error {
xpdu.SetPDUDestination(pdu.GetPDUSource())
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case *OriginalBroadcastNPDU:
if _debug != nil {
_debug(" - packet dropped")
@@ -375,7 +375,7 @@ func (b *BIPForeign) Unregister() {
pdu := NewPDU(NoArgs, NKW(KWCompRootMessage, model.NewBVLCRegisterForeignDevice(0), KWCPCIDestination, b.bbmdAddress))
// send it downstream
- if err := b.Request(NA(pdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(pdu), NoKWArgs()); err != nil {
b.log.Debug().Err(err).Msg("error sending request")
return
}
@@ -395,14 +395,14 @@ func (b *BIPForeign) Unregister() {
// ProcessTask is called when the registration request should be sent to the BBMD.
func (b *BIPForeign) ProcessTask() error {
- pdu, err := NewRegisterForeignDevice(b.bbmdTimeToLive, NoArgs, NoKWArgs)
+ pdu, err := NewRegisterForeignDevice(b.bbmdTimeToLive, NoArgs, NoKWArgs())
if err != nil {
return errors.Wrap(err, "")
}
pdu.SetPDUDestination(b.bbmdAddress)
// send it downstream
- if err := b.Request(NA(pdu), NoKWArgs); err != nil {
+ if err := b.Request(NA(pdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending request")
}
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPSimple.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPSimple.go
index 69469bb141..983797af25 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPSimple.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_BIPSimple.go
@@ -105,7 +105,7 @@ func (b *BIPSimple) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
case LOCAL_BROADCAST_ADDRESS:
// make an original broadcast _PDU
xpdu, err := NewOriginalBroadcastNPDU(NA(pdu), NKW(KWCPCIDestination, pdu.GetPDUDestination(), KWCPCIUserData, pdu.GetPDUUserData()))
@@ -119,7 +119,7 @@ func (b *BIPSimple) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("xpdu", xpdu).Msg("xpdu")
// send it downstream
- return b.Request(NA(xpdu), NoKWArgs)
+ return b.Request(NA(xpdu), NoKWArgs())
default:
return errors.Errorf("invalid destination address: %s", pdu.GetPDUDestination())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_UDPMultiplexer.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_UDPMultiplexer.go
index cac2c7951c..c9e65f00ea 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_UDPMultiplexer.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice_UDPMultiplexer.go
@@ -197,7 +197,7 @@ func (m *UDPMultiplexer) Indication(args Args, kwArgs KWArgs) error {
return errors.New("invalid destination address type")
}
- return m.directPort.Indication(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, pdu, KWCPCIDestination, dest))), NoKWArgs)
+ return m.directPort.Indication(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, pdu, KWCPCIDestination, dest))), NoKWArgs())
}
func (m *UDPMultiplexer) Confirmation(args Args, kwArgs KWArgs) error {
@@ -265,7 +265,7 @@ func (m *UDPMultiplexer) Confirmation(args Args, kwArgs KWArgs) error {
// TODO: we only support 0x81 at the moment
if m.AnnexJ != nil {
- return m.AnnexJ.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, pdu.GetRootMessage(), KWCPCISource, src, KWCPCIDestination, dest))), NoKWArgs)
+ return m.AnnexJ.Response(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, pdu.GetRootMessage(), KWCPCISource, src, KWCPCIDestination, dest))), NoKWArgs())
}
return nil
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexClient.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexClient.go
index 1b64be52a6..cd50bcb3ec 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexClient.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexClient.go
@@ -46,5 +46,5 @@ func _New_MultiplexClient(localLog zerolog.Logger, multiplexer *UDPMultiplexer)
}
func (m *_MultiplexClient) Confirmation(args Args, kwArgs KWArgs) error {
- return m.multiplexer.Confirmation(NA(m, args), NoKWArgs)
+ return m.multiplexer.Confirmation(NA(m, args), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexServer.go b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexServer.go
index f6c1fa389b..6178eb35b6 100644
--- a/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexServer.go
+++ b/plc4go/internal/bacnetip/bacgopes/bvllservice/bvllservice__MultiplexServer.go
@@ -46,5 +46,5 @@ func _New_MultiplexServer(localLog zerolog.Logger, multiplexer *UDPMultiplexer)
}
func (m *_MultiplexServer) Indication(args Args, kwArgs KWArgs) error {
- return m.multiplexer.Indication(NA(m, args), NoKWArgs)
+ return m.multiplexer.Indication(NA(m, args), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/comm/comm_PDU.go b/plc4go/internal/bacnetip/bacgopes/comm/comm_PDU.go
index 65cb3f5fa4..10309b1537 100644
--- a/plc4go/internal/bacnetip/bacgopes/comm/comm_PDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/comm/comm_PDU.go
@@ -41,10 +41,9 @@ type _PDU struct {
PDUData
}
-func NewCPDU(args Args, kwArgs KWArgs) CPDU {
- data := GAO[any](args, 0, nil)
+func NewCPDU(data any, kwArgs KWArgs) CPDU {
if _debug != nil {
- _debug("__init__ %r %r", args, kwArgs)
+ _debug("__init__ %r %r", data, kwArgs)
}
// pick up some optional kwArgs
@@ -63,9 +62,9 @@ func NewCPDU(args Args, kwArgs KWArgs) CPDU {
// now continue on
p := &_PDU{
- PCI: NewPCI(args, NKW(KWCPCIUserData, userData, KWCPCISource, source, destination, KWCPCIDestination, destination)),
+ PCI: NewPCI(NoArgs, NKW(KWCPCIUserData, userData, KWCPCISource, source, destination, KWCPCIDestination, destination)),
}
- p.PDUData = NewPDUData(NA(KWO[spi.Message](kwArgs, KWCompRootMessage, nil)), NoKWArgs)
+ p.PDUData = NewPDUData(NA(data), kwArgs)
return p
}
diff --git a/plc4go/internal/bacnetip/bacgopes/comp/comp.go b/plc4go/internal/bacnetip/bacgopes/comp/comp.go
index 77f481faaa..fdebc1ffe6 100644
--- a/plc4go/internal/bacnetip/bacgopes/comp/comp.go
+++ b/plc4go/internal/bacnetip/bacgopes/comp/comp.go
@@ -65,15 +65,15 @@ func GA[T any](args Args, index int) T {
}
// GetFromArgsOptional gets a value from Args or return default if not present
-func GetFromArgsOptional[T any](args Args, index int, defaultValue T) T {
+func GetFromArgsOptional[T any](args Args, index int, defaultValue T) (T, bool) {
if index > len(args)-1 {
- return defaultValue
+ return defaultValue, false
}
- return args[index].(T)
+ return args[index].(T), true
}
// GAO is a shortcut for GetFromArgsOptional
-func GAO[T any](args Args, index int, defaultValue T) T {
+func GAO[T any](args Args, index int, defaultValue T) (T, bool) {
return GetFromArgsOptional(args, index, defaultValue)
}
@@ -92,7 +92,7 @@ func (a Args) String() string {
case []byte:
ea = Btox(tea, ".")
case fmt.Stringer:
- if tea != nil {
+ if !IsNil(tea) {
teaString := tea.String()
ea = teaString
if strings.Contains(teaString, "\n") {
@@ -110,7 +110,7 @@ func (a Args) String() string {
type KWArgs map[KnownKey]any
-var NoKWArgs = NewKWArgs()
+var NoKWArgs = NewKWArgs
func NewKWArgs(kw ...any) KWArgs {
if len(kw)%2 != 0 {
@@ -193,10 +193,9 @@ const (
////
// comm.PCI related keys
+ KWCPCIUserData = KnownKey("user_data")
KWCPCISource = KnownKey("source")
KWCPCIDestination = KnownKey("destination")
- KWCPCIData = KnownKey("data")
- KWCPCIUserData = KnownKey("user_data")
////
// PCI related keys
@@ -242,9 +241,9 @@ const (
KWCompBVLCIRequirements = KnownKey("compBVLCIRequirements")
)
-// Nothing give NoArgs and NoKWArgs
+// Nothing give NoArgs and NoKWArgs()
func Nothing() (Args, KWArgs) {
- return NoArgs, NoKWArgs
+ return NoArgs, NoKWArgs()
}
// An PriorityItem is something we manage in a priority queue.
@@ -473,3 +472,29 @@ func Try1[T any](f func() (T, error)) (v T, err error) {
}()
return f()
}
+
+// IsNil when nil checks aren'T enough
+func IsNil(v interface{}) bool {
+ if v == nil {
+ return true
+ }
+ valueOf := reflect.ValueOf(v)
+ switch valueOf.Kind() {
+ case reflect.Ptr, reflect.Interface, reflect.Slice, reflect.Map, reflect.Func, reflect.Chan:
+ return valueOf.IsNil()
+ default:
+ return false
+ }
+}
+
+func ToStringers[I any](in []I) []fmt.Stringer {
+ return ConvertSlice[I, fmt.Stringer](in)
+}
+
+func ConvertSlice[I any, O any](in []I) (out []O) {
+ out = make([]O, len(in))
+ for i, v := range in {
+ out[i] = any(v).(O)
+ }
+ return
+}
diff --git a/plc4go/internal/bacnetip/bacgopes/constructeddata/constructeddata.go b/plc4go/internal/bacnetip/bacgopes/constructeddata/constructeddata.go
index 29daf3f718..277449e6df 100644
--- a/plc4go/internal/bacnetip/bacgopes/constructeddata/constructeddata.go
+++ b/plc4go/internal/bacnetip/bacgopes/constructeddata/constructeddata.go
@@ -231,7 +231,7 @@ func (a *Sequence) Encode(arg Arg) error {
tagList.Append(openingTag)
}
- helper, err := element.GetKlass()(NA(value), NoKWArgs)
+ helper, err := element.GetKlass()(NA(value), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error klass element")
}
@@ -250,7 +250,7 @@ func (a *Sequence) Encode(arg Arg) error {
tagList.Append(closingTag)
}
} else if isAtomic {
- helper, err := element.GetKlass()(NA(value), NoKWArgs)
+ helper, err := element.GetKlass()(NA(value), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error klass element")
}
@@ -383,7 +383,7 @@ func (a *Sequence) Decode(arg Arg) error {
tagList.Pop()
// a helper cooperates between the atomic value and the tag
- helper, err := element.GetKlass()(NA(tag), NoKWArgs)
+ helper, err := element.GetKlass()(NA(tag), NoKWArgs())
if err != nil {
return errors.Wrap(err, "error creating helper")
}
diff --git a/plc4go/internal/bacnetip/bacgopes/debugging/debugging.go b/plc4go/internal/bacnetip/bacgopes/debugging/debugging.go
index 174f375014..231db5e85a 100644
--- a/plc4go/internal/bacnetip/bacgopes/debugging/debugging.go
+++ b/plc4go/internal/bacnetip/bacgopes/debugging/debugging.go
@@ -96,6 +96,12 @@ func (d *DebugContents) AddDebugContents(debuggable Debuggable, contents ...stri
}
func (d *DebugContents) Format(s fmt.State, v rune) {
+ if d == nil {
+ if _debug != nil {
+ _debug("nil debug attempt") // TODO: this should no happen
+ }
+ return
+ }
switch v {
case 's', 'v':
// TODO: check if that hacky hacky makes sense
@@ -347,7 +353,7 @@ func (d *DefaultRFormatter) Format(s fmt.State, v rune) {
for _, printer := range d.extraPrinters {
printer.PrintDebugContents(1, s, nil)
}
- case 'v':
+ case 'v', 's':
_, _ = s.Write([]byte(d.header))
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/iocb/iocb_IOQController.go b/plc4go/internal/bacnetip/bacgopes/iocb/iocb_IOQController.go
index 35067e6c62..5f59b7386c 100644
--- a/plc4go/internal/bacnetip/bacgopes/iocb/iocb_IOQController.go
+++ b/plc4go/internal/bacnetip/bacgopes/iocb/iocb_IOQController.go
@@ -188,7 +188,7 @@ func (i *IOQController) CompleteIO(iocb IOCBContract, msg PDU) error {
i.state = IOQControllerStates_CTRL_WAITING
i.stateLog.Debug().Timestamp().Str("name", i.name).Msg("waiting")
- task := FunctionTask(i._waitTrigger, NoArgs, NoKWArgs)
+ task := FunctionTask(i._waitTrigger, NoArgs, NoKWArgs())
task.InstallTask(WithInstallTaskOptionsDelta(i.waitTime))
} else {
// change our state
@@ -196,7 +196,7 @@ func (i *IOQController) CompleteIO(iocb IOCBContract, msg PDU) error {
i.stateLog.Debug().Timestamp().Str("name", i.name).Msg("idle")
// look for more to do
- Deferred(i._trigger, NoArgs, NoKWArgs)
+ Deferred(i._trigger, NoArgs, NoKWArgs())
}
return nil
@@ -225,7 +225,7 @@ func (i *IOQController) AbortIO(iocb IOCBContract, err error) error {
i.stateLog.Debug().Timestamp().Str("name", i.name).Msg("idle")
// look for more to do
- Deferred(i._trigger, NoArgs, NoKWArgs)
+ Deferred(i._trigger, NoArgs, NoKWArgs())
return nil
}
@@ -262,7 +262,7 @@ func (i *IOQController) _trigger(_ Args, _ KWArgs) error {
// if we're idle, call again
if i.state == IOQControllerStates_CTRL_IDLE {
- Deferred(i._trigger, NoArgs, NoKWArgs)
+ Deferred(i._trigger, NoArgs, NoKWArgs())
}
return nil
}
diff --git a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkAdapter.go b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkAdapter.go
index fe19cada35..7ab3ca7bfc 100644
--- a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkAdapter.go
+++ b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkAdapter.go
@@ -105,7 +105,7 @@ func (n *NetworkAdapter) ProcessNPDU(npdu NPDU) error {
if err := npdu.Encode(pdu); err != nil {
return errors.Wrap(err, "error encoding NPDU")
}
- return n.Request(NA(pdu), NoKWArgs)
+ return n.Request(NA(pdu), NoKWArgs())
}
func (n *NetworkAdapter) EstablishConnectionToNetwork(net any) error {
diff --git a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceAccessPoint.go b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceAccessPoint.go
index 4ad12a6956..f213c1c585 100644
--- a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceAccessPoint.go
+++ b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceAccessPoint.go
@@ -357,7 +357,7 @@ func (n *NetworkServiceAccessPoint) Indication(args Args, kwArgs KWArgs) error {
// send it to all the adapters
for _, adapter := range n.adapters {
- if err := n.SapIndication(NA(adapter, xnpdu), NoKWArgs); err != nil {
+ if err := n.SapIndication(NA(adapter, xnpdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error doing SapIndication")
}
}
@@ -504,7 +504,7 @@ func (n *NetworkServiceAccessPoint) ProcessNPDU(adapter *NetworkAdapter, npdu NP
n.log.Debug().Stringer("pduDestination", apdu.GetPDUDestination()).Msg("apdu.pduDestination")
// pass upstream to the application layer
- if err := n.Response(NA(apdu), NoKWArgs); err != nil {
+ if err := n.Response(NA(apdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error passing response")
}
}
@@ -526,7 +526,7 @@ func (n *NetworkServiceAccessPoint) ProcessNPDU(adapter *NetworkAdapter, npdu NP
}
// pass to the service element
- if err := n.SapRequest(NA(adapter, xpdu), NoKWArgs); err != nil {
+ if err := n.SapRequest(NA(adapter, xpdu), NoKWArgs()); err != nil {
return errors.Wrap(err, "error passing sap _request")
}
}
@@ -658,7 +658,7 @@ func (n *NetworkServiceAccessPoint) ProcessNPDU(adapter *NetworkAdapter, npdu NP
}
// pass this along as if it came from the NSE
- if err := n.SapIndication(NA(xadapter, NewPDU(NoArgs, NKW(KWCompRootMessage, xnpdu, KWCPCIDestination, pduDestination))), NoKWArgs); err != nil {
+ if err := n.SapIndication(NA(xadapter, NewPDU(NoArgs, NKW(KWCompRootMessage, xnpdu, KWCPCIDestination, pduDestination))), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending indication")
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceElement.go b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceElement.go
index 39aeaa711f..3000458dba 100644
--- a/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceElement.go
+++ b/plc4go/internal/bacnetip/bacgopes/netservice/netservice_NetworkServiceElement.go
@@ -69,7 +69,7 @@ func NewNetworkServiceElement(localLog zerolog.Logger, opts ...func(*NetworkServ
// if starting up is enabled defer our startup function
if !n.argStartupDisabled {
- Deferred(n.Startup, NoArgs, NoKWArgs)
+ Deferred(n.Startup, NoArgs, NoKWArgs())
}
return n, nil
}
@@ -130,7 +130,7 @@ func (n *NetworkServiceElement) Startup(_ Args, _ KWArgs) error {
// sap.router_info_cache.update_router_info(adapter.adapterNet, adapter.adapterAddr, netlist)
// send an announcement
- if err := n.iamRouterToNetwork(NA(adapter, nil, netlist), NoKWArgs); err != nil {
+ if err := n.iamRouterToNetwork(NA(adapter, nil, netlist), NoKWArgs()); err != nil {
n.log.Debug().Err(err).Msg("I-Am-Router-To-Network failed")
}
}
@@ -222,9 +222,9 @@ func (n *NetworkServiceElement) Confirmation(args Args, kwArgs KWArgs) error {
}
func (n *NetworkServiceElement) iamRouterToNetwork(args Args, _ KWArgs) error {
- adapter := GAO[*NetworkAdapter](args, 0, nil)
- destination := GAO[*Address](args, 1, nil)
- network := GAO[[]*uint16](args, 2, nil)
+ adapter, _ := GAO[*NetworkAdapter](args, 0, nil)
+ destination, _ := GAO[*Address](args, 1, nil)
+ network, _ := GAO[[]*uint16](args, 2, nil)
n.log.Debug().Stringer("adapter", adapter).Stringer("destination", destination).Interface("network", network).Msg("IamRouterToNetwork")
// reference the service access point
@@ -328,7 +328,7 @@ func (n *NetworkServiceElement) iamRouterToNetwork(args Args, _ KWArgs) error {
n.log.Debug().Stringer("adapter", adapter).Stringer("iamrtn", iamrtn).Msg("adapter, iamrtn")
// send it back
- if err := n.Request(NA(adapter, iamrtn), NoKWArgs); err != nil {
+ if err := n.Request(NA(adapter, iamrtn), NoKWArgs()); err != nil {
return errors.Wrap(err, "error requesting NPDU")
}
}
@@ -378,7 +378,7 @@ func (n *NetworkServiceElement) WhoIsRouteToNetwork(adapter *NetworkAdapter, npd
iamrtn.SetPDUDestination(npdu.GetPDUSource())
// send it back
- if err := n.Response(NA(adapter, iamrtn), NoKWArgs); err != nil {
+ if err := n.Response(NA(adapter, iamrtn), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sendinf the response")
}
}
@@ -407,7 +407,7 @@ func (n *NetworkServiceElement) WhoIsRouteToNetwork(adapter *NetworkAdapter, npd
iamrtn.SetPDUDestination(npdu.GetPDUSource())
// send it back
- return n.Response(NA(adapter, iamrtn), NoKWArgs)
+ return n.Response(NA(adapter, iamrtn), NoKWArgs())
}
// look for routing information from the network of one of our
@@ -440,7 +440,7 @@ func (n *NetworkServiceElement) WhoIsRouteToNetwork(adapter *NetworkAdapter, npd
iamrtn.SetPDUDestination(npdu.GetPDUSource())
// send it back
- return n.Response(NA(adapter, iamrtn), NoKWArgs)
+ return n.Response(NA(adapter, iamrtn), NoKWArgs())
} else {
n.log.Trace().Msg("forwarding to other adapters")
@@ -466,7 +466,7 @@ func (n *NetworkServiceElement) WhoIsRouteToNetwork(adapter *NetworkAdapter, npd
for _, xadapter := range sap.adapters {
if xadapter != adapter {
n.log.Debug().Stringer("xadapter", xadapter).Msg("Sending to adapter")
- if err := n.Request(NA(xadapter, whoisrtn), NoKWArgs); err != nil {
+ if err := n.Request(NA(xadapter, whoisrtn), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending Who is router to network")
}
}
@@ -505,7 +505,7 @@ func (n *NetworkServiceElement) IAmRouterToNetwork(adapter *NetworkAdapter, npdu
for _, xadapter := range sap.adapters {
if xadapter != adapter {
n.log.Debug().Stringer("xadapter", xadapter).Msg("Sending to adapter")
- if err := n.Request(NA(xadapter, iamrtn), NoKWArgs); err != nil {
+ if err := n.Request(NA(xadapter, iamrtn), NoKWArgs()); err != nil {
return errors.Wrap(err, "error sending I am router to network")
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPCI.go b/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPCI.go
index b6ea4986ea..2dc01778ce 100644
--- a/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPCI.go
+++ b/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPCI.go
@@ -87,7 +87,7 @@ func NewNPCI(nlm readWriteModel.NLM, apdu readWriteModel.APDU) NPCI {
npdu, _ := n.buildNPDU(0, nil, nil, false, readWriteModel.NPDUNetworkPriority_NORMAL_MESSAGE, nlm, apdu)
nkw := NKW(KWCompRootMessage, npdu)
if npdu == nil {
- nkw = NoKWArgs
+ nkw = NoKWArgs()
}
n.PCI = NewPCI(NoArgs, nkw) // TODO: convert to args so we can solve all those todos
n.AddExtraPrinters(n.PCI.(DebugContentPrinter))
diff --git a/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPDU.go b/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPDU.go
index ba6fcd3e22..b9301af40d 100644
--- a/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/npdu/npdu_NPDU.go
@@ -52,7 +52,8 @@ var _ = (NPDU)(nil)
func NewNPDU(nlm readWriteModel.NLM, apdu readWriteModel.APDU) (NPDU, error) {
n := &_NPDU{}
n._NPCI = NewNPCI(nlm, apdu).(*_NPCI)
- n.PDUData = NewPDUData(NoArgs, NoKWArgs)
+ n.PDUData = NewPDUData(NoArgs, NoKWArgs())
+ n.AddExtraPrinters(n.PDUData.(DebugContentPrinter))
if n.GetRootMessage() != nil {
data, _ := n.GetRootMessage().Serialize()
n.SetPduData(data)
diff --git a/plc4go/internal/bacnetip/bacgopes/pdu/comm_PDUData.go b/plc4go/internal/bacnetip/bacgopes/pdu/comm_PDUData.go
index db63bcdfa8..b0d60070a3 100644
--- a/plc4go/internal/bacnetip/bacgopes/pdu/comm_PDUData.go
+++ b/plc4go/internal/bacnetip/bacgopes/pdu/comm_PDUData.go
@@ -55,15 +55,15 @@ type _PDUData struct {
var _ PDUData = (*_PDUData)(nil)
func NewPDUData(args Args, kwArgs KWArgs) PDUData {
- data := GAO[any](args, 0, nil)
+ data, ok := GAO[any](args, 0, nil)
+ if ok {
+ args = args[1:]
+ }
if _debug != nil {
_debug("__init__ %r %r %r", data, args, kwArgs)
}
p := &_PDUData{}
- if len(args) == 0 {
- return p
- }
- switch data := args[0].(type) {
+ switch data := data.(type) {
case []byte:
p.data = make([]byte, len(data))
copy(p.data, data)
@@ -173,5 +173,8 @@ func (d *_PDUData) PrintDebugContents(indent int, file io.Writer, _ids []uintptr
}
func (d *_PDUData) String() string {
+ if d == nil {
+ return ""
+ }
return Btox(d.data, ".")
}
diff --git a/plc4go/internal/bacnetip/bacgopes/pdu/pdu_PDU.go b/plc4go/internal/bacnetip/bacgopes/pdu/pdu_PDU.go
index 8229f06ee4..e72e6c8628 100644
--- a/plc4go/internal/bacnetip/bacgopes/pdu/pdu_PDU.go
+++ b/plc4go/internal/bacnetip/bacgopes/pdu/pdu_PDU.go
@@ -63,6 +63,15 @@ func (p *_PDU) DeepCopy() any {
return p.deepCopy()
}
+func (p *_PDU) Format(s fmt.State, v rune) {
+ switch v {
+ case 's':
+ _, _ = fmt.Fprint(s, p.String())
+ default:
+ p.DefaultRFormatter.Format(s, v)
+ }
+}
+
func (p *_PDU) String() string {
return fmt.Sprintf("<%T %s -> %s : %s>", p, p.GetPDUSource(), p.GetPDUDestination(), p._PDUData)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/service/service_device_WhoIsIAmServices.go b/plc4go/internal/bacnetip/bacgopes/service/service_device_WhoIsIAmServices.go
index 0933a26fb7..05577400ee 100644
--- a/plc4go/internal/bacnetip/bacgopes/service/service_device_WhoIsIAmServices.go
+++ b/plc4go/internal/bacnetip/bacgopes/service/service_device_WhoIsIAmServices.go
@@ -108,7 +108,7 @@ func (w *WhoIsIAmServices) WhoIs(lowLimit, highLimit *uint, address *Address) er
w.log.Debug().Stringer("whoIs", whoIs).Msg("WhoIs")
- return w._requirements.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, whoIs, KWCPCIDestination, address))), NoKWArgs)
+ return w._requirements.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, whoIs, KWCPCIDestination, address))), NoKWArgs())
}
// DoWhoIsRequest respond to a Who-Is request.
@@ -196,7 +196,7 @@ func (w *WhoIsIAmServices) IAm(address *Address) error {
iAm.SetPDUDestination(address)
w.log.Debug().Stringer("iAm", iAm).Msg("IAm")
- return w._requirements.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, iAm, KWCPCIDestination, address))), NoKWArgs)
+ return w._requirements.Request(NA(NewPDU(NoArgs, NKW(KWCompRootMessage, iAm, KWCPCIDestination, address))), NoKWArgs())
}
// DoIAmRequest responds to an I-Am request.
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/quick/bvll.go b/plc4go/internal/bacnetip/bacgopes/tests/quick/bvll.go
index 00d79f194e..2c80fe6085 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/quick/bvll.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/quick/bvll.go
@@ -27,7 +27,7 @@ import (
)
func Result(i uint16) *bvll.Result {
- result, err := bvll.NewResult(ToPtr(readWriteModel.BVLCResultCode(i)), NoArgs, NoKWArgs)
+ result, err := bvll.NewResult(ToPtr(readWriteModel.BVLCResultCode(i)), NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
@@ -35,7 +35,7 @@ func Result(i uint16) *bvll.Result {
}
func WriteBroadcastDistributionTable(bdt ...*pdu.Address) *bvll.WriteBroadcastDistributionTable {
- writeBroadcastDistributionTable, err := bvll.NewWriteBroadcastDistributionTable(bdt, NoArgs, NoKWArgs)
+ writeBroadcastDistributionTable, err := bvll.NewWriteBroadcastDistributionTable(bdt, NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
@@ -51,7 +51,7 @@ func ReadBroadcastDistributionTable() *bvll.ReadBroadcastDistributionTable {
}
func ReadBroadcastDistributionTableAck(bdt ...*pdu.Address) *bvll.ReadBroadcastDistributionTableAck {
- readBroadcastDistributionTable, err := bvll.NewReadBroadcastDistributionTableAck(bdt, NoArgs, NoKWArgs)
+ readBroadcastDistributionTable, err := bvll.NewReadBroadcastDistributionTableAck(bdt, NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
@@ -59,7 +59,7 @@ func ReadBroadcastDistributionTableAck(bdt ...*pdu.Address) *bvll.ReadBroadcastD
}
func ForwardedNPDU(addr *pdu.Address, pduBytes []byte) *bvll.ForwardedNPDU {
- npdu, err := bvll.NewForwardedNPDU(addr, NA(pduBytes), NoKWArgs)
+ npdu, err := bvll.NewForwardedNPDU(addr, NA(pduBytes), NoKWArgs())
if err != nil {
panic(err)
}
@@ -67,15 +67,15 @@ func ForwardedNPDU(addr *pdu.Address, pduBytes []byte) *bvll.ForwardedNPDU {
}
func RegisterForeignDevice(ttl uint16) *bvll.RegisterForeignDevice {
- registerForeignDevice, err := bvll.NewRegisterForeignDevice(&ttl, NoArgs, NoKWArgs)
+ registerForeignDevice, err := bvll.NewRegisterForeignDevice(&ttl, NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
return registerForeignDevice
}
-func ReadForeignDeviceTable() *bvll.ReadForeignDeviceTable {
- readForeignDeviceTable, err := bvll.NewReadForeignDeviceTable(Nothing())
+func ReadForeignDeviceTable(addr *pdu.Address) *bvll.ReadForeignDeviceTable {
+ readForeignDeviceTable, err := bvll.NewReadForeignDeviceTable(NoArgs, NKW(KWCPCIDestination, addr))
if err != nil {
panic(err)
}
@@ -87,7 +87,7 @@ func FDTEntry() (entry *bvll.FDTEntry) {
}
func ReadForeignDeviceTableAck(fdts ...*bvll.FDTEntry) *bvll.ReadForeignDeviceTableAck {
- readForeignDeviceTableAck, err := bvll.NewReadForeignDeviceTableAck(fdts, NoArgs, NoKWArgs)
+ readForeignDeviceTableAck, err := bvll.NewReadForeignDeviceTableAck(fdts, NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
@@ -95,7 +95,7 @@ func ReadForeignDeviceTableAck(fdts ...*bvll.FDTEntry) *bvll.ReadForeignDeviceTa
}
func DeleteForeignDeviceTableEntry(address *pdu.Address) *bvll.DeleteForeignDeviceTableEntry {
- deleteForeignDeviceTableEntry, err := bvll.NewDeleteForeignDeviceTableEntry(address, NoArgs, NoKWArgs)
+ deleteForeignDeviceTableEntry, err := bvll.NewDeleteForeignDeviceTableEntry(address, NoArgs, NoKWArgs())
if err != nil {
panic(err)
}
@@ -103,7 +103,7 @@ func DeleteForeignDeviceTableEntry(address *pdu.Address) *bvll.DeleteForeignDevi
}
func DistributeBroadcastToNetwork(pduBytes []byte) *bvll.DistributeBroadcastToNetwork {
- distributeBroadcastToNetwork, err := bvll.NewDistributeBroadcastToNetwork(NA(pduBytes), NoKWArgs)
+ distributeBroadcastToNetwork, err := bvll.NewDistributeBroadcastToNetwork(NA(pduBytes), NoKWArgs())
if err != nil {
panic(err)
}
@@ -111,7 +111,7 @@ func DistributeBroadcastToNetwork(pduBytes []byte) *bvll.DistributeBroadcastToNe
}
func OriginalUnicastNPDU(pduBytes []byte) *bvll.OriginalUnicastNPDU {
- npdu, err := bvll.NewOriginalUnicastNPDU(NA(pduBytes), NoKWArgs)
+ npdu, err := bvll.NewOriginalUnicastNPDU(NA(pduBytes), NoKWArgs())
if err != nil {
panic(err)
}
@@ -119,7 +119,7 @@ func OriginalUnicastNPDU(pduBytes []byte) *bvll.OriginalUnicastNPDU {
}
func OriginalBroadcastNPDU(pduBytes []byte) *bvll.OriginalBroadcastNPDU {
- npdu, err := bvll.NewOriginalBroadcastNPDU(NA(pduBytes), NoKWArgs)
+ npdu, err := bvll.NewOriginalBroadcastNPDU(NA(pduBytes), NoKWArgs())
if err != nil {
panic(err)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/quick/pdu.go b/plc4go/internal/bacnetip/bacgopes/tests/quick/pdu.go
index 10c3f362ab..dc3f936684 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/quick/pdu.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/quick/pdu.go
@@ -38,8 +38,8 @@ func AddressTuple[L any, R any](l L, r R) *pdu.AddressTuple[L, R] {
func PDUData(args ...any) pdu.PDUData {
if args == nil {
- return pdu.NewPDUData(NoArgs, NoKWArgs)
+ return pdu.NewPDUData(NoArgs, NoKWArgs())
} else {
- return pdu.NewPDUData(NA(args[0].([]byte)), NoKWArgs)
+ return pdu.NewPDUData(NA(args[0].([]byte)), NoKWArgs())
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/settings.go b/plc4go/internal/bacnetip/bacgopes/tests/settings.go
deleted file mode 100644
index 2b5ac5cf22..0000000000
--- a/plc4go/internal/bacnetip/bacgopes/tests/settings.go
+++ /dev/null
@@ -1,31 +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
- *
- * https://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 tests
-
-import "os"
-
-var (
- // LogTimeMachine enables logging for the time machine
- LogTimeMachine bool
-)
-
-func init() {
- LogTimeMachine = os.Getenv("LogTimeMachine") == "true"
-}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine.go b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine.go
index ebd4a10739..7592cbcb52 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine.go
@@ -32,6 +32,7 @@ import (
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/npdu"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests"
"github.com/apache/plc4x/plc4go/spi/utils"
)
@@ -192,7 +193,7 @@ func MatchPdu(localLog zerolog.Logger, pdu any, pduType any, pduAttrs map[KnownK
attrLog.Trace().Msg("doesn't match")
return false
}
- case KWCPCIData:
+ case KWTestPDUData:
got := pdu.(PDU).GetPduData()
var want []byte
switch attrValue := attrValue.(type) {
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_StateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_StateMachine.go
index 58cec64a23..bde4a2af9b 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_StateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_StateMachine.go
@@ -60,7 +60,7 @@ type StateMachineContract interface {
EventSet(id string)
Run() error
Reset()
- GetTransactionLog() []string
+ GetTransactionLog() []TransactionLogEntry
GetCurrentState() State
GetUnexpectedReceiveState() State
GetStartState() State
@@ -82,7 +82,7 @@ type StateMachineRequirements interface {
Send(args Args, kwArgs KWArgs) error
}
-//go:generate plc4xGenerator -type=stateMachine -prefix=state_machine
+//go:generate plc4xGenerator -type=stateMachine -prefix=state_machine_
type stateMachine struct {
requirements StateMachineRequirements `ignore:"true"`
@@ -107,11 +107,20 @@ type stateMachine struct {
isFailState *bool
stateTransitioning int
currentState State
- transactionLog []string
+ transactionLog []TransactionLogEntry
log zerolog.Logger
}
+type TransactionLogEntry struct {
+ Direction string
+ Pdu PDU
+}
+
+func (t TransactionLogEntry) String() string {
+ return t.Pdu.String() + t.Pdu.String()
+}
+
var _ StateMachineContract = (*stateMachine)(nil)
// NewStateMachine creates a new state machine. Make sure to call the init function (Init must be called after a new (can't be done in constructor as initialization is then not yet finished))
@@ -162,11 +171,11 @@ func NewStateMachine(localLog zerolog.Logger, requirements StateMachineRequireme
s.transitionQueue = make(chan PDU, 100)
- s.stateTimeoutTask = NewTimeoutTask(s.StateTimeout, NoArgs, NoKWArgs, nil)
+ s.stateTimeoutTask = NewTimeoutTask(s.StateTimeout, NoArgs, NoKWArgs(), nil)
if s.timeout != 0 {
s.timeoutState = s.NewState("state machine timeout").Fail("")
- s.timeoutTask = NewTimeoutTask(s.StateMachineTimeout, NoArgs, NoKWArgs, s.stateMachineTimeout)
+ s.timeoutTask = NewTimeoutTask(s.StateMachineTimeout, NoArgs, NoKWArgs(), s.stateMachineTimeout)
}
}
}
@@ -233,7 +242,7 @@ func (s *stateMachine) setMachineGroup(machineGroup *StateMachineGroup) {
s.machineGroup = machineGroup
}
-func (s *stateMachine) GetTransactionLog() []string {
+func (s *stateMachine) GetTransactionLog() []TransactionLogEntry {
return s.transactionLog
}
@@ -275,7 +284,7 @@ func (s *stateMachine) Reset() {
// no current state, empty transaction log
s.currentState = nil
- s.transactionLog = make([]string, 0)
+ s.transactionLog = make([]TransactionLogEntry, 0)
// we are not starting up
s.startupFlag = false
@@ -599,14 +608,14 @@ func (s *stateMachine) gotoState(state State) error {
}
func (s *stateMachine) BeforeSend(pdu PDU) {
- s.transactionLog = append(s.transactionLog, fmt.Sprintf(">>> %v", pdu))
+ s.transactionLog = append(s.transactionLog, TransactionLogEntry{">>>", pdu})
}
func (s *stateMachine) AfterSend(pdu PDU) {
}
func (s *stateMachine) BeforeReceive(pdu PDU) {
- s.transactionLog = append(s.transactionLog, fmt.Sprintf("<<< %v", pdu))
+ s.transactionLog = append(s.transactionLog, TransactionLogEntry{"<<< %s", pdu})
}
func (s *stateMachine) Receive(args Args, kwArgs KWArgs) error {
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machinestateMachine_plc4xgen.go b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_stateMachine_plc4xgen.go
similarity index 97%
rename from plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machinestateMachine_plc4xgen.go
rename to plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_stateMachine_plc4xgen.go
index 8592174079..abf92d3be1 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machinestateMachine_plc4xgen.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/state_machine/state_machine_stateMachine_plc4xgen.go
@@ -17,7 +17,7 @@
* under the License.
*/
-// Code generated by "plc4xGenerator -type=stateMachine -prefix=state_machine"; DO NOT EDIT.
+// Code generated by "plc4xGenerator -type=stateMachine -prefix=state_machine_"; DO NOT EDIT.
package state_machine
@@ -177,7 +177,9 @@ func (d *stateMachine) SerializeWithWriteBuffer(ctx context.Context, writeBuffer
return err
}
for _, elem := range d.transactionLog {
- if err := writeBuffer.WriteString("", uint32(len(elem)*8), elem); err != nil {
+ _value := fmt.Sprintf("%v", elem)
+
+ if err := writeBuffer.WriteString("transactionLog", uint32(len(_value)*8), _value); err != nil {
return err
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPSimpleApplicationLayerStateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPSimpleApplicationLayerStateMachine.go
index 94d5dea6f3..9a9903a725 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPSimpleApplicationLayerStateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPSimpleApplicationLayerStateMachine.go
@@ -150,10 +150,10 @@ func NewBIPSimpleApplicationLayerStateMachine(localLog zerolog.Logger, address s
func (b *BIPSimpleApplicationLayerStateMachine) Indication(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("Args", args).Stringer("KWArgs", kwArgs).Msg("Indication")
- return b.Receive(args, NoKWArgs)
+ return b.Receive(args, NoKWArgs())
}
func (b *BIPSimpleApplicationLayerStateMachine) Confirmation(args Args, kwArgs KWArgs) error {
b.log.Debug().Stringer("Args", args).Stringer("KWArgs", kwArgs).Msg("Confirmation")
- return b.Receive(args, NoKWArgs)
+ return b.Receive(args, NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPStateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPStateMachine.go
index a95f3f9c08..dba5c21a75 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPStateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_BIPStateMachine.go
@@ -46,6 +46,9 @@ type BIPStateMachine struct {
func NewBIPStateMachine(localLog zerolog.Logger, address string, vlan *IPNetwork) (*BIPStateMachine, error) {
b := &BIPStateMachine{}
+ if _debug != nil {
+ _debug("__init__ %r %r", address, vlan)
+ }
var err error
b.ClientStateMachine, err = NewClientStateMachine(localLog, WithClientStateMachineName(address), WithClientStateMachineExtension(b))
if err != nil {
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_FauxMultiplexer.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_FauxMultiplexer.go
index de13900290..17c805d75e 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_FauxMultiplexer.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/helpers_FauxMultiplexer.go
@@ -117,7 +117,7 @@ func (s *FauxMultiplexer) Indication(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "error creating address")
}
- return s.Request(NA(NewPDU(NewArgs(pdu), NKW(KWCPCISource, unicast, KWCPCIDestination, dest))), NoKWArgs)
+ return s.Request(NA(NewPDU(NewArgs(pdu), NKW(KWCPCISource, unicast, KWCPCIDestination, dest))), NoKWArgs())
}
func (s *FauxMultiplexer) Confirmation(args Args, kwArgs KWArgs) error {
@@ -144,5 +144,5 @@ func (s *FauxMultiplexer) Confirmation(args Args, kwArgs KWArgs) error {
dest = pdu.GetPDUDestination()
}
- return s.Response(NA(NewPDU(NA(pdu), NKW(KWCompRootMessage, pdu, KWCPCISource, src, KWCPCIDestination, dest))), NoKWArgs)
+ return s.Response(NA(NewPDU(NA(pdu), NKW(KWCompRootMessage, pdu, KWCPCISource, src, KWCPCIDestination, dest))), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_bbmd_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_bbmd_test.go
index 4360033c05..fd184441cc 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_bbmd_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_bbmd_test.go
@@ -104,7 +104,7 @@ func (t *TBNetwork) Run(timeLimit time.Duration) {
for _, machine := range t.StateMachineGroup.GetStateMachines() {
t.log.Debug().Stringer("machine", machine).Msg("Machine:")
for _, s := range machine.GetTransactionLog() {
- t.log.Debug().Str("logEntry", s).Msg("logEntry")
+ t.log.Debug().Stringer("logEntry", s).Msg("logEntry")
}
}
@@ -184,7 +184,7 @@ func (suite *NonBBMDSuite) TestRegisterFail() {
func (suite *NonBBMDSuite) TestReadFail() {
// read the broadcast distribution table, get a nack
- readForeignDeviceTable := quick.ReadForeignDeviceTable()
+ readForeignDeviceTable := quick.ReadForeignDeviceTable(nil)
readForeignDeviceTable.SetPDUDestination(suite.iut.address) // TODO: upstream does this inline
suite.td.GetStartState().Doc("1-4-0").
Send(readForeignDeviceTable, nil).Doc("1-4-1").
@@ -265,14 +265,14 @@ func TestBBMD(t *testing.T) {
// broadcast a forwarded NPDU
td.GetStartState().Doc("2-1-0").
Send(quick.WhoIsRequest(NKW(KWCPCIDestination, NewLocalBroadcast(nil))), nil).Doc("2-1-1").
- Receive(NA((*IAmRequest)(nil)), NoKWArgs).Doc("2-1-2").
+ Receive(NA((*IAmRequest)(nil)), NoKWArgs()).Doc("2-1-2").
Success("")
// listen for the directed broadcast, then the original unicast,
// then fail if there's anything else
listener.GetStartState().Doc("2-2-0").
- Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs).Doc("2-2-1").
- Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs).Doc("2-2-2").
+ Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs()).Doc("2-2-1").
+ Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs()).Doc("2-2-2").
Timeout(3*time.Second, nil).Doc("2-2-3").
Success("")
@@ -315,27 +315,27 @@ func TestBBMD(t *testing.T) {
// broadcast a forwarded NPDU
td.GetStartState().Doc("2-3-0").
Send(quick.WhoIsRequest(NKW(KWCPCIDestination, NewLocalBroadcast(nil))), nil).Doc("2-3-1").
- Receive(NA((*IAmRequest)(nil)), NoKWArgs).Doc("2-3-2").
+ Receive(NA((*IAmRequest)(nil)), NoKWArgs()).Doc("2-3-2").
Success("")
// listen for the forwarded NPDU. The packet will be sent upstream which
// will generate the original unicast going back, then it will be
// re-broadcast on the local LAN. Fail if there's anything after that.
s241 := listener.GetStartState().Doc("2-4-0").
- Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs).Doc("2-4-1")
+ Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs()).Doc("2-4-1")
// look for the original unicast going back, followed by the rebroadcast
// of the forwarded NPDU on the local LAN
both := s241.
- Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs).Doc("2-4-1-a").
- Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs).Doc("2-4-1-b")
+ Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs()).Doc("2-4-1-a").
+ Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs()).Doc("2-4-1-b")
// fail if anything is received after both packets
both.Timeout(3*time.Second, nil).Doc("2-4-4").
Success("")
// allow the two packets in either order
- s241.Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs).Doc("2-4-2-a").
+ s241.Receive(NA((*ForwardedNPDU)(nil)), NoKWArgs()).Doc("2-4-2-a").
Receive(NA((*OriginalUnicastNPDU)(nil)), NKW("nextState", both)).Doc("2-4-2-b")
// run the group
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_codec_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_codec_test.go
index 3938b995e3..6b35f9da90 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_codec_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_codec_test.go
@@ -31,6 +31,7 @@ import (
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests"
"github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/quick"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/state_machine"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes"
@@ -111,12 +112,12 @@ func (suite *TestAnnexJCodecSuite) TestResult() {
}
}
- err = suite.Request(NA(quick.Result(0)), NoKWArgs)
+ err = suite.Request(NA(quick.Result(0)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*Result)(nil)), NKW(KWBvlciResultCode, readWriteModel.BVLCResultCode(0)))
@@ -131,12 +132,12 @@ func (suite *TestAnnexJCodecSuite) TestResult() {
}
}
- err = suite.Request(NA(quick.Result(0x0010)), NoKWArgs)
+ err = suite.Request(NA(quick.Result(0x0010)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*Result)(nil)), NKW(KWBvlciResultCode, readWriteModel.BVLCResultCode(0x0010)))
}
@@ -153,12 +154,12 @@ func (suite *TestAnnexJCodecSuite) TestWriteBroadcastDistributionTable() {
}
}
- err = suite.Request(NA(quick.WriteBroadcastDistributionTable()), NoKWArgs)
+ err = suite.Request(NA(quick.WriteBroadcastDistributionTable()), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*WriteBroadcastDistributionTable)(nil)), NKW(KWBvlciBDT, []*Address{}))
@@ -175,12 +176,12 @@ func (suite *TestAnnexJCodecSuite) TestWriteBroadcastDistributionTable() {
}
}
- err = suite.Request(NA(quick.WriteBroadcastDistributionTable(addr)), NoKWArgs)
+ err = suite.Request(NA(quick.WriteBroadcastDistributionTable(addr)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*WriteBroadcastDistributionTable)(nil)), NKW(KWBvlciBDT, []*Address{addr}))
}
@@ -197,14 +198,14 @@ func (suite *TestAnnexJCodecSuite) TestReadBroadcastDistributionTable() {
}
}
- err = suite.Request(NA(quick.ReadBroadcastDistributionTable()), NoKWArgs)
+ err = suite.Request(NA(quick.ReadBroadcastDistributionTable()), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*ReadBroadcastDistributionTable)(nil)), NoKWArgs)
+ err = suite.Confirmation(NA((*ReadBroadcastDistributionTable)(nil)), NoKWArgs())
}
func (suite *TestAnnexJCodecSuite) TestReadBroadcastDistributionTableAck() {
@@ -219,12 +220,12 @@ func (suite *TestAnnexJCodecSuite) TestReadBroadcastDistributionTableAck() {
}
}
- err = suite.Request(NA(quick.ReadBroadcastDistributionTableAck()), NoKWArgs)
+ err = suite.Request(NA(quick.ReadBroadcastDistributionTableAck()), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*ReadBroadcastDistributionTableAck)(nil)), NKW(KWBvlciBDT, []*Address{}))
@@ -241,43 +242,34 @@ func (suite *TestAnnexJCodecSuite) TestReadBroadcastDistributionTableAck() {
}
}
- err = suite.Request(NA(quick.ReadBroadcastDistributionTableAck(addr)), NoKWArgs)
+ err = suite.Request(NA(quick.ReadBroadcastDistributionTableAck(addr)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*ReadBroadcastDistributionTableAck)(nil)), NKW(KWBvlciBDT, []*Address{addr}))
}
func (suite *TestAnnexJCodecSuite) TestForwardNPDU() {
addr, err := NewAddress(NA("192.168.0.1"))
- xpdu, err := Xtob(
- "deadbeef", // forwarded PDU
- )
+ xpdu, err := Xtob("deadbeef")
suite.Require().NoError(err)
pduBytes, err := Xtob("81.04.000e" + //
"c0.a8.00.01.ba.c0" + // original source address
"deadbeef", // forwarded PDU
)
suite.Require().NoError(err)
- { // Parse with plc4x parser to validate
- parse, err := readWriteModel.BVLCParse[readWriteModel.BVLC](testutils.TestContext(suite.T()), pduBytes)
- suite.Assert().NoError(err)
- if parse != nil {
- suite.T().Log("\n" + parse.String())
- }
- }
- err = suite.Request(NA(quick.ForwardedNPDU(addr, xpdu)), NoKWArgs)
+ err = suite.Request(NA(quick.ForwardedNPDU(addr, xpdu)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*ForwardedNPDU)(nil)), NKW(KWBvlciAddress, addr, KWCPCIData, xpdu))
+ err = suite.Confirmation(NA((*ForwardedNPDU)(nil)), NKW(KWBvlciAddress, addr, KWTestPDUData, xpdu))
suite.Assert().NoError(err)
}
@@ -296,12 +288,12 @@ func (suite *TestAnnexJCodecSuite) TestRegisterForeignDevice() {
}
}
- err = suite.Request(NA(quick.RegisterForeignDevice(30)), NoKWArgs)
+ err = suite.Request(NA(quick.RegisterForeignDevice(30)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*RegisterForeignDevice)(nil)), NKW(KWBvlciTimeToLive, uint16(30)))
}
@@ -318,14 +310,14 @@ func (suite *TestAnnexJCodecSuite) TestReadForeignDeviceTable() {
}
}
- err = suite.Request(NA(quick.ReadForeignDeviceTable()), NoKWArgs)
+ err = suite.Request(NA(quick.ReadForeignDeviceTable(nil)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*ReadForeignDeviceTable)(nil)), NoKWArgs)
+ err = suite.Confirmation(NA((*ReadForeignDeviceTable)(nil)), NoKWArgs())
}
func (suite *TestAnnexJCodecSuite) TestReadForeignDeviceTableAck() {
@@ -340,12 +332,12 @@ func (suite *TestAnnexJCodecSuite) TestReadForeignDeviceTableAck() {
}
}
- err = suite.Request(NA(quick.ReadForeignDeviceTableAck()), NoKWArgs)
+ err = suite.Request(NA(quick.ReadForeignDeviceTableAck()), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*ReadForeignDeviceTableAck)(nil)), NKW(KWBvlciFDT, []*FDTEntry{}))
@@ -369,12 +361,12 @@ func (suite *TestAnnexJCodecSuite) TestReadForeignDeviceTableAck() {
}
}
- err = suite.Request(NA(quick.ReadForeignDeviceTableAck(fdte)), NoKWArgs)
+ err = suite.Request(NA(quick.ReadForeignDeviceTableAck(fdte)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*ReadForeignDeviceTableAck)(nil)), NKW(KWBvlciFDT, []*FDTEntry{fdte}))
}
@@ -392,12 +384,12 @@ func (suite *TestAnnexJCodecSuite) TestDeleteForeignDeviceTableEntry() {
}
}
- err = suite.Request(NA(quick.DeleteForeignDeviceTableEntry(addr)), NoKWArgs)
+ err = suite.Request(NA(quick.DeleteForeignDeviceTableEntry(addr)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA((*DeleteForeignDeviceTableEntry)(nil)), NKW(KWBvlciAddress, addr))
}
@@ -416,22 +408,15 @@ func (suite *TestAnnexJCodecSuite) TestDistributeBroadcastToNetwork() {
"deadbeef", // forwarded PDU
)
suite.Require().NoError(err)
- { // Parse with plc4x parser to validate
- parse, err := readWriteModel.BVLCParse[readWriteModel.BVLC](testutils.TestContext(suite.T()), pduBytes)
- suite.Assert().NoError(err)
- if parse != nil {
- suite.T().Log("\n" + parse.String())
- }
- }
- err = suite.Request(NA(quick.DistributeBroadcastToNetwork(xpdu)), NoKWArgs)
+ err = suite.Request(NA(quick.DistributeBroadcastToNetwork(xpdu)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*DistributeBroadcastToNetwork)(nil)), NKW(KWCPCIData, xpdu))
+ err = suite.Confirmation(NA((*DistributeBroadcastToNetwork)(nil)), NKW(KWTestPDUData, xpdu))
}
func (suite *TestAnnexJCodecSuite) TestOriginalUnicastNPDU() {
@@ -443,22 +428,15 @@ func (suite *TestAnnexJCodecSuite) TestOriginalUnicastNPDU() {
"deadbeef", // forwarded PDU
)
suite.Require().NoError(err)
- { // Parse with plc4x parser to validate
- parse, err := readWriteModel.BVLCParse[readWriteModel.BVLC](testutils.TestContext(suite.T()), pduBytes)
- suite.Assert().NoError(err)
- if parse != nil {
- suite.T().Log("\n" + parse.String())
- }
- }
- err = suite.Request(NA(quick.OriginalUnicastNPDU(xpdu)), NoKWArgs)
+ err = suite.Request(NA(quick.OriginalUnicastNPDU(xpdu)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*OriginalUnicastNPDU)(nil)), NKW(KWCPCIData, xpdu))
+ err = suite.Confirmation(NA((*OriginalUnicastNPDU)(nil)), NKW(KWTestPDUData, xpdu))
}
func (suite *TestAnnexJCodecSuite) TestOriginalBroadcastNPDU() {
@@ -470,25 +448,17 @@ func (suite *TestAnnexJCodecSuite) TestOriginalBroadcastNPDU() {
"deadbeef", // forwarded PDU
)
suite.Require().NoError(err)
- { // Parse with plc4x parser to validate
- parse, err := readWriteModel.BVLCParse[readWriteModel.BVLC](testutils.TestContext(suite.T()), pduBytes)
- suite.Assert().NoError(err)
- if parse != nil {
- suite.T().Log("\n" + parse.String())
- }
- }
- err = suite.Request(NA(quick.OriginalBroadcastNPDU(xpdu)), NoKWArgs)
+ err = suite.Request(NA(quick.OriginalBroadcastNPDU(xpdu)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA((*OriginalBroadcastNPDU)(nil)), NKW(KWCPCIData, xpdu))
+ err = suite.Confirmation(NA((*OriginalBroadcastNPDU)(nil)), NKW(KWTestPDUData, xpdu))
}
func TestAnnexJCodec(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
suite.Run(t, new(TestAnnexJCodecSuite))
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_foreign_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_foreign_test.go
index d5a2976b18..82b366375e 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_foreign_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_foreign_test.go
@@ -109,7 +109,7 @@ func (t *TFNetwork) Run(timeLimit time.Duration) {
for _, machine := range t.StateMachineGroup.GetStateMachines() {
t.log.Debug().Stringer("machine", machine).Msg("Machine:")
for _, s := range machine.GetTransactionLog() {
- t.log.Debug().Str("logEntry", s).Msg("logEntry")
+ t.log.Debug().Stringer("logEntry", s).Msg("logEntry")
}
}
@@ -120,7 +120,6 @@ func (t *TFNetwork) Run(timeLimit time.Duration) {
}
func TestForeign(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
t.Run("test_idle", func(t *testing.T) { //Test an idle network, nothing happens is success.
ExclusiveGlobalTimeMachine(t)
@@ -144,7 +143,7 @@ func TestForeign(t *testing.T) {
tnet.fd.GetStartState().
Call(func(args Args, _ KWArgs) error {
return tnet.fd.bip.Register(args[0].(*Address), args[1].(uint16))
- }, NA(tnet.bbmd.address, 30), NoKWArgs).
+ }, NA(tnet.bbmd.address, uint16(30)), NoKWArgs()).
Success("")
// remote sniffer node
@@ -154,8 +153,8 @@ func TestForeign(t *testing.T) {
// sniffer traffic
remoteSniffer.GetStartState().Doc("1-1-0").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("1-1-1").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("1-1-2").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("1-1-1").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("1-1-2").
SetEvent("fd-registered").Doc("1-1-3").
Success("")
@@ -167,12 +166,10 @@ func TestForeign(t *testing.T) {
tnet.Append(homeSnooper)
// snooper will read foreign device table
- readForeignDeviceTable := quick.ReadForeignDeviceTable() // TODO: upstream sets this as kwArgs, check if we really want to propagate this here...
- readForeignDeviceTable.SetPDUDestination(tnet.bbmd.address)
homeSnooper.GetStartState().Doc("1-2-0").
WaitEvent("fd-registered", nil).Doc("1-2-1").
- Send(readForeignDeviceTable, nil).Doc("1-2-2").
- Receive(NA((*ReadForeignDeviceTableAck)(nil)), NoKWArgs).Doc("1-2-3").
+ Send(quick.ReadForeignDeviceTable(tnet.bbmd.address), nil).Doc("1-2-2").
+ Receive(NA((*ReadForeignDeviceTableAck)(nil)), NoKWArgs()).Doc("1-2-3").
Success("")
// home sniffer node
@@ -182,10 +179,10 @@ func TestForeign(t *testing.T) {
// sniffer traffic
homeSniffer.GetStartState().Doc("1-3-0").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("1-3-1").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("1-3-2").
- Receive(NA((*ReadForeignDeviceTable)(nil)), NoKWArgs).Doc("1-3-3").
- Receive(NA((*ReadForeignDeviceTableAck)(nil)), NoKWArgs).Doc("1-3-4").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("1-3-1").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("1-3-2").
+ Receive(NA((*ReadForeignDeviceTable)(nil)), NoKWArgs()).Doc("1-3-3").
+ Receive(NA((*ReadForeignDeviceTableAck)(nil)), NoKWArgs()).Doc("1-3-4").
Success("")
// run the group
@@ -202,7 +199,7 @@ func TestForeign(t *testing.T) {
tnet.fd.GetStartState().
Call(func(args Args, _ KWArgs) error {
return tnet.fd.bip.Register(args[0].(*Address), args[1].(uint16))
- }, NA(tnet.bbmd.address, 10), NoKWArgs).
+ }, NA(tnet.bbmd.address, uint16(10)), NoKWArgs()).
Success("")
// the bbmd is idle
@@ -215,10 +212,10 @@ func TestForeign(t *testing.T) {
// sniffer traffic
remoteSniffer.GetStartState().Doc("2-1-0").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("2-1-1").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("2-1-1").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("2-1-3").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("2-1-4").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("2-1-1").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("2-1-1").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("2-1-3").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("2-1-4").
Success("")
// run the group
@@ -240,14 +237,14 @@ func TestForeign(t *testing.T) {
tnet.fd.GetStartState().Doc("3-1-0").
Call(func(args Args, _ KWArgs) error {
return tnet.fd.bip.Register(args[0].(*Address), args[1].(uint16))
- }, NA(tnet.bbmd.address, 60), NoKWArgs).Doc("3-1-1").
+ }, NA(tnet.bbmd.address, uint16(60)), NoKWArgs()).Doc("3-1-1").
WaitEvent("3-registered", nil).Doc("3-1-2").
Send(pdu, nil).Doc("3-1-3").
Success("")
// the bbmd is happy when it gets the pdu
tnet.bbmd.GetStartState().
- Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWCPCIData, pduData)).
+ Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWTestPDUData, pduData)).
Success("")
// remote sniffer node
@@ -257,10 +254,10 @@ func TestForeign(t *testing.T) {
// sniffer traffic
remoteSniffer.GetStartState().Doc("3-2-0").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("3-2-1").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("3-2-2").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("3-2-1").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("3-2-2").
SetEvent("3-registered").Doc("3-2-3").
- Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs).Doc("3-2-4").
+ Receive(NA((*OriginalUnicastNPDU)(nil)), NoKWArgs()).Doc("3-2-4").
Success("")
// run the group
@@ -283,14 +280,14 @@ func TestForeign(t *testing.T) {
tnet.fd.GetStartState().Doc("4-1-0").
Call(func(args Args, _ KWArgs) error {
return tnet.fd.bip.Register(args[0].(*Address), args[1].(uint16))
- }, NA(tnet.bbmd.address, 60), NoKWArgs).Doc("4-1-1").
+ }, NA(tnet.bbmd.address, 60), NoKWArgs()).Doc("4-1-1").
WaitEvent("4-registered", nil).Doc("4-1-2").
Send(pdu, nil).Doc("4-1-3").
Success("")
// the bbmd is happy when it gets the pdu
tnet.bbmd.GetStartState().
- Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWCPCIData, pduData)).Doc("4-2-1").
+ Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWTestPDUData, pduData)).Doc("4-2-1").
Success("")
// home simple node
@@ -299,7 +296,7 @@ func TestForeign(t *testing.T) {
// home node happy when getting the pdu, broadcast by the bbmd
homeNode.GetStartState().Doc("4-3-0").
- Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWCPCIData, pduData)).Doc("4-3-1").
+ Receive(NA((PDU)(nil)), NKW(KWCPCISource, tnet.fd.address, KWTestPDUData, pduData)).Doc("4-3-1").
Success("")
// remote sniffer node
@@ -309,10 +306,10 @@ func TestForeign(t *testing.T) {
// sniffer traffic
remoteSniffer.GetStartState().Doc("4-4-0").
- Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs).Doc("4-4-1").
- Receive(NA((*Result)(nil)), NoKWArgs).Doc("4-4-2").
+ Receive(NA((*RegisterForeignDevice)(nil)), NoKWArgs()).Doc("4-4-1").
+ Receive(NA((*Result)(nil)), NoKWArgs()).Doc("4-4-2").
SetEvent("4-registered").
- Receive(NA((*DistributeBroadcastToNetwork)(nil)), NoKWArgs).Doc("4-4-3").
+ Receive(NA((*DistributeBroadcastToNetwork)(nil)), NoKWArgs()).Doc("4-4-3").
Success("")
// run the group
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_simple_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_simple_test.go
index 98c0a95cac..04f17ba7ed 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_simple_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_bvll/test_simple_test.go
@@ -99,7 +99,7 @@ func (t *TNetwork) Run(timeLimit time.Duration) {
for _, machine := range t.StateMachineGroup.GetStateMachines() {
t.log.Debug().Stringer("machine", machine).Msg("Machine:")
for _, s := range machine.GetTransactionLog() {
- t.log.Debug().Str("logEntry", s).Msg("logEntry")
+ t.log.Debug().Stringer("logEntry", s).Msg("logEntry")
}
}
@@ -110,7 +110,6 @@ func (t *TNetwork) Run(timeLimit time.Duration) {
}
func TestSimple(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
t.Run("test_idle", func(t *testing.T) { //Test an idle network, nothing happens is success.
ExclusiveGlobalTimeMachine(t)
tnet := NewTNetwork(t)
@@ -143,7 +142,7 @@ func TestSimple(t *testing.T) {
tnet.sniffer.GetStartState().Receive(NA((PDU)(nil)), NKW(
KWCPCISource, tnet.td.address.AddrTuple,
KWCPCIDestination, tnet.iut.address.AddrTuple,
- KWCPCIData, pduData,
+ KWTestPDUData, pduData,
)).Timeout(1.0*time.Millisecond, nil).Success("")
// run the group
@@ -156,11 +155,11 @@ func TestSimple(t *testing.T) {
//make a PDU from node 1 to node 2
pduData, err := Xtob("dead.beef")
require.NoError(t, err)
- pdu := NewPDU(NA(pduData), NKW(KWCPCISource, tnet.td.address, KWCPCIDestination, tnet.iut.address))
+ pdu := NewPDU(NA(pduData), NKW(KWCPCISource, tnet.td.address, KWCPCIDestination, NewLocalBroadcast(nil)))
t.Logf("pdu: %v", pdu)
// test device sends it, iut gets it
- tnet.td.GetStartState().Send(NewPDU(NoArgs, NKW(KWCompRootMessage, pdu, KWCPCISource, tnet.td.address, KWCPCIDestination, NewLocalBroadcast(nil))), nil).Success("")
+ tnet.td.GetStartState().Send(pdu, nil).Success("")
tnet.iut.GetStartState().Receive(NA((PDU)(nil)), NKW(
KWCPCISource, tnet.td.address,
)).Success("")
@@ -169,7 +168,7 @@ func TestSimple(t *testing.T) {
tnet.sniffer.GetStartState().Receive(NA((*OriginalBroadcastNPDU)(nil)), NKW(
KWCPCISource, tnet.td.address.AddrTuple,
//bacgopes.KWCPCIDestination, tnet.iut.address.AddrTuple,
- KWCPCIData, pduData,
+ KWTestPDUData, pduData,
)).Timeout(1.0*time.Second, nil).Success("")
// run the group
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_comm/test_capability_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_comm/test_capability_test.go
index 937f5b43bc..1e42771a52 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_comm/test_capability_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_comm/test_capability_test.go
@@ -47,7 +47,7 @@ func NewBaseCollector(localLog zerolog.Logger, subs ...CollectorOrCapability) (*
func (b *BaseCollector) Transform(value any) any {
for fn := range b.CapabilityFunctions("transform") {
- value = fn(NA(b, value), NoKWArgs)
+ value = fn(NA(b, value), NoKWArgs())
}
return value
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_constructed_data/test_sequence_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_constructed_data/test_sequence_test.go
index ef30dd9349..61b3173b3e 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_constructed_data/test_sequence_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_constructed_data/test_sequence_test.go
@@ -30,7 +30,7 @@ import (
func TestEmptySequence(t *testing.T) {
t.Run("test_empty_sequence", func(t *testing.T) {
- seq, err := NewEmptySequence(NoKWArgs)
+ seq, err := NewEmptySequence(NoKWArgs())
require.NoError(t, err)
t.Logf("%#v", seq)
@@ -41,7 +41,7 @@ func TestEmptySequence(t *testing.T) {
t.Logf("%v", tagList)
// create another sequence and decode the tag list
- seq, err = NewEmptySequence(NoKWArgs)
+ seq, err = NewEmptySequence(NoKWArgs())
require.NoError(t, err)
err = seq.Decode(tagList)
require.NoError(t, err)
@@ -57,7 +57,7 @@ func TestEmptySequence(t *testing.T) {
func TestSimpleSequence(t *testing.T) {
t.Run("test_missing_element", func(t *testing.T) {
// create a sequence with a missing required element
- seq, err := NewSimpleSequence(NoKWArgs)
+ seq, err := NewSimpleSequence(NoKWArgs())
require.NoError(t, err)
// encode it in a tag list
@@ -85,7 +85,7 @@ func TestSimpleSequence(t *testing.T) {
err = seq.Encode(tagList)
// create another sequence and decode the taglist
- seq, err = NewSimpleSequence(NoKWArgs)
+ seq, err = NewSimpleSequence(NoKWArgs())
require.NoError(t, err)
err = seq.Decode(tagList)
require.NoError(t, err)
@@ -95,7 +95,7 @@ func TestSimpleSequence(t *testing.T) {
func TestCompoundSequence1(t *testing.T) {
t.Run("test_missing_element", func(t *testing.T) {
// create a sequence with a missing required element
- seq, err := NewCompoundSequence1(NoKWArgs)
+ seq, err := NewCompoundSequence1(NoKWArgs())
require.NoError(t, err)
// encode it in a tag list
@@ -132,7 +132,7 @@ func TestCompoundSequence1(t *testing.T) {
err = seq.Encode(tagList)
// create another sequence and decode the taglist
- seq, err = NewCompoundSequence1(NoKWArgs)
+ seq, err = NewCompoundSequence1(NoKWArgs())
require.NoError(t, err)
err = seq.Decode(tagList)
require.NoError(t, err)
@@ -142,7 +142,7 @@ func TestCompoundSequence1(t *testing.T) {
func TestCompoundSequence2(t *testing.T) {
t.Run("test_missing_element", func(t *testing.T) {
// create a sequence with a missing required element
- seq, err := NewCompoundSequence2(NoKWArgs)
+ seq, err := NewCompoundSequence2(NoKWArgs())
require.NoError(t, err)
// encode it in a tag list
@@ -169,7 +169,7 @@ func TestCompoundSequence2(t *testing.T) {
err = seq.Encode(tagList)
// create another sequence and decode the taglist
- seq, err = NewCompoundSequence2(NoKWArgs)
+ seq, err = NewCompoundSequence2(NoKWArgs())
require.NoError(t, err)
err = seq.Decode(tagList)
require.NoError(t, err)
@@ -184,7 +184,7 @@ func TestCompoundSequence2(t *testing.T) {
err = seq.Encode(tagList)
// create another sequence and decode the taglist
- seq, err = NewCompoundSequence2(NoKWArgs)
+ seq, err = NewCompoundSequence2(NoKWArgs())
require.NoError(t, err)
err = seq.Decode(tagList)
require.NoError(t, err)
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_network/helpers.go b/plc4go/internal/bacnetip/bacgopes/tests/test_network/helpers.go
index f2a1ad51ae..c80b75f977 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_network/helpers.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_network/helpers.go
@@ -106,7 +106,7 @@ func (n *NPDUCodec) Indication(args Args, kwArgs KWArgs) error {
n.log.Debug().Stringer("ypdu", ypdu).Msg("encoded")
// send it downstream
- return n.Request(NA(ypdu), NoKWArgs)
+ return n.Request(NA(ypdu), NoKWArgs())
}
func (n *NPDUCodec) Confirmation(args Args, kwArgs KWArgs) error {
@@ -135,7 +135,7 @@ func (n *NPDUCodec) Confirmation(args Args, kwArgs KWArgs) error {
return errors.Wrap(err, "error decoding ypdu")
}
- return n.Response(NA(ypdu), NoKWArgs)
+ return n.Response(NA(ypdu), NoKWArgs())
}
type SnifferStateMachine struct {
@@ -436,12 +436,12 @@ func NewApplicationLayerStateMachine(localLog zerolog.Logger, address string, vl
func (a *ApplicationLayerStateMachine) Indication(args Args, kwArgs KWArgs) error {
a.log.Debug().Stringer("Args", args).Stringer("KWArgs", kwArgs).Msg("Indication")
- return a.Receive(args, NoKWArgs)
+ return a.Receive(args, NoKWArgs())
}
func (a *ApplicationLayerStateMachine) Confirmation(args Args, kwArgs KWArgs) error {
a.log.Debug().Stringer("Args", args).Stringer("KWArgs", kwArgs).Msg("Confirmation")
- return a.Receive(args, NoKWArgs)
+ return a.Receive(args, NoKWArgs())
}
//go:generate plc4xGenerator -type=ApplicationNode
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
index f21183727e..689f43a8ab 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_1_test.go
@@ -129,7 +129,7 @@ func (t *TNetwork1) Run(timeLimit time.Duration) {
RunTimeMachine(t.log, timeLimit, time.Time{})
t.log.Trace().Msg("time machine finished")
for _, machine := range t.StateMachineGroup.GetStateMachines() {
- t.log.Debug().Stringer("machine", machine).Strs("transactionLog", machine.GetTransactionLog()).Msg("Machine:")
+ t.log.Debug().Stringer("machine", machine).Stringers("transactionLog", ToStringers(machine.GetTransactionLog())).Msg("Machine:")
}
// check for success
@@ -175,14 +175,14 @@ func TestNet1(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("1-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"00", //message type, no network
),
),
).Doc("1-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"01 0002 0003", //message type and network list
),
@@ -248,7 +248,7 @@ func TestNet1(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("3-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"00 0004", //message type, and network
)),
@@ -258,7 +258,7 @@ func TestNet1(t *testing.T) {
// sniffer on network 2 sees request forwarded by router
tnet.sniffer2.GetStartState().Doc("3-3-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.88"+ //version, network layer
"0001 01 01"+ // snet/slen/sadr
"00 0004", //message type, and network
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_2_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_2_test.go
index b3d2625d61..f857b25cc3 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_2_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_2_test.go
@@ -138,7 +138,7 @@ func (t *TNetwork2) Run(timeLimit time.Duration) {
RunTimeMachine(t.log, timeLimit, time.Time{})
t.log.Trace().Msg("time machine finished")
for _, machine := range t.StateMachineGroup.GetStateMachines() {
- t.log.Debug().Stringer("machine", machine).Strs("transactionLog", machine.GetTransactionLog()).Msg("Machine:")
+ t.log.Debug().Stringer("machine", machine).Stringers("transactionLog", ToStringers(machine.GetTransactionLog())).Msg("Machine:")
}
// check for success
@@ -184,13 +184,13 @@ func TestNet2(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("1-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"00", //message type, no network
)),
).Doc("1-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"01 0002", //message type and network list
)),
@@ -258,7 +258,7 @@ func TestNet2(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("3-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80"+ //version, network layer
"00 0004", //message type, and network
)),
@@ -268,7 +268,7 @@ func TestNet2(t *testing.T) {
// sniffer on network 2 sees request forwarded by router
tnet.sniffer2.GetStartState().Doc("3-3-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.88"+ //version, network layer
"0001 01 01"+ // snet/slen/sadr
"00 0004", //message type, and network
@@ -278,7 +278,7 @@ func TestNet2(t *testing.T) {
tnet.sniffer3.GetStartState().Doc("3-4-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.88"+ //version, network layer
"0001 01 01"+ // snet/slen/sadr
"00 0004", //message type, and network
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_3_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_3_test.go
index d430180602..f48eb3c705 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_3_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_network/test_net_3_test.go
@@ -20,7 +20,6 @@
package test_network
import (
- "strings"
"testing"
"time"
@@ -121,8 +120,7 @@ func (t *TNetwork3) Run(timeLimit time.Duration) {
RunTimeMachine(t.log, timeLimit, time.Time{})
t.log.Trace().Msg("time machine finished")
for _, machine := range t.StateMachineGroup.GetStateMachines() {
- transactionLog := "transactions:\n" + strings.Join(machine.GetTransactionLog(), "\n")
- t.log.Debug().Stringer("machine", machine).Str("transactionLog", transactionLog).Msg("Machine:")
+ t.log.Debug().Stringer("machine", machine).Stringers("transactionLog", ToStringers(machine.GetTransactionLog())).Msg("Machine:")
}
// check for success
@@ -167,7 +165,7 @@ func TestNet3(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("1-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.00"+ //version, network layer
"10 08", // unconfirmed Who-Is
),
@@ -201,23 +199,23 @@ func TestNet3(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("2-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80.00.00.02", // who is router to network
)),
).Doc("2-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80.01.00.02", // I am router to network
)),
).Doc("2-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.20.00.02.00.ff"+ // remote broadcast goes out
"10.08",
)),
).Doc("2-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.08.00.02.01.04"+ // unicast response
"10.00.c4.02.00.00.04.22.04.00.91.00.22.03.e7",
)),
@@ -228,13 +226,13 @@ func TestNet3(t *testing.T) {
// network 2 sees local broadcast request and unicast response
tnet.sniffer2.GetStartState().Doc("2-3-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.08.00.01.01.01"+ // local broadcast
"10.08",
)),
).Doc("2-3-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.20.00.01.01.01.ff"+ // unicast response
"10.00.c4.02.00.00.04.22.04.00.91.00.22.03.e7",
)),
@@ -264,7 +262,7 @@ func TestNet3(t *testing.T) {
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("3-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.80.00.00.03", // who is router to network
)),
).Doc("3-2-1").
@@ -274,7 +272,7 @@ func TestNet3(t *testing.T) {
// network 2 sees local broadcast looking for network 3
tnet.sniffer2.GetStartState().
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.88.00.01.01.01.00.00.03",
)),
).Doc("3-3-1").
@@ -298,19 +296,19 @@ func TestNet3(t *testing.T) {
whois.SetPDUDestination(NewGlobalBroadcast(nil)) // TODO: upstream does this inline
tnet.td.GetStartState().Doc("4-1-0").
Send(whois, nil).Doc("4-1-1").
- Receive(NA((*IAmRequest)(nil)), NoKWArgs).Doc("4-1-2").
+ Receive(NA((*IAmRequest)(nil)), NoKWArgs()).Doc("4-1-2").
Success("")
// sniffer on network 1 sees the request and the response
tnet.sniffer1.GetStartState().Doc("3-2-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.20.ff.ff.00.ff"+
"10.08",
)),
).Doc("4-2-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.08.00.02.01.04"+
"10.00.c4.02.00.00.04.22.04.00.91.00.22.03.e7",
)),
@@ -321,13 +319,13 @@ func TestNet3(t *testing.T) {
// network 2 sees local broadcast v
tnet.sniffer2.GetStartState().Doc("4-3-0").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.28.ff.ff.00.00.01.01.01.fe"+
"10.08",
)),
).Doc("4-3-1").
Receive(NA(PDUMatcher),
- NKW(KWCPCIData, xtob(
+ NKW(KWTestPDUData, xtob(
"01.20.00.01.01.01.ff"+
"10.00.c4.02.00.00.04.22.04.00.91.00.22.03.e7",
)),
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/helpers.go b/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/helpers.go
index 6f080a7952..6f00aeffc8 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/helpers.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/helpers.go
@@ -75,7 +75,7 @@ func (n *NPDUCodec) Indication(args Args, kwArgs KWArgs) error {
n.log.Debug().Stringer("ypdu", ypdu).Msg("encoded")
// send it downstream
- return n.Request(NA(ypdu), NoKWArgs)
+ return n.Request(NA(ypdu), NoKWArgs())
}
func (n *NPDUCodec) Confirmation(args Args, kwArgs KWArgs) error {
@@ -104,5 +104,5 @@ func (n *NPDUCodec) Confirmation(args Args, kwArgs KWArgs) error {
return errors.Wrap(err, "error decoding ypdu")
}
- return n.Response(NA(ypdu), NoKWArgs)
+ return n.Response(NA(ypdu), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/test_codec_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/test_codec_test.go
index cde8654bbc..2d5073ac9c 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/test_codec_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_npdu/test_codec_test.go
@@ -30,6 +30,7 @@ import (
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/npdu"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests"
"github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/quick"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/state_machine"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes"
@@ -112,12 +113,12 @@ func (suite *TestNPDUCodecSuite) TestWhoIsRouterToNetwork() { // Test the Result
}
}
- err = suite.Request(NA(quick.WhoIsRouterToNetwork(1)), NoKWArgs)
+ err = suite.Request(NA(quick.WhoIsRouterToNetwork(1)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&WhoIsRouterToNetwork{}), NKW(KWWirtnNetwork, uint16(1)))
}
@@ -138,12 +139,12 @@ func (suite *TestNPDUCodecSuite) TestIAMRouterToNetworkEmpty() { // Test the Res
}
}
- err = suite.Request(NA(quick.IAmRouterToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.IAmRouterToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&IAmRouterToNetwork{}), NKW(KWIartnNetworkList, networkList))
}
@@ -164,12 +165,12 @@ func (suite *TestNPDUCodecSuite) TestIAMRouterToNetworks() { // Test the Result
}
}
- err = suite.Request(NA(quick.IAmRouterToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.IAmRouterToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&IAmRouterToNetwork{}), NKW(KWIartnNetworkList, networkList))
}
@@ -189,12 +190,12 @@ func (suite *TestNPDUCodecSuite) TestICouldBeRouterToNetworks() { // Test the Re
}
}
- err = suite.Request(NA(quick.ICouldBeRouterToNetwork(1, 2)), NoKWArgs)
+ err = suite.Request(NA(quick.ICouldBeRouterToNetwork(1, 2)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&ICouldBeRouterToNetwork{}), NKW(KWIcbrtnNetwork, uint16(1), KWIcbrtnPerformanceIndex, uint8(2)))
}
@@ -214,12 +215,12 @@ func (suite *TestNPDUCodecSuite) TestRejectMessageToNetwork() { // Test the Resu
}
}
- err = suite.Request(NA(quick.RejectMessageToNetwork(1, 2)), NoKWArgs)
+ err = suite.Request(NA(quick.RejectMessageToNetwork(1, 2)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&RejectMessageToNetwork{}), NKW(KWRmtnRejectionReason, readWriteModel.NLMRejectMessageToNetworkRejectReason(1), KWRmtnDNET, uint16(2)))
}
@@ -240,12 +241,12 @@ func (suite *TestNPDUCodecSuite) TestRouterBusyToNetworkEmpty() { // Test the Re
}
}
- err = suite.Request(NA(quick.RouterBusyToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.RouterBusyToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&RouterBusyToNetwork{}), NKW(KWRbtnNetworkList, networkList))
}
@@ -266,12 +267,12 @@ func (suite *TestNPDUCodecSuite) TestRouterBusyToNetworkNetworks() { // Test the
}
}
- err = suite.Request(NA(quick.RouterBusyToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.RouterBusyToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&RouterBusyToNetwork{}), NKW(KWRbtnNetworkList, networkList))
}
@@ -292,12 +293,12 @@ func (suite *TestNPDUCodecSuite) TestRouterAvailableToNetworkEmpty() { // Test t
}
}
- err = suite.Request(NA(quick.RouterAvailableToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.RouterAvailableToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&RouterAvailableToNetwork{}), NKW(KWRatnNetworkList, networkList))
}
@@ -318,12 +319,12 @@ func (suite *TestNPDUCodecSuite) TestRouterAvailableToNetworkNetworks() { // Tes
}
}
- err = suite.Request(NA(quick.RouterAvailableToNetwork(networkList...)), NoKWArgs)
+ err = suite.Request(NA(quick.RouterAvailableToNetwork(networkList...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&RouterAvailableToNetwork{}), NKW(KWRatnNetworkList, networkList))
}
@@ -343,12 +344,12 @@ func (suite *TestNPDUCodecSuite) TestInitializeRoutingTableEmpty() { // Test the
}
}
- err = suite.Request(NA(quick.InitializeRoutingTable()), NoKWArgs)
+ err = suite.Request(NA(quick.InitializeRoutingTable()), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&InitializeRoutingTable{}), NKW(KWIrtTable, []*RoutingTableEntry{}))
}
@@ -375,12 +376,12 @@ func (suite *TestNPDUCodecSuite) TestInitializeRoutingTable01() { // Test the Re
}
}
- err = suite.Request(NA(quick.InitializeRoutingTable(rtEntries...)), NoKWArgs)
+ err = suite.Request(NA(quick.InitializeRoutingTable(rtEntries...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&InitializeRoutingTable{}), NKW(KWIrtTable, rtEntries))
}
@@ -407,12 +408,12 @@ func (suite *TestNPDUCodecSuite) TestInitializeRoutingTable02() { // Test the Re
}
}
- err = suite.Request(NA(quick.InitializeRoutingTable(rtEntries...)), NoKWArgs)
+ err = suite.Request(NA(quick.InitializeRoutingTable(rtEntries...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&InitializeRoutingTable{}), NKW(KWIrtTable, rtEntries))
}
@@ -439,12 +440,12 @@ func (suite *TestNPDUCodecSuite) TestInitializeRoutingTableAck01() { // Test the
}
}
- err = suite.Request(NA(quick.InitializeRoutingTableAck(rtEntries...)), NoKWArgs)
+ err = suite.Request(NA(quick.InitializeRoutingTableAck(rtEntries...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&InitializeRoutingTableAck{}), NKW(KWIrtaTable, rtEntries))
}
@@ -471,12 +472,12 @@ func (suite *TestNPDUCodecSuite) TestInitializeRoutingTableAck02() { // Test the
}
}
- err = suite.Request(NA(quick.InitializeRoutingTableAck(rtEntries...)), NoKWArgs)
+ err = suite.Request(NA(quick.InitializeRoutingTableAck(rtEntries...)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&InitializeRoutingTableAck{}), NKW(KWIrtaTable, rtEntries))
}
@@ -496,12 +497,12 @@ func (suite *TestNPDUCodecSuite) TestEstablishConnectionToNetworks() { // Test t
}
}
- err = suite.Request(NA(quick.EstablishConnectionToNetwork(5, 6)), NoKWArgs)
+ err = suite.Request(NA(quick.EstablishConnectionToNetwork(5, 6)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&EstablishConnectionToNetwork{}), NKW(KWEctnDNET, uint16(5), KWEctnTerminationTime, uint8(6)))
}
@@ -521,12 +522,12 @@ func (suite *TestNPDUCodecSuite) TestDisconnectConnectionToNetwork() { // Test t
}
}
- err = suite.Request(NA(quick.DisconnectConnectionToNetwork(7)), NoKWArgs)
+ err = suite.Request(NA(quick.DisconnectConnectionToNetwork(7)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&DisconnectConnectionToNetwork{}), NKW(KWDctnDNET, uint16(7)))
}
@@ -546,14 +547,14 @@ func (suite *TestNPDUCodecSuite) TestWhatIsNetworkNumber() { // Test the Result
}
}
- err = suite.Request(NA(quick.WhatIsNetworkNumber(0)), NoKWArgs)
+ err = suite.Request(NA(quick.WhatIsNetworkNumber(0)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Confirmation(NA(&WhatIsNetworkNumber{}), NoKWArgs)
+ err = suite.Confirmation(NA(&WhatIsNetworkNumber{}), NoKWArgs())
}
func (suite *TestNPDUCodecSuite) TestNetworkNumberIs() { // Test the Result encoding and decoding.
@@ -571,12 +572,12 @@ func (suite *TestNPDUCodecSuite) TestNetworkNumberIs() { // Test the Result enco
}
}
- err = suite.Request(NA(quick.NetworkNumberIs(8, true)), NoKWArgs)
+ err = suite.Request(NA(quick.NetworkNumberIs(8, true)), NoKWArgs())
suite.Assert().NoError(err)
- err = suite.Indication(NoArgs, NKW(KWCPCIData, pduBytes))
+ err = suite.Indication(NoArgs, NKW(KWTestPDUData, pduBytes))
suite.Assert().NoError(err)
- err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs)), NoKWArgs)
+ err = suite.Response(NA(NewPDU(NA(pduBytes), NoKWArgs())), NoKWArgs())
suite.Assert().NoError(err)
err = suite.Confirmation(NA(&NetworkNumberIs{}), NKW(KWNniNet, uint16(8), KWNniFlag, true))
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_primitive_data/test_tag_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_primitive_data/test_tag_test.go
index 3ecd1b7cd2..96b47a8506 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_primitive_data/test_tag_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_primitive_data/test_tag_test.go
@@ -435,12 +435,11 @@ func TestGetContext(t *testing.T) {
}
func TestEndec0(t *testing.T) { // Test bracketed application tagged integer encoding and decoding.
- t.Skip("currently broken") // TODO: fixme
tagList := quick.TagList()
data := quick.PDUData()
tagList.Encode(data)
- assert.Equal(t, []byte{}, data.GetPduData())
+ assert.Nil(t, data.GetPduData())
tagList = quick.TagList()
err := tagList.Decode(data)
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_segmentation/test_1_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_segmentation/test_1_test.go
index b07e98d985..cdd66c6aef 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_segmentation/test_1_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_segmentation/test_1_test.go
@@ -132,10 +132,7 @@ func (a *ApplicationNetwork) Run(timeLimit time.Duration) error {
if a.log.Debug().Enabled() {
a.log.Debug().Msg("time machine finished")
for _, machine := range a.GetStateMachines() {
- a.log.Debug().Stringer("machine", machine).Msg("machine")
- for _, entry := range machine.GetTransactionLog() {
- a.log.Debug().Str("entry", entry).Msg("transaction log entry")
- }
+ a.log.Debug().Stringer("machine", machine).Stringers("entries", ToStringers(machine.GetTransactionLog())).Msg("machine")
}
a.trafficLog.Dump(a._debug)
@@ -339,7 +336,7 @@ func (a *ApplicationStateMachine) Indication(args Args, kwArgs KWArgs) error {
a.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
// let the state machine know the request was received
- err := a.Receive(args, NoKWArgs)
+ err := a.Receive(args, NoKWArgs())
if err != nil {
return errors.Wrap(err, "error receiving indication")
}
@@ -436,7 +433,7 @@ func SegmentationTest(t *testing.T, prefix string, cLen, sLen int) {
KnownKey("serviceParameters"), requestString,
KnownKey("destination"), anet.iut.address,
)), nil).Doc(prefix+"-1").
- Receive(NA((*apdu.ConfirmedPrivateTransferRequest)(nil)), NoKWArgs).Doc(prefix + "-2").
+ Receive(NA((*apdu.ConfirmedPrivateTransferRequest)(nil)), NoKWArgs()).Doc(prefix + "-2").
Success("")
// no IUT application layer matching
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_service/helpers.go b/plc4go/internal/bacnetip/bacgopes/tests/test_service/helpers.go
index 394ba25ba4..756cfa0fdb 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_service/helpers.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_service/helpers.go
@@ -144,10 +144,7 @@ func (a *ApplicationNetwork) Run(timeLimit time.Duration) error {
if a.log.Debug().Enabled() {
a.log.Debug().Msg("time machine finished")
for _, machine := range a.GetStateMachines() {
- a.log.Debug().Stringer("machine", machine).Msg("machine")
- for _, entry := range machine.GetTransactionLog() {
- a.log.Debug().Str("entry", entry).Msg("transaction log entry")
- }
+ a.log.Debug().Stringer("machine", machine).Stringers("entries", ToStringers(machine.GetTransactionLog())).Msg("machine")
}
a.trafficLog.Dump(a._debug)
@@ -337,7 +334,7 @@ func (s *SnifferStateMachine) Confirmation(args Args, kwArgs KWArgs) error {
// TODO: print etc
// pass to the state machine
- return s.Receive(args, NoKWArgs)
+ return s.Receive(args, NoKWArgs())
}
//go:generate plc4xGenerator -type=ApplicationStateMachine
@@ -440,14 +437,14 @@ func (a *ApplicationStateMachine) Send(args Args, kwArgs KWArgs) error {
if err != nil {
return errors.Wrap(err, "error creating iocb")
}
- return a.Request(NA(iocb), NoKWArgs)
+ return a.Request(NA(iocb), NoKWArgs())
}
func (a *ApplicationStateMachine) Indication(args Args, kwArgs KWArgs) error {
a.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
// let the state machine know the request was received
- err := a.Receive(args, NoKWArgs)
+ err := a.Receive(args, NoKWArgs())
if err != nil {
return errors.Wrap(err, "error receiving indication")
}
@@ -460,7 +457,7 @@ func (a *ApplicationStateMachine) Confirmation(args Args, kwArgs KWArgs) error {
a.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Confirmation")
// forward the confirmation to the state machine
- err := a.Receive(args, NoKWArgs)
+ err := a.Receive(args, NoKWArgs())
if err != nil {
return errors.Wrap(err, "error receiving indication")
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_client_state_machine_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_client_state_machine_test.go
index a73bf98aea..61964271dc 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_client_state_machine_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_client_state_machine_test.go
@@ -34,7 +34,6 @@ import (
)
func TestClientStateMachine(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
testingLogger := testutils.ProduceTestingLogger(t)
// create a client state machine, trapped server, and bind them together
client, err := NewClientStateMachine(testingLogger)
@@ -63,5 +62,5 @@ func TestClientStateMachine(t *testing.T) {
// check the transaction log
assert.Len(t, client.GetTransactionLog(), 1)
- assert.Contains(t, client.GetTransactionLog()[0], pdu.String())
+ assert.Equal(t, client.GetTransactionLog()[0].Pdu, pdu)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_server_state_machine_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_server_state_machine_test.go
index 7eba1acc2e..3f529c25ad 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_server_state_machine_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_server_state_machine_test.go
@@ -34,7 +34,6 @@ import (
)
func TestServerStateMachine(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
testingLogger := testutils.ProduceTestingLogger(t)
// create a client state machine, trapped server, and bind them together
client, err := NewTrappedClient(testingLogger)
@@ -63,5 +62,5 @@ func TestServerStateMachine(t *testing.T) {
// check the transaction log
assert.Len(t, server.GetTransactionLog(), 1)
- assert.Contains(t, server.GetTransactionLog()[0], pdu.String())
+ assert.Equal(t, server.GetTransactionLog()[0].Pdu, pdu)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_service_access_point_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_service_access_point_test.go
index a897fdaeb0..e166352f94 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_service_access_point_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_service_access_point_test.go
@@ -54,7 +54,7 @@ func NewEchoAccessPoint(localLog zerolog.Logger, requirements EchoAccessPointReq
func (e *EchoAccessPoint) SapIndication(args Args, kwArgs KWArgs) error {
e.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("SapIndication")
- return e.requirements.SapResponse(args, NoKWArgs)
+ return e.requirements.SapResponse(args, NoKWArgs())
}
func (e *EchoAccessPoint) SapConfirmation(args Args, kwArgs KWArgs) error {
@@ -120,7 +120,7 @@ func NewEchoServiceElement(localLog zerolog.Logger, requirements EchoServiceElem
func (e *EchoServiceElement) Indication(args Args, kwArgs KWArgs) error {
e.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
- return e.requirements.Response(args, NoKWArgs)
+ return e.requirements.Response(args, NoKWArgs())
}
func (e *EchoServiceElement) Confirmation(args Args, kwArgs KWArgs) error {
@@ -199,7 +199,7 @@ func (suite *TestApplicationSuite) TestSapRequest() {
pdu := NewPDU(Nothing())
// service access point is going to request something
- err := suite.sap.SapRequest(NA(pdu), NoKWArgs)
+ err := suite.sap.SapRequest(NA(pdu), NoKWArgs())
suite.Assert().NoError(err)
// make sure the request was sent and received
@@ -216,7 +216,7 @@ func (suite *TestApplicationSuite) TestAseRequest() {
pdu := NewPDU(Nothing())
// service access point is going to request something
- err := suite.ase.Request(NA(pdu), NoKWArgs)
+ err := suite.ase.Request(NA(pdu), NoKWArgs())
suite.Assert().NoError(err)
// make sure the request was sent and received
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_state_machine_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_state_machine_test.go
index 3b60254031..70a86da05f 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_state_machine_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_state_machine_test.go
@@ -241,7 +241,6 @@ func TestMatchPdu(t *testing.T) {
}
func TestState(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
t.Run("test_state_doc", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -285,7 +284,7 @@ func TestState(t *testing.T) {
}
func TestStateMachine(t *testing.T) {
- t.Skip("currently broken") // TODO: fixme
+ t.Skip("Something is competely broken") // TODO: fixme
t.Run("test_state_machine_run", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -360,7 +359,7 @@ func TestStateMachine(t *testing.T) {
// check the transaction log
require.Equal(t, 1, len(tsm.GetTransactionLog()))
- assert.Contains(t, tsm.GetTransactionLog()[0], "PDU")
+ assert.Equal(t, tsm.GetTransactionLog()[0].Pdu, pdu)
})
t.Run("test_state_machine_receive", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -372,7 +371,7 @@ func TestStateMachine(t *testing.T) {
pdu := TPDU{}
// make a send transition from start to success, run the machine
- tsm.GetStartState().Receive(NA(pdu), NoKWArgs).Success("")
+ tsm.GetStartState().Receive(NA(pdu), NoKWArgs()).Success("")
err := tsm.Run()
assert.NoError(t, err)
@@ -380,7 +379,7 @@ func TestStateMachine(t *testing.T) {
assert.True(t, tsm.IsRunning())
// tell the machine it is receiving the pdu
- err = tsm.Receive(NA(pdu), NoKWArgs)
+ err = tsm.Receive(NA(pdu), NoKWArgs())
require.NoError(t, err)
// check for success
@@ -393,7 +392,7 @@ func TestStateMachine(t *testing.T) {
// check the transaction log
require.Equal(t, 1, len(tsm.GetTransactionLog()))
- assert.Contains(t, tsm.GetTransactionLog()[0], pdu.String())
+ assert.Contains(t, tsm.GetTransactionLog()[0].Pdu, pdu)
})
t.Run("test_state_machine_unexpected", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -415,7 +414,7 @@ func TestStateMachine(t *testing.T) {
assert.True(t, tsm.IsRunning())
// give the machine a bad pdu
- err = tsm.Receive(NA(badPdu), NoKWArgs)
+ err = tsm.Receive(NA(badPdu), NoKWArgs())
require.NoError(t, err)
// check for fail
@@ -428,7 +427,7 @@ func TestStateMachine(t *testing.T) {
// check the transaction log
require.Equal(t, 1, len(tsm.GetTransactionLog()))
- assert.Contains(t, tsm.GetTransactionLog()[0], badPdu.String())
+ assert.Equal(t, tsm.GetTransactionLog()[0].Pdu, badPdu)
})
t.Run("test_state_machine_call", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -444,7 +443,7 @@ func TestStateMachine(t *testing.T) {
tsm := NewTrappedStateMachine(testingLogger)
// make a send transition from start to success, run the machine
- tsm.GetStartState().Call(_called, NA(true), NoKWArgs).Success("")
+ tsm.GetStartState().Call(_called, NA(true), NoKWArgs()).Success("")
err := tsm.Run()
assert.NoError(t, err)
@@ -469,7 +468,7 @@ func TestStateMachine(t *testing.T) {
tsm := NewTrappedStateMachine(testingLogger)
// make a send transition from start to success, run the machine
- tsm.GetStartState().Call(_called, NA(true), NoKWArgs)
+ tsm.GetStartState().Call(_called, NA(true), NoKWArgs())
err := tsm.Run()
assert.NoError(t, err)
@@ -507,7 +506,7 @@ func TestStateMachine(t *testing.T) {
assert.Same(t, s1, tsm.GetCurrentState())
// give the machine the second pdu
- err = tsm.Receive(NA(secondPdu), NoKWArgs)
+ err = tsm.Receive(NA(secondPdu), NoKWArgs())
require.NoError(t, err)
// check for success
@@ -523,8 +522,8 @@ func TestStateMachine(t *testing.T) {
t.Log("callbacks passed")
// check the transaction log
- assert.Contains(t, tsm.GetTransactionLog()[0], firstPdu.String())
- assert.Contains(t, tsm.GetTransactionLog()[1], secondPdu.String())
+ assert.Equal(t, tsm.GetTransactionLog()[0].Pdu, firstPdu)
+ assert.Equal(t, tsm.GetTransactionLog()[1].Pdu, secondPdu)
})
t.Run("test_state_machine_loop_02", func(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
@@ -552,7 +551,7 @@ func TestStateMachine(t *testing.T) {
assert.True(t, tsm.IsRunning())
// give the machine the first pdu
- err = tsm.Receive(NA(firstPdu), NoKWArgs)
+ err = tsm.Receive(NA(firstPdu), NoKWArgs())
require.NoError(t, err)
// check for success
@@ -568,8 +567,8 @@ func TestStateMachine(t *testing.T) {
t.Log("callbacks passed")
// check the transaction log
- assert.Contains(t, tsm.GetTransactionLog()[0], firstPdu.String())
- assert.Contains(t, tsm.GetTransactionLog()[1], secondPdu.String())
+ assert.Contains(t, tsm.GetTransactionLog()[0].Pdu, firstPdu)
+ assert.Contains(t, tsm.GetTransactionLog()[1].Pdu, secondPdu)
})
}
@@ -635,8 +634,8 @@ func TestStateMachineTimeout2(t *testing.T) {
// check the transaction log
assert.Len(t, tsm.GetTransactionLog(), 2)
- assert.Contains(t, tsm.GetTransactionLog()[0], firstPdu.String())
- assert.Contains(t, tsm.GetTransactionLog()[1], secondPdu.String())
+ assert.Equal(t, tsm.GetTransactionLog()[0].Pdu, firstPdu)
+ assert.Equal(t, tsm.GetTransactionLog()[1].Pdu, secondPdu)
}
func TestStateMachineGroup(t *testing.T) {
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_time_machine_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_time_machine_test.go
index 3779789864..51efd8f1ce 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_time_machine_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_utilities/test_time_machine_test.go
@@ -171,7 +171,7 @@ func (suite *TimeMachineSuite) TestOneShotImmediate2() {
func (suite *TimeMachineSuite) TestFunctionTaskImmediate() {
// create a function task
- ft := FunctionTask(suite.SampleTaskFunction(), NoArgs, NoKWArgs)
+ ft := FunctionTask(suite.SampleTaskFunction(), NoArgs, NoKWArgs())
suite.sampleTaskFunctionCalled = nil
// reset the time machine to midnight, install the task, let it run
@@ -189,7 +189,7 @@ func (suite *TimeMachineSuite) TestFunctionTaskDelay() {
sampleDelay := 10 * time.Second
// create a function task
- ft := FunctionTask(suite.SampleTaskFunction(), NoArgs, NoKWArgs)
+ ft := FunctionTask(suite.SampleTaskFunction(), NoArgs, NoKWArgs())
suite.sampleTaskFunctionCalled = nil
// reset the time machine to midnight, install the task, let it run
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/test_vlan/test_network_test.go b/plc4go/internal/bacnetip/bacgopes/tests/test_vlan/test_network_test.go
index d1e7926c14..897850aba8 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/test_vlan/test_network_test.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/test_vlan/test_network_test.go
@@ -329,10 +329,10 @@ func TestVLANEvents(t *testing.T) {
// node 2 receives dead_pdu, sets event, waits for beef_pdu
tnode2.GetStartState().
Receive(NA(NewPDU(Nothing())), NKW(
- KWCPCIData, []byte{0xde, 0xad},
+ KWTestPDUData, []byte{0xde, 0xad},
)).SetEvent("e").
Receive(NA(NewPDU(Nothing())), NKW(
- KWCPCIData, []byte{0xbe, 0xef},
+ KWTestPDUData, []byte{0xbe, 0xef},
)).Success("")
// run the group
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/tests.go b/plc4go/internal/bacnetip/bacgopes/tests/tests.go
index 8f0fa4c92b..8f16364a53 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/tests.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/tests.go
@@ -19,6 +19,6 @@
package tests
-import . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
+import . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
-var _debug = CreateDebugPrinter()
+const KWTestPDUData = KnownKey("pduData")
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/time_machine/time_machine_TimeMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/time_machine/time_machine_TimeMachine.go
index cbef584ac0..2c6f40d62f 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/time_machine/time_machine_TimeMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/time_machine/time_machine_TimeMachine.go
@@ -29,7 +29,6 @@ import (
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/core"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/task"
- "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/tests"
"github.com/apache/plc4x/plc4go/spi/testutils"
)
@@ -44,9 +43,6 @@ func IsGlobalTimeMachineSet() bool {
// Usually it is sufficient to use ExclusiveGlobalTimeMachine
func NewGlobalTimeMachine(t *testing.T) {
testingLogger := testutils.ProduceTestingLogger(t)
- if !tests.LogTimeMachine {
- testingLogger = zerolog.Nop()
- }
if globalTimeMachine != nil {
testingLogger.Warn().Msg("global time machine set, overwriting")
}
@@ -305,9 +301,6 @@ func RunTimeMachine(localLog zerolog.Logger, duration time.Duration, stopTime ti
if globalTimeMachine == nil {
panic("no time machine")
}
- if !tests.LogTimeMachine {
- localLog = zerolog.Nop()
- }
if _debug != nil {
_debug("run_time_machine %r %r", duration, stopTime)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes.go
index 2ee8b601d9..e301796f95 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes.go
@@ -18,3 +18,7 @@
*/
package trapped_classes
+
+import . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/debugging"
+
+var _debug = CreateDebugPrinter()
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedApplicationServiceElement.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedApplicationServiceElement.go
index 1d81a9e7f5..21018178f2 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedApplicationServiceElement.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedApplicationServiceElement.go
@@ -43,13 +43,13 @@ type TrappedApplicationServiceElementRequirements interface {
// To provide these functions, write a ServiceAccessPoint derived class and
// stuff it in the inheritance sequence:
//
-// class Snort(ApplicationServiceElement):
-// def indication(self, pdu):
+// struct Snort(ApplicationServiceElement)
+// func indication(pdu):
// ...do something...
-// def confirmation(self, pdu):
+// func confirmation(pdu)
// ...do something...
//
-// class TrappedSnort(TrappedApplicationServiceElement, Snort): pass
+// struct TrappedSnort(TrappedApplicationServiceElement, Snort)
//
// The Snort functions will be called after the PDU is trapped.
type TrappedApplicationServiceElement struct {
@@ -61,6 +61,11 @@ type TrappedApplicationServiceElement struct {
responseSent PDU
confirmationReceived PDU
+ elementID int // TODO: temporary where from?????????
+
+ // args
+ argAseId *int //TODO: hook up
+
log zerolog.Logger
}
@@ -71,6 +76,9 @@ func NewTrappedApplicationServiceElement(localLog zerolog.Logger, requirements T
requirements: requirements,
log: localLog,
}
+ if _debug != nil {
+ _debug("__init__(%s)", t.argAseId)
+ }
var err error
t.ApplicationServiceElementContract, err = NewApplicationServiceElement(localLog)
if err != nil {
@@ -101,24 +109,40 @@ func (s *TrappedApplicationServiceElement) String() string {
func (s *TrappedApplicationServiceElement) Request(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Request")
- s.requestSent = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("request(%s) %r", s.elementID, pdu)
+ }
+ s.requestSent = pdu
return s.ApplicationServiceElementContract.Request(args, kwArgs)
}
func (s *TrappedApplicationServiceElement) Indication(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
- s.indicationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("indication(%s) %r", s.elementID, pdu)
+ }
+ s.indicationReceived = pdu
return s.requirements.Indication(args, kwArgs)
}
func (s *TrappedApplicationServiceElement) Response(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Response")
- s.responseSent = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("response(%s) %r", s.elementID, pdu)
+ }
+ s.responseSent = pdu
return s.ApplicationServiceElementContract.Response(args, kwArgs)
}
func (s *TrappedApplicationServiceElement) Confirmation(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Confirmation")
- s.confirmationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("confirmation(%s) %r", s.elementID, pdu)
+ }
+ s.confirmationReceived = pdu
return s.requirements.Confirmation(args, kwArgs)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClient.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClient.go
index 14055d42f8..ecbd5e77c5 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClient.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClient.go
@@ -57,6 +57,9 @@ func NewTrappedClient(localLog zerolog.Logger, opts ...func(*TrappedClient)) (*T
for _, opt := range opts {
opt(t)
}
+ if _debug != nil {
+ _debug("__init__")
+ }
var err error
t.ClientContract, err = NewClient(localLog) // TODO: do we need to pass client id?
if err != nil {
@@ -82,7 +85,11 @@ func (t *TrappedClient) GetConfirmationReceived() PDU {
func (t *TrappedClient) Request(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Request")
// a reference for checking
- t.requestSent = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("request %r", pdu)
+ }
+ t.requestSent = pdu
// continue with regular processing
return t.ClientContract.Request(args, kwArgs)
@@ -91,6 +98,10 @@ func (t *TrappedClient) Request(args Args, kwArgs KWArgs) error {
func (t *TrappedClient) Confirmation(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Confirmation")
// a reference for checking
- t.confirmationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("confirmation %r", pdu)
+ }
+ t.confirmationReceived = pdu
return nil
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClientStateMachine.go
similarity index 70%
copy from plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go
copy to plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClientStateMachine.go
index a13654b177..cfc6e0607c 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedClientStateMachine.go
@@ -24,17 +24,21 @@ import (
"github.com/rs/zerolog"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
)
-type TrappedServerStateMachine struct {
+type TrappedClientStateMachine struct {
*TrappedServer
*TrappedStateMachine
log zerolog.Logger
}
-func NewTrappedServerStateMachine(localLog zerolog.Logger) (*TrappedServerStateMachine, error) {
- t := &TrappedServerStateMachine{log: localLog}
+func NewTrappedClientStateMachine(localLog zerolog.Logger) (*TrappedClientStateMachine, error) {
+ t := &TrappedClientStateMachine{log: localLog}
+ if _debug != nil {
+ _debug("__init__")
+ }
var err error
t.TrappedServer, err = NewTrappedServer(localLog, WithTrappedServerContract(t))
if err != nil {
@@ -44,12 +48,24 @@ func NewTrappedServerStateMachine(localLog zerolog.Logger) (*TrappedServerStateM
return t, nil
}
-func (t *TrappedServerStateMachine) Send(args Args, kwArgs KWArgs) error {
+func (t *TrappedClientStateMachine) Send(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Send")
+
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("send %r", pdu)
+ }
+
return t.Response(args, kwArgs)
}
-func (t *TrappedServerStateMachine) Indication(args Args, kwArgs KWArgs) error {
- t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
+func (t *TrappedClientStateMachine) Confirmation(args Args, kwArgs KWArgs) error {
+ t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Confirmation")
+
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("confirmation %r", pdu)
+ }
+
return t.Receive(args, kwArgs)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServer.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServer.go
index 3f9ca74b59..f961a576e9 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServer.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServer.go
@@ -57,6 +57,9 @@ func NewTrappedServer(localLog zerolog.Logger, opts ...func(*TrappedServer)) (*T
for _, opt := range opts {
opt(t)
}
+ if _debug != nil {
+ _debug("__init__")
+ }
var err error
t.ServerContract, err = NewServer(localLog) // TODO: do we need to pass server id
if err != nil {
@@ -81,16 +84,25 @@ func (t *TrappedServer) GetResponseSent() PDU {
func (t *TrappedServer) Indication(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
- // a reference for checking
- t.indicationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("indication %r", pdu)
+ }
+ // a reference for checking
+ t.indicationReceived = pdu
return nil
}
func (t *TrappedServer) Response(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Response")
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("response %r", pdu)
+ }
+
// a reference for checking
- t.responseSent = GA[PDU](args, 0)
+ t.responseSent = pdu
// continue with regular processing
return t.ServerContract.Response(args, kwArgs)
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go
index a13654b177..6860b32cae 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServerStateMachine.go
@@ -24,6 +24,7 @@ import (
"github.com/rs/zerolog"
. "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/comp"
+ . "github.com/apache/plc4x/plc4go/internal/bacnetip/bacgopes/pdu"
)
type TrappedServerStateMachine struct {
@@ -35,6 +36,9 @@ type TrappedServerStateMachine struct {
func NewTrappedServerStateMachine(localLog zerolog.Logger) (*TrappedServerStateMachine, error) {
t := &TrappedServerStateMachine{log: localLog}
+ if _debug != nil {
+ _debug("__init__")
+ }
var err error
t.TrappedServer, err = NewTrappedServer(localLog, WithTrappedServerContract(t))
if err != nil {
@@ -46,10 +50,20 @@ func NewTrappedServerStateMachine(localLog zerolog.Logger) (*TrappedServerStateM
func (t *TrappedServerStateMachine) Send(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Send")
+
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("send %r", pdu)
+ }
return t.Response(args, kwArgs)
}
func (t *TrappedServerStateMachine) Indication(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Indication")
+
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("indication %r", pdu)
+ }
return t.Receive(args, kwArgs)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServiceAccessPoint.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServiceAccessPoint.go
index d1812e0c6d..9db02daaa1 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServiceAccessPoint.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedServiceAccessPoint.go
@@ -61,6 +61,11 @@ type TrappedServiceAccessPoint struct {
sapResponseSent PDU
sapConfirmationReceived PDU
+ serviceID int // TODO: temporary where from?????????
+
+ // args
+ argSapId *int //TODO: hook up
+
log zerolog.Logger
}
@@ -69,6 +74,9 @@ func NewTrappedServiceAccessPoint(localLog zerolog.Logger, requirements TrappedS
requirements: requirements,
log: localLog,
}
+ if _debug != nil {
+ _debug("__init__(%s)", t.argSapId)
+ }
var err error
t.ServiceAccessPointContract, err = NewServiceAccessPoint(localLog)
if err != nil {
@@ -95,24 +103,40 @@ func (s *TrappedServiceAccessPoint) GetSapConfirmationReceived() PDU {
func (s *TrappedServiceAccessPoint) SapRequest(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("SapRequest")
- s.sapRequestSent = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("sap_request(%s) %r", s.serviceID, pdu)
+ }
+ s.sapRequestSent = pdu
return s.ServiceAccessPointContract.SapRequest(args, kwArgs)
}
func (s *TrappedServiceAccessPoint) SapIndication(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("SapIndication")
- s.sapIndicationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("sap_indication(%s) %r", s.serviceID, pdu)
+ }
+ s.sapIndicationReceived = pdu
return s.requirements.SapIndication(args, kwArgs)
}
func (s *TrappedServiceAccessPoint) SapResponse(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("SapResponse")
- s.sapResponseSent = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("sap_response(%s) %r", s.serviceID, pdu)
+ }
+ s.sapResponseSent = pdu
return s.ServiceAccessPointContract.SapResponse(args, kwArgs)
}
func (s *TrappedServiceAccessPoint) SapConfirmation(args Args, kwArgs KWArgs) error {
s.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("SapConfirmation")
- s.sapConfirmationReceived = GA[PDU](args, 0)
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("sap_confirmation(%s) %r", s.serviceID, pdu)
+ }
+ s.sapConfirmationReceived = pdu
return s.requirements.SapConfirmation(args, kwArgs)
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedStateMachine.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedStateMachine.go
index ddaf0b04c3..674056a999 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedStateMachine.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_TrappedStateMachine.go
@@ -46,6 +46,9 @@ func NewTrappedStateMachine(localLog zerolog.Logger) *TrappedStateMachine {
t := &TrappedStateMachine{
log: localLog,
}
+ if _debug != nil {
+ _debug("__init__ %r", nil) //TODO: kwargs
+ }
var init func()
t.StateMachineContract, init = state_machine.NewStateMachine(localLog, t, state_machine.WithStateMachineStateInterceptor(t), state_machine.WithStateMachineStateDecorator(t.DecorateState))
t.Trapper = NewTrapper(localLog, t.StateMachineContract)
@@ -63,8 +66,13 @@ func (t *TrappedStateMachine) BeforeSend(pdu PDU) {
func (t *TrappedStateMachine) Send(args Args, kwArgs KWArgs) error {
t.log.Debug().Stringer("args", args).Stringer("kwArgs", kwArgs).Msg("Send")
+ pdu := GA[PDU](args, 0)
+ if _debug != nil {
+ _debug("send %r", pdu)
+ }
+
// keep a copy
- t.sent = GA[PDU](args, 0)
+ t.sent = pdu
return nil
}
diff --git a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_Trapper.go b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_Trapper.go
index 45e91b86e4..2cfc8643f9 100644
--- a/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_Trapper.go
+++ b/plc4go/internal/bacnetip/bacgopes/tests/trapped_classes/trapped_classes_Trapper.go
@@ -52,12 +52,18 @@ func NewTrapper(localLog zerolog.Logger, requirements TrapperRequirements) *Trap
TrapperRequirements: requirements,
log: localLog,
}
+ if _debug != nil {
+ _debug("__init__ %r %r", nil, nil) //TODO: args and kwargs
+ }
// reset to initialize
trapper.reset()
return trapper
}
func (t *Trapper) reset() {
+ if _debug != nil {
+ _debug("reset")
+ }
t.log.Trace().Msg("Reset")
// flush the copies
t.beforeSendPdu = nil
@@ -69,6 +75,9 @@ func (t *Trapper) reset() {
// BeforeSend is Called before each PDU about to be sent.
func (t *Trapper) BeforeSend(pdu PDU) {
+ if _debug != nil {
+ _debug("before_send %r", pdu)
+ }
t.log.Debug().Stringer("pdu", pdu).Msg("BeforeSend")
//keep a copy
t.beforeSendPdu = pdu
@@ -83,6 +92,9 @@ func (t *Trapper) GetBeforeSendPdu() PDU {
// AfterSend is Called after each PDU sent.
func (t *Trapper) AfterSend(pdu PDU) {
+ if _debug != nil {
+ _debug("after_send %r", pdu)
+ }
t.log.Debug().Stringer("pdu", pdu).Msg("AfterSend")
//keep a copy
t.afterSendPdu = pdu
@@ -97,6 +109,9 @@ func (t *Trapper) GetAfterSendPdu() PDU {
// BeforeReceive is Called with each PDU received before matching.
func (t *Trapper) BeforeReceive(pdu PDU) {
+ if _debug != nil {
+ _debug("before_receive %r", pdu)
+ }
t.log.Debug().Stringer("pdu", pdu).Msg("BeforeReceive")
//keep a copy
t.beforeReceivePdu = pdu
@@ -111,6 +126,9 @@ func (t *Trapper) GetBeforeReceivePdu() PDU {
// AfterReceive is Called with PDU received after match.
func (t *Trapper) AfterReceive(pdu PDU) {
+ if _debug != nil {
+ _debug("after_receive %r", pdu)
+ }
t.log.Debug().Stringer("pdu", pdu).Msg("AfterReceive")
//keep a copy
t.afterReceivePdu = pdu
@@ -125,6 +143,9 @@ func (t *Trapper) GetAfterReceivePdu() PDU {
// UnexpectedReceive is Called with PDU that did not match. Unless this is trapped by the state, the default behaviour is to fail.
func (t *Trapper) UnexpectedReceive(pdu PDU) {
+ if _debug != nil {
+ _debug("unexpected_receive %r", pdu)
+ }
t.log.Debug().Stringer("pdu", pdu).Msg("UnexpectedReceive")
//keep a copy
t.unexpectedReceivePdu = pdu
diff --git a/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPActor.go b/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPActor.go
index 1a135a58bd..d293d41bcc 100644
--- a/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPActor.go
+++ b/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPActor.go
@@ -53,7 +53,7 @@ func NewUDPActor(localLog zerolog.Logger, director *UDPDirector, peer string) *U
// Add a timer
a.timeout = director.timeout
if a.timeout > 0 {
- a.timer = FunctionTask(a.idleTimeout, NoArgs, NoKWArgs)
+ a.timer = FunctionTask(a.idleTimeout, NoArgs, NoKWArgs())
a.timer.InstallTask(WithInstallTaskOptionsWhen(GetTaskManagerTime().Add(time.Duration(a.timeout) * time.Millisecond)))
}
diff --git a/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPDirector.go b/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPDirector.go
index 58a1ec1af6..693efed8cc 100644
--- a/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPDirector.go
+++ b/plc4go/internal/bacnetip/bacgopes/udp/udp_UDPDirector.go
@@ -232,7 +232,7 @@ func (d *UDPDirector) handleRead() {
d.handleError(errors.Wrap(err, "error parsing destination address"))
return
}
- pdu := NewCPDU(NoArgs, NKW(KWCompRootMessage, bvlc, KWCPCISource, saddr, KWCPCIDestination, daddr)) // TODO: why do we set the destination here??? This might be completely wrong
+ pdu := NewCPDU(readBytes, NKW(KWCompRootMessage, bvlc, KWCPCISource, saddr, KWCPCIDestination, daddr)) // TODO: why do we set the destination here??? This might be completely wrong
// send the _PDU up to the client
d.wg.Add(1)
go func() {
@@ -302,5 +302,5 @@ func (d *UDPDirector) _response(pdu PDU) error {
}
// send the message
- return peer.Response(NA(pdu), NoKWArgs)
+ return peer.Response(NA(pdu), NoKWArgs())
}
diff --git a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_IPRouterNode.go b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_IPRouterNode.go
index 76efba8a93..09d5ace5cd 100644
--- a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_IPRouterNode.go
+++ b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_IPRouterNode.go
@@ -102,7 +102,7 @@ func (n *IPRouterNode) ProcessPDU(pdu PDU) error {
_debug("process_pdu %r", pdu)
}
n.log.Debug().Stringer("pdu", pdu).Msg("ProcessPDU")
- return n.Request(NA(pdu), NoKWArgs)
+ return n.Request(NA(pdu), NoKWArgs())
}
func (n *IPRouterNode) Format(s fmt.State, v rune) {
diff --git a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Network.go b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Network.go
index f69e7174ef..3122ade388 100644
--- a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Network.go
+++ b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Network.go
@@ -156,7 +156,7 @@ func (n *Network) ProcessPDU(pdu PDU) error {
_debug(" - match: %r", node)
}
n.log.Debug().Stringer("node", node).Msg("match")
- if err := node.Response(NA(DeepCopy[PDU](pdu)), NoKWArgs); err != nil {
+ if err := node.Response(NA(DeepCopy[PDU](pdu)), NoKWArgs()); err != nil {
n.log.Debug().Err(err).Msg("error processing PDU")
}
}
@@ -172,7 +172,7 @@ func (n *Network) ProcessPDU(pdu PDU) error {
_debug(" - match: %r", node)
}
n.log.Debug().Stringer("node", node).Msg("match")
- if err := node.Response(NA(DeepCopy[PDU](pdu)), NoKWArgs); err != nil {
+ if err := node.Response(NA(DeepCopy[PDU](pdu)), NoKWArgs()); err != nil {
n.log.Debug().Err(err).Msg("error processing PDU")
}
}
diff --git a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Node.go b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Node.go
index 04897eea2e..e637dae0be 100644
--- a/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Node.go
+++ b/plc4go/internal/bacnetip/bacgopes/vlan/vlan_Node.go
@@ -172,7 +172,7 @@ func (n *Node) Indication(args Args, kwArgs KWArgs) error {
// actual network delivery is a zero-delay task
OneShotFunction(func(args Args, kwArgs KWArgs) error {
return n.lan.ProcessPDU(pdu)
- }, args, NoKWArgs)
+ }, args, NoKWArgs())
return nil
}