PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
IRawEthernetSocket.h
Go to the documentation of this file.
1
16
17#pragma once
18
19#include <chrono>
20#include <cstdint>
21#include <vector>
22
23namespace profinet
24{
36{
37 public:
39 virtual ~IRawEthernetSocket() = default;
40
59 virtual void Send(const std::vector<std::uint8_t>& frame) = 0;
60
78 [[nodiscard]] virtual std::vector<std::uint8_t> Recv() = 0;
79
89 virtual void SetTimeout(std::chrono::milliseconds timeout) = 0;
90};
91} // namespace profinet
Abstract interface for raw Ethernet frame transport.
virtual void Send(const std::vector< std::uint8_t > &frame)=0
Send one complete raw Ethernet frame.
virtual std::vector< std::uint8_t > Recv()=0
Receive one raw Ethernet frame.
virtual ~IRawEthernetSocket()=default
Virtual destructor for polymorphic use.
virtual void SetTimeout(std::chrono::milliseconds timeout)=0
Set the receive timeout.
Bytes frame