git-svn-id: svn://db.shs.com.ru/pip@400 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
24
src_main/io/pidatatransfer.cpp
Normal file
24
src_main/io/pidatatransfer.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user