PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::rpc::IRpcTransport Class Referenceabstract

#include <IRpcTransport.h>

+ Inheritance diagram for profinet::rpc::IRpcTransport:
+ Collaboration diagram for profinet::rpc::IRpcTransport:

Public Member Functions

virtual ~IRpcTransport ()=default
 
virtual Bytes SendReceive (const profinet::Bytes &request, std::chrono::milliseconds timeout)=0
 
virtual void Send (const Bytes &request)=0
 
virtual void Open (const std::string &address, std::uint16_t port, bool isListener=false)=0
 Open the transport and configure the remote endpoint.
 
virtual Bytes Receive (std::chrono::milliseconds timeout, asio::ip::udp::endpoint &remoteEndpoint)=0
 Wait for an incoming byte array and capture the sender's endpoint.
 
virtual void SendTo (const Bytes &data, const asio::ip::udp::endpoint &targetEndpoint)=0
 Send a byte array of data to a specific remote asio endpoint.
 
virtual void Close () noexcept=0
 Close the transport.
 

Detailed Description

Definition at line 7 of file IRpcTransport.h.

Constructor & Destructor Documentation

◆ ~IRpcTransport()

virtual profinet::rpc::IRpcTransport::~IRpcTransport ( )
virtualdefault

Member Function Documentation

◆ Close()

virtual void profinet::rpc::IRpcTransport::Close ( )
pure virtualnoexcept

◆ Open()

virtual void profinet::rpc::IRpcTransport::Open ( const std::string &  address,
std::uint16_t  port,
bool  isListener = false 
)
pure virtual

Open the transport and configure the remote endpoint.

Parameters
addressRemote IPv4 address.
portRemote port.
isListener...

Implemented in profinet::StubRpcTransport, profinet::rpc::RpcTransport, and profinet::rpc::RpcTests::TestRpcTransport.

◆ Receive()

virtual Bytes profinet::rpc::IRpcTransport::Receive ( std::chrono::milliseconds  timeout,
asio::ip::udp::endpoint &  remoteEndpoint 
)
pure virtual

Wait for an incoming byte array and capture the sender's endpoint.

Parameters
timeoutMaximum wait time.
remoteEndpointReceives the endpoint details of the sender.
Returns
Received datagram.

Implemented in profinet::rpc::RpcTransport, profinet::StubRpcTransport, and profinet::rpc::RpcTests::TestRpcTransport.

◆ Send()

virtual void profinet::rpc::IRpcTransport::Send ( const Bytes &  request)
pure virtual

◆ SendReceive()

virtual Bytes profinet::rpc::IRpcTransport::SendReceive ( const profinet::Bytes &  request,
std::chrono::milliseconds  timeout 
)
pure virtual

◆ SendTo()

virtual void profinet::rpc::IRpcTransport::SendTo ( const Bytes &  data,
const asio::ip::udp::endpoint &  targetEndpoint 
)
pure virtual

Send a byte array of data to a specific remote asio endpoint.

Parameters
dataDatagram to send.
targetEndpointDestination UDP endpoint.

Implemented in profinet::StubRpcTransport, profinet::rpc::RpcTransport, and profinet::rpc::RpcTests::TestRpcTransport.


The documentation for this class was generated from the following file: