Files
pip/src/io/pidatatransfer.cpp
Бычков Андрей 2aef6d8c86 new PIBaseTransfer, PIDataTransfer and update PIFileTransfer
git-svn-id: svn://db.shs.com.ru/pip@9 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
2015-03-10 10:30:19 +00:00

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();
}