|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Inheritance diagram for profinet::rpc::RpcTests:
Collaboration diagram for profinet::rpc::RpcTests:Classes | |
| class | TestRpcTransport |
| Deterministic RPC transport used to test RPCCon without UDP. More... | |
Protected Member Functions | |
| void | SetUp () override |
| void | TearDown () override |
| dcp::DCPDeviceDescription | MakeRpcTestDeviceInfo () |
| Creates a deterministic DCP device description suitable for RPC constructor tests. | |
| bool | IsAllZeroUuid (const std::array< std::uint8_t, uuidLenght > &uuid) |
| Checks whether every byte in a UUID is zero. | |
| PNRPCHeader | CreateRpc (const Bytes &payload, RPCCon *conn=nullptr) |
| Calls the private RPC header construction helper. | |
| Bytes | InvokeBuildIocrBlock (IocrType iocrType, const IOCRSetup &setup) |
| Calls the IOCR block construction helper. | |
| Bytes | MakeEpmTowerFloor (const Bytes &lhs, const Bytes &rhs) |
| Builds one EPM tower floor from an LHS and RHS field. | |
| Bytes | MakeEpmTower (const std::vector< Bytes > &floors) |
| Builds a complete EPM tower from encoded floors. | |
| Bytes | MakeInterfaceTowerLhs (const std::string &uuid, std::uint16_t major) |
| Builds the LHS of an EPM interface tower floor. | |
| Bytes | MakeInterfaceTowerRhs (std::uint16_t minor) |
| Builds the RHS of an EPM interface tower floor. | |
| Bytes | MakeCompleteEpmTower (const std::string &interfaceUuid, std::uint16_t major, std::uint16_t minor, std::uint16_t port, const std::array< std::uint8_t, 4 > &ipAddress) |
| Builds a complete EPM tower for an endpoint. | |
| bool | IsZeroUuid (const std::array< std::uint8_t, uuidLenght > &uuid) |
| Checks whether a UUID byte array contains only zero bytes. | |
| Bytes | MakeEpmLookupBody (const std::array< std::uint8_t, uuidLenght > &objectUuid, const std::string &annotation, const Bytes &tower) |
| Builds a synthetic EPM lookup response body containing one entry. | |
| Bytes | MakeEpmResponse (const Bytes &body) |
| Builds a minimal DCE/RPC response containing the supplied body. | |
| void | ReplyToEpmLookup (asio::ip::udp::socket &server, const Bytes &response, Bytes &request) |
| Receives an EPM lookup request and sends a synthetic response. | |
| Bytes | MakeDcpBlock (DcpOption option, std::uint8_t suboption, const Bytes &payload) |
| Builds a serialized DCP block. | |
| Bytes | MakeDcpResponseFrame (const MacAddress &src, const MacAddress &dst, DcpServiceId serviceId, std::uint32_t xid, const Bytes &payload) |
| Builds an untagged Ethernet frame containing a DCP response. | |
| Bytes | MakeStationNameResponse (const MacAddress &deviceMac, const MacAddress &controllerMac, const std::string &stationName) |
| Builds a DCP response containing a station-name block. | |
| Bytes | MakeDeviceResponse (const MacAddress &deviceMac, const MacAddress &controllerMac, const std::string &stationName, const Bytes &additionalBlocks={}) |
| Builds a DCP response containing multiple station/device blocks. | |
| std::map< dcp::BlockKey, std::vector< std::uint8_t > > | MakeStationBlocks (const std::string &stationName) |
| Creates a map of DCP blocks containing only a station name. | |
| PNNRDData | InvokeCreateNrd (const Bytes &payload) |
| Calls the private RPCCon::CreateNrd helper. | |
| Bytes | InvokeBuildAlarmCrBlock (int transport, int priority) |
| Calls the private RPCCon::BuildAlarmCrBlock helper. | |
| int | InvokeParseAlarmCrResponse (const Bytes &responseData) |
| Calls the private RPCCon::ParseAlarmCrResponse helper. | |
| std::unique_ptr< RPCCon > | MakeTestRpcConnection () |
| Creates a deterministic RPC connection for helper tests. | |
| Bytes | MakeAlarmCrResponseBlock (std::uint16_t localAlarmReference) |
| Creates a valid AlarmCR response block. | |
| Bytes | MakeBlockHeader (BlockType blockType, std::uint16_t blockLength) |
| Creates an unrelated serialized block header. | |
| std::unique_ptr< RPCCon > | MakeTestTransportRpcConnection (std::unique_ptr< IRpcTransport > transport, std::unique_ptr< IRpcTransport > ctransport=nullptr) |
| Creates a test RPC connection using the injected transport. | |
| Bytes | MakeRpcResponseBytes (std::uint8_t packetType=PNRPCHeader::RESPONSE, std::uint16_t operationNumber=0, const Bytes &payload={}) |
| Creates an empty successful RPC response. | |
| Bytes | MakeNrdResponseBytes (const Bytes &payload={}) |
| Creates a successful NRD response wrapping the supplied payload. | |
| Bytes | MakeNrdRpcResponseBytes (std::uint16_t operationNumber, const Bytes &payload={}) |
| Creates an RPC response containing an NRD response. | |
| Bytes | MakePnioErrorNrdResponse (std::uint32_t status, const Bytes &payload={}) |
| Creates an NRD response containing a PROFINET error status. | |
| Bytes | MakeIodResponsePayload (std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx, const Bytes &payload) |
| Creates a valid IOD response block. | |
| Bytes | MakeImPayload (std::uint16_t index) |
| Creates a deterministic I&M payload of the required size. | |
| Bytes | MakeDiagnosisPayload () |
| Builds a diagnosis block containing one ChannelDiagnosis entry. | |
| Bytes | MakeRealIdentificationPayload () |
| Builds a v1.0 RealIdentificationData payload. | |
| Bytes | MakeModuleDiffPayload () |
| Builds a valid ModuleDiffBlock payload. | |
| Bytes | MakeWriteMultipleResponsePayload () |
| Builds a minimal WriteMultiple response containing one successful entry. | |
| Bytes | MakeIocrResponseBlock (std::uint16_t iocrType, std::uint16_t iocrReference, std::uint16_t frameId) |
| Creates a serialized IOCR response block. | |
| std::uint16_t | InvokeParseIocrResponse (const Bytes &responseData, int iocrType) |
| PNRPCHeader | InvokeSendReceive (const PNRPCHeader &request) |
| void | InvokeSetRPCConLive (bool live) |
| void | InvokeSetRPCConArUuid (std::uint8_t byte) |
| void | InvokeSetRPCConArUuid (const std::array< std::uint8_t, uuidLenght > &bytes) |
| void | InvokeSetRPCConSessionKey (std::uint16_t byte) |
| void | InvokeSetRPCConInfo (std::uint8_t deviceHigh, std::uint8_t deviceLow, std::uint8_t vendorHigh, std::uint8_t vendorLow) |
| void | InvokeSetRPCConSrcMac (std::string mac) |
| void | InvokeSetRPCConLiveMonotonic (std::chrono::steady_clock::time_point time) |
| void | InvokeRPCConCheckTimeout () |
| bool | InvokeGetRPCConLive () |
| std::optional< MacAddress > | InvokeGetRPCConSrcMac () |
| Bytes | InvokeSendControl (BlockType blockType, ControlCommand controlCommand, bool waitResponse=true, const Bytes &subBlocks={}) |
| Bytes | MakeRawRpcHeader (bool littleEndian, std::uint8_t packetType, std::uint32_t interfaceVersion, std::uint32_t sequenceNumber, std::uint16_t operationNumber, const Bytes &payload) |
| Creates a raw DCE/RPC message for unit-test input. | |
| Bytes | MakeApplicationReadyControlBlock (std::uint16_t blockType=BLOCK_IOD_CONTROL_APP_READY_REQ, ControlCommand controlCommand=ControlCommand::ApplicationReady) |
| Creates a serialized IOD control block. | |
| Bytes | MakeApplicationReadyNrd (const Bytes &block, bool littleEndian) |
| Creates an NRD payload containing an IOD control block. | |
| Bytes | MakeApplicationReadyRequest (bool littleEndian, std::uint16_t blockType=BLOCK_IOD_CONTROL_APP_READY_REQ, ControlCommand controlCommand=ControlCommand::ApplicationReady) |
| Creates a raw DCE/RPC Application Ready request. | |
Protected Attributes | |
| std::unique_ptr< RPCCon > | conn |
| std::unique_ptr< TestRpcTransport > | transport |
| TestRpcTransport * | rawTransport = nullptr |
| std::unique_ptr< TestRpcTransport > | ctransport |
| TestRpcTransport * | rawcTransport = nullptr |
Definition at line 39 of file test_rpc.cpp.
|
inlineprotected |
Calls the private RPC header construction helper.
| payload | RPC payload. |
Definition at line 88 of file test_rpc.cpp.
References conn, profinet::PNRPCHeader::CONNECT, and payload.
|
inlineprotected |
Calls the private RPCCon::BuildAlarmCrBlock helper.
| conn | RPC connection under test. |
| transport | Alarm transport selector. |
| priority | Alarm priority. |
Definition at line 441 of file test_rpc.cpp.
|
inlineprotected |
Calls the IOCR block construction helper.
| iocrType | IOCR type. |
| setup | IOCR configuration. |
Definition at line 103 of file test_rpc.cpp.
References profinet::rpc::RPCCon::BuildIocrBlock().
Here is the call graph for this function:Calls the private RPCCon::CreateNrd helper.
| conn | RPC connection under test. |
| payload | Payload to wrap. |
Definition at line 430 of file test_rpc.cpp.
|
inlineprotected |
Definition at line 970 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 975 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Calls the private RPCCon::ParseAlarmCrResponse helper.
| responseData | Serialized RPC response block data. |
Definition at line 450 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 913 of file test_rpc.cpp.
References profinet::rpc::RPCCon::ParseIocrResponse().
Here is the call graph for this function:
|
inlineprotected |
Definition at line 966 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 979 of file test_rpc.cpp.
|
inlineprotected |
Definition at line 925 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 938 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 933 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 947 of file test_rpc.cpp.
References profinet::rpc::BuildObjectUuid(), and conn.
Here is the call graph for this function:
|
inlineprotected |
Definition at line 929 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 962 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 943 of file test_rpc.cpp.
References conn.
|
inlineprotected |
Definition at line 957 of file test_rpc.cpp.
References conn, and profinet::String2Mac().
Here is the call graph for this function:
|
inlineprotected |
Checks whether every byte in a UUID is zero.
| uuid | UUID byte array to inspect. |
Definition at line 75 of file test_rpc.cpp.
|
inlineprotected |
Checks whether a UUID byte array contains only zero bytes.
| uuid | UUID byte array. |
Definition at line 213 of file test_rpc.cpp.
|
inlineprotected |
Creates a valid AlarmCR response block.
| localAlarmReference | Local alarm reference to encode. |
Definition at line 467 of file test_rpc.cpp.
References profinet::AlarmCrResponse, profinet::PNAlarmCRBlockRes::blockHeader, profinet::PNBlockHeader::blockLength, profinet::PNBlockHeader::blockType, profinet::PNBlockHeader::blockVersionHigh, profinet::PNBlockHeader::blockVersionLow, profinet::PNAlarmCRBlockRes::kSize, profinet::PNAlarmCRBlockRes::localAlarmReference, profinet::PNBlockHeader::ToBytes(), and profinet::PNAlarmCRBlockRes::ToBytes().
Here is the call graph for this function:
|
inlineprotected |
Creates a serialized IOD control block.
| blockType | PROFINET IOD control block type. |
| controlCommand | Control command encoded in the block. |
Definition at line 1063 of file test_rpc.cpp.
References profinet::PNIODReleaseBlock::arUuid, profinet::PNIODReleaseBlock::blockHeader, profinet::PNBlockHeader::blockLength, profinet::PNBlockHeader::blockType, profinet::PNBlockHeader::blockVersionHigh, profinet::PNBlockHeader::blockVersionLow, profinet::PNIODReleaseBlock::controlBlockProperties, profinet::PNIODReleaseBlock::controlCommand, profinet::PNIODReleaseBlock::kSize, profinet::PNIODReleaseBlock::padding1, profinet::PNIODReleaseBlock::padding2, profinet::PNIODReleaseBlock::sessionKey, profinet::PNBlockHeader::ToBytes(), and profinet::PNIODReleaseBlock::ToBytes().
Referenced by MakeApplicationReadyRequest().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Creates an NRD payload containing an IOD control block.
| block | Serialized IOD control block. |
| littleEndian | Whether NRD header fields use little-endian encoding. |
Definition at line 1091 of file test_rpc.cpp.
References profinet::wire::PutLittleEndian(), and profinet::wire::PutU32().
Referenced by MakeApplicationReadyRequest().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Creates a raw DCE/RPC Application Ready request.
| littleEndian | Whether RPC and NRD numeric fields use little-endian byte order. |
| blockType | IOD control block type. |
| controlCommand | Control command contained in the block. |
Definition at line 1125 of file test_rpc.cpp.
References profinet::PNRPCHeader::CONTROL, MakeApplicationReadyControlBlock(), MakeApplicationReadyNrd(), MakeRawRpcHeader(), and profinet::PNRPCHeader::REQUEST.
Here is the call graph for this function:
|
inlineprotected |
Creates an unrelated serialized block header.
| blockType | Block type to encode. |
| blockLength | Block length. |
Definition at line 491 of file test_rpc.cpp.
References profinet::PNBlockHeader::blockLength, profinet::PNBlockHeader::blockType, profinet::PNBlockHeader::blockVersionHigh, profinet::PNBlockHeader::blockVersionLow, and profinet::PNBlockHeader::ToBytes().
Referenced by MakeModuleDiffPayload().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds a complete EPM tower for an endpoint.
| interfaceUuid | Interface UUID. |
| major | Interface major version. |
| minor | Interface minor version. |
| port | Endpoint port. |
| ipAddress | Endpoint IPv4 address. |
Definition at line 187 of file test_rpc.cpp.
References MakeEpmTower(), MakeEpmTowerFloor(), MakeInterfaceTowerLhs(), MakeInterfaceTowerRhs(), and profinet::wire::PutBigEndian().
Here is the call graph for this function:
|
inlineprotected |
Builds a serialized DCP block.
| option | DCP option. |
| suboption | DCP suboption. |
| payload | Block payload. |
Definition at line 331 of file test_rpc.cpp.
References profinet::PNDCPBlockRequest::length, profinet::PNDCPBlockRequest::option, option, profinet::PNDCPBlockRequest::payload, payload, profinet::PNDCPBlockRequest::suboption, suboption, and profinet::PNDCPBlockRequest::ToBytes().
Referenced by MakeStationNameResponse().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds an untagged Ethernet frame containing a DCP response.
| src | Device source MAC address. |
| dst | Controller destination MAC address. |
| serviceId | DCP service identifier. |
| xid | DCP transaction identifier. |
| payload | Serialized DCP response blocks. |
Definition at line 358 of file test_rpc.cpp.
References profinet::EthernetHeader::dst, profinet::PNDCPHeader::frameId, profinet::GetSet, profinet::PNDCPHeader::length, profinet::EthernetHeader::payload, profinet::PNDCPHeader::payload, payload, profinet::PROFINET_ETHERTYPE, profinet::PNDCPHeader::respDelay, profinet::ResponseSuccess, profinet::PNDCPHeader::serviceId, profinet::PNDCPHeader::serviceType, profinet::EthernetHeader::src, profinet::EthernetHeader::ToBytes(), profinet::PNDCPHeader::ToBytes(), profinet::EthernetHeader::type, and profinet::PNDCPHeader::xId.
Referenced by MakeStationNameResponse().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds a DCP response containing multiple station/device blocks.
| deviceMac | Device source MAC address. |
| controllerMac | Controller destination MAC address. |
| stationName | Station name. |
| additionalBlocks | Additional serialized DCP blocks. |
Definition at line 400 of file test_rpc.cpp.
|
inlineprotected |
Builds a diagnosis block containing one ChannelDiagnosis entry.
Definition at line 803 of file test_rpc.cpp.
References profinet::wire::PutU16(), and profinet::wire::PutU8().
Here is the call graph for this function:
|
inlineprotected |
Builds a synthetic EPM lookup response body containing one entry.
| objectUuid | Object UUID. |
| annotation | Entry annotation. |
| tower | EPM tower. |
Definition at line 228 of file test_rpc.cpp.
References profinet::wire::PutFixed(), and profinet::wire::PutLittleEndian().
Here is the call graph for this function:Builds a minimal DCE/RPC response containing the supplied body.
| body | RPC response body. |
Definition at line 272 of file test_rpc.cpp.
References profinet::PNRPCHeader::defaultActivityHint, profinet::PNRPCHeader::defaultInterfaceHint, profinet::rpc::EPM_LOOKUP, profinet::PNRPCHeader::kFixedSize, profinet::wire::PutFixed(), profinet::wire::PutLittleEndian(), and profinet::PNRPCHeader::RESPONSE.
Here is the call graph for this function:Builds a complete EPM tower from encoded floors.
| floors | Encoded EPM tower floors. |
Definition at line 133 of file test_rpc.cpp.
References profinet::wire::PutFixed(), and profinet::wire::PutLittleEndian().
Referenced by MakeCompleteEpmTower().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds one EPM tower floor from an LHS and RHS field.
| lhs | LHS field including the EPM protocol identifier. |
| rhs | RHS field. |
Definition at line 114 of file test_rpc.cpp.
References profinet::wire::PutFixed(), and profinet::wire::PutLittleEndian().
Referenced by MakeCompleteEpmTower().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Creates a deterministic I&M payload of the required size.
| index | I&M record index. |
Definition at line 762 of file test_rpc.cpp.
References profinet::PNInM0::IDX, profinet::PNInM1::IDX, profinet::PNInM2::IDX, profinet::PNInM3::IDX, profinet::PNInM4::IDX, profinet::PNInM5::IDX, profinet::PNInM0::kSize, profinet::PNInM1::kSize, profinet::PNInM2::kSize, profinet::PNInM3::kSize, profinet::PNInM4::kSize, and profinet::PNInM5::kSize.
|
inlineprotected |
Builds the LHS of an EPM interface tower floor.
| uuid | Interface UUID in canonical UUID notation. |
| major | Interface major version. |
Definition at line 153 of file test_rpc.cpp.
References profinet::wire::PutFixed(), profinet::wire::PutLittleEndian(), and profinet::rpc::StringToUuidBytes().
Referenced by MakeCompleteEpmTower().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds the RHS of an EPM interface tower floor.
| minor | Interface minor version. |
Definition at line 171 of file test_rpc.cpp.
References profinet::wire::PutLittleEndian().
Referenced by MakeCompleteEpmTower().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Creates a serialized IOCR response block.
| iocrType | IOCR type. |
| iocrReference | IOCR reference. |
| frameId | Assigned frame ID. |
Definition at line 899 of file test_rpc.cpp.
References profinet::PNIOCRBlockRes::BLOCK_TYPE, frameId, profinet::PNIOCRBlockRes::kSize, profinet::wire::PutU16(), and profinet::wire::PutU8().
Here is the call graph for this function:
|
inlineprotected |
Creates a valid IOD response block.
| api | API number. |
| slot | Slot number. |
| subslot | Subslot number. |
| idx | Record index. |
| payload | Record payload. |
Definition at line 734 of file test_rpc.cpp.
References profinet::PNIODHeader::api, profinet::PNIODHeader::blockHeader, profinet::PNBlockHeader::blockLength, profinet::PNBlockHeader::blockType, profinet::PNBlockHeader::blockVersionHigh, profinet::PNBlockHeader::blockVersionLow, profinet::PNIODHeader::index, profinet::PNBlockHeader::IODReadResponseHeader, profinet::PNIODHeader::kFixedSize, profinet::PNIODHeader::length, profinet::PNIODHeader::payload, payload, profinet::PNIODHeader::sequenceNumber, profinet::PNIODHeader::slot, profinet::PNIODHeader::subslot, profinet::PNIODHeader::ToBytes(), and profinet::PNBlockHeader::ToBytes().
Here is the call graph for this function:
|
inlineprotected |
Builds a valid ModuleDiffBlock payload.
Definition at line 840 of file test_rpc.cpp.
References MakeBlockHeader(), profinet::MODULE_STATE_PROPER_MODULE, profinet::ModuleDifference, profinet::wire::PutU16(), profinet::wire::PutU32(), and profinet::SUBMODULE_STATE_OK.
Here is the call graph for this function:Creates a successful NRD response wrapping the supplied payload.
| payload | NRD payload. |
Definition at line 682 of file test_rpc.cpp.
|
inlineprotected |
Creates an RPC response containing an NRD response.
| operationNumber | RPC operation number. |
| payload | NRD payload. |
Definition at line 700 of file test_rpc.cpp.
|
inlineprotected |
Creates an NRD response containing a PROFINET error status.
| status | PROFINET argument/status value. |
| payload | Optional response payload. |
Definition at line 713 of file test_rpc.cpp.
|
inlineprotected |
Creates a raw DCE/RPC message for unit-test input.
Builds a fixed-size PROFINET DCE/RPC header and appends the supplied payload. The byte order of the RPC header fields is controlled by the DREP little-endian flag. The generated message is suitable for testing raw RPC header parsing.
| littleEndian | Whether RPC multi-byte header fields are encoded in little-endian byte order. |
| packetType | DCE/RPC packet type. |
| interfaceVersion | RPC interface version. |
| sequenceNumber | RPC sequence number. |
| operationNumber | RPC operation number. |
| payload | Raw payload bytes appended after the RPC header. |
Definition at line 1001 of file test_rpc.cpp.
References profinet::PNRPCHeader::kFixedSize, payload, profinet::wire::PutBigEndian(), profinet::wire::PutFixed(), profinet::wire::PutLittleEndian(), profinet::wire::PutU8(), and profinet::uuidLenght.
Referenced by MakeApplicationReadyRequest().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds a v1.0 RealIdentificationData payload.
Definition at line 823 of file test_rpc.cpp.
References profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:
|
inlineprotected |
Creates an empty successful RPC response.
| packetType | DCE/RPC packet type. |
| operationNumber | RPC operation number. |
| payload | Response payload. |
Definition at line 667 of file test_rpc.cpp.
|
inlineprotected |
Creates a deterministic DCP device description suitable for RPC constructor tests.
Definition at line 59 of file test_rpc.cpp.
References profinet::dcp::DCPDeviceDescription::name, and profinet::String2Mac().
Referenced by MakeTestRpcConnection(), and MakeTestTransportRpcConnection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Creates a map of DCP blocks containing only a station name.
| stationName | Station name. |
Definition at line 414 of file test_rpc.cpp.
References profinet::Device, profinet::dcp::MakeBlockKey(), and profinet::PNDCPBlock::NAME_OF_STATION.
Here is the call graph for this function:
|
inlineprotected |
Builds a DCP response containing a station-name block.
| deviceMac | Device source MAC address. |
| controllerMac | Controller destination MAC address. |
| stationName | Station name encoded in the response. |
Definition at line 385 of file test_rpc.cpp.
References profinet::Device, profinet::Get, MakeDcpBlock(), MakeDcpResponseFrame(), and profinet::PNDCPBlock::NAME_OF_STATION.
Here is the call graph for this function:
|
inlineprotected |
Creates a deterministic RPC connection for helper tests.
Definition at line 458 of file test_rpc.cpp.
References MakeRpcTestDeviceInfo().
Here is the call graph for this function:
|
inlineprotected |
Creates a test RPC connection using the injected transport.
| transport | Transport used by the connection. |
Definition at line 652 of file test_rpc.cpp.
References ctransport, MakeRpcTestDeviceInfo(), profinet::rpc::RPCConOptions::rpcPort, profinet::rpc::RPCConOptions::timeoutSec, and transport.
Referenced by SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Builds a minimal WriteMultiple response containing one successful entry.
Definition at line 864 of file test_rpc.cpp.
References profinet::wire::PutU16(), profinet::wire::PutU32(), profinet::wire::PutU8(), and profinet::uuidLenght.
Here is the call graph for this function:
|
inlineprotected |
Receives an EPM lookup request and sends a synthetic response.
| server | UDP server socket. |
| response | Response bytes to send. |
| request | Receives the client's request bytes. |
Definition at line 312 of file test_rpc.cpp.
References buffer.
|
inlineoverrideprotected |
Definition at line 42 of file test_rpc.cpp.
References conn, ctransport, MakeTestTransportRpcConnection(), rawcTransport, rawTransport, and transport.
Here is the call graph for this function:
|
inlineoverrideprotected |
Definition at line 51 of file test_rpc.cpp.
|
protected |
Definition at line 918 of file test_rpc.cpp.
Referenced by CreateRpc(), InvokeBuildAlarmCrBlock(), InvokeCreateNrd(), InvokeGetRPCConLive(), InvokeGetRPCConSrcMac(), InvokeParseAlarmCrResponse(), InvokeRPCConCheckTimeout(), InvokeSendReceive(), InvokeSetRPCConArUuid(), InvokeSetRPCConArUuid(), InvokeSetRPCConInfo(), InvokeSetRPCConLive(), InvokeSetRPCConLiveMonotonic(), InvokeSetRPCConSessionKey(), InvokeSetRPCConSrcMac(), and SetUp().
|
protected |
Definition at line 922 of file test_rpc.cpp.
Referenced by MakeTestTransportRpcConnection(), and SetUp().
|
protected |
Definition at line 923 of file test_rpc.cpp.
Referenced by SetUp().
|
protected |
Definition at line 920 of file test_rpc.cpp.
Referenced by SetUp().
|
protected |
Definition at line 919 of file test_rpc.cpp.
Referenced by InvokeBuildAlarmCrBlock(), MakeTestTransportRpcConnection(), and SetUp().