25 lines
580 B
C++
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();
|
|
}
|
|
|
|
|