8 #include "Arp/System/Rsc/Services/IRscService.hpp" 9 #include "NetloadLimiterServiceProxyFactory.hpp" 10 #include "NetloadLimiterErrorCode.hpp" 11 #include "NetloadLimiterSettings.hpp" 12 #include "NetloadLimiterState.hpp" 16 namespace Arp {
namespace Hardware {
namespace Nim {
namespace Services
28 typedef std::shared_ptr<INetloadLimiterService> Ptr;
37 static IRscServiceProxyFactory& GetProxyFactory(
void);
62 virtual NetloadLimiterErrorCode SetByteLimit(
uint8 networkInterface,
uint32 limit) = 0;
70 virtual NetloadLimiterErrorCode SetPacketLimit(
uint8 networkInterface,
uint16 limit) = 0;
77 virtual NetloadLimiterErrorCode EnableByteLimiter(
uint8 networkInterface) = 0;
84 virtual NetloadLimiterErrorCode DisableByteLimiter(
uint8 networkInterface) = 0;
91 virtual NetloadLimiterErrorCode EnablePacketLimiter(
uint8 networkInterface) = 0;
98 virtual NetloadLimiterErrorCode DisablePacketLimiter(
uint8 networkInterface) = 0;
123 inline IRscServiceProxyFactory& INetloadLimiterService::GetProxyFactory()
125 return NetloadLimiterServiceProxyFactory::GetInstance();
Namespace for classes and interfaces for the Remote Service Call implementation
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
This struct contains all settings of the netload limiter. It is used to set and get the current setti...
Definition: NetloadLimiterSettings.hpp:23
This Services controls the NetloadLimiter
Definition: INetloadLimiterService.hpp:25
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
Root namespace for the PLCnext API
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
This struct contains the current state of the network limiter for one network interface.
Definition: NetloadLimiterState.hpp:23
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
INetloadLimiterService(void)
Constructs an INetloadLimiterService instance.
Definition: INetloadLimiterService.hpp:115
virtual ~INetloadLimiterService(void)
Destructs this instance and frees all resouces.
Definition: INetloadLimiterService.hpp:119