7 #include "Arp/System/Rsc/Services/Rsc.h" 8 #include "Arp/System/Rsc/Services/RemotingReader.hpp" 9 #include "Arp/System/Rsc/Services/RemotingWriter.hpp" 10 #include "Arp/System/Commons/Io/Stream.hpp" 12 namespace Arp {
namespace System {
namespace Rsc {
namespace Services
81 size_t Read(
byte* pBuffer,
size_t bufferSize);
104 void Write(
const byte* pBuffer,
size_t bufferCount);
117 RemotingWriter* pWriter =
nullptr;
118 RemotingReader* pReader =
nullptr;
119 bool initialized =
false;
124 static constexpr
int MaxPacketSize = std::numeric_limits<int>::max();
125 static constexpr
size_t BufferSize = 4096;
142 return this->pWriter !=
nullptr;
147 return this->pReader !=
nullptr;
152 this->pWriter = value;
157 this->pReader = value;
RscStream(void)=default
Constructs an instance of RscStream
void BeginWrite(void)
Begins the write operation
void SetReader(RemotingReader *pValue)
Sets RemotingReader needed to read stream data
Definition: RscStream.hpp:155
void SetWriter(RemotingWriter *pValue)
Sets RemotingWriter needed to write stream data
Definition: RscStream.hpp:150
bool HasReader(void) const
Determines if this instance is able to reade.
Definition: RscStream.hpp:145
void Flush(void)
Ends the read writer operation and writes remaining internal buffered bytes
~RscStream(void)=default
Destructs this instance and frees all resources.
void DeserializeTo(Stream &stream)
Deserialize the stream data and copies it to the as agument passed stream
bool HasWriter(void) const
Determines if this instance is able to write.
Definition: RscStream.hpp:140
void Write(const byte *pBuffer, size_t bufferCount)
Writes data into stream
Provides a generic view of a sequence of bytes.
Definition: Stream.hpp:19
void Skip(void)
Skips the entire stream and disposes the read data
size_t Read(byte *pBuffer, size_t bufferSize)
Reads up to bufferSize byte into memory referenced by pBuffer
Enables Rsc services to marshal large data packets as stream.
Definition: RscStream.hpp:19
Root namespace for the PLCnext API
void SerializeFrom(Stream &stream)
Serialize the stream data from the as agument passed stream
System components used by the System, Device, Plc or Io domains.
void BeginRead(void)
Begins the read operation. Need pReader to be set.
unsigned char byte
The Arp character type.
Definition: PrimitiveTypes.hpp:23