Files
pip/src_main/io/pidatatransfer.cpp

25 lines
580 B
C++

#include "pidatatransfer.h"
PIByteArray PIDataTransfer::buildPacket(Part fi) {
PIByteArray ba;
ba.resize(fi.size);
memcpy(ba.data(), data_.data(fi.start), fi.size);
return ba;
}
void PIDataTransfer::receivePart(Part fi, PIByteArray ba, PIByteArray pheader) {
if (data_.size() < fi.start + fi.size) data_.resize(fi.start + fi.size);
memcpy(data_.data(fi.start), ba.data(), ba.size_s());
}
bool PIDataTransfer::send(const PIByteArray& ba) {
data_ = ba;
buildSession(PIVector<Part>() << Part(0, data_.size()));
return send_process();
}