From bc65af3b9c4abc6066cfe3cea376b5003f3b1cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Sat, 15 Jul 2017 17:52:29 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@526 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- doc/html/pip.qch | Bin 2967552 -> 3016704 bytes main.cpp | 14 ++++------- src_main/core/pibytearray.h | 4 +++ src_main/io/pibasetransfer.cpp | 2 +- src_main/io/pifiletransfer.cpp | 44 ++++++++++++++++++--------------- src_main/io/pifiletransfer.h | 11 +++++---- src_main/io/piiodevice.cpp | 2 ++ 7 files changed, 42 insertions(+), 35 deletions(-) diff --git a/doc/html/pip.qch b/doc/html/pip.qch index bc62af5c3f5206a675545cbd85d70e67f424657a..933667ad42d04e0330e4fd33e582a628c8441bf7 100644 GIT binary patch delta 41502 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 F^S>iWWB~vG diff --git a/main.cpp b/main.cpp index da053bec..6e5db56c 100644 --- a/main.cpp +++ b/main.cpp @@ -3,15 +3,11 @@ int main(int argc, char *argv[]) { - PIVector2D v(2, 2, PIVector() << 1 << 2 << 3 << 4); - piCout << v; - PIByteArray ba; - ba << v; - piCout << ba.size(); - PIVector2D v2; - ba >> v2; - piCout << v2; - piCout << v2[0][1]; + PIDir dir(""); + PIVector el = dir.entries(); + /*piCout << el.size(); + piForeachC (PIFile::FileInfo & i, el) + piCout << i;*/ return 0; } diff --git a/src_main/core/pibytearray.h b/src_main/core/pibytearray.h index 599ed60e..082c2187 100755 --- a/src_main/core/pibytearray.h +++ b/src_main/core/pibytearray.h @@ -169,6 +169,8 @@ inline PIByteArray & operator <<(PIByteArray & s, const float v) {PBA_OPERATOR_T inline PIByteArray & operator <<(PIByteArray & s, const double & v) {PBA_OPERATOR_TO return s;} //! \relatesalso PIByteArray \brief Store operator inline PIByteArray & operator <<(PIByteArray & s, const ldouble & v) {PBA_OPERATOR_TO return s;} +//! \relatesalso PIByteArray \brief Store operator +template inline PIByteArray & operator <<(PIByteArray & s, const PIFlags & v) {PBA_OPERATOR_TO return s;} //! \relatesalso PIByteArray \brief Store operator, see \ref PIByteArray_sec1 for details inline PIByteArray & operator <<(PIByteArray & s, const PIByteArray & v) {s << int(v.size_s()); int os = s.size_s(); s.enlarge(v.size_s()); if (v.size_s() > 0) memcpy(s.data(os), v.data(), v.size()); return s;} //! \relatesalso PIByteArray \brief Store operator, see \ref PIByteArray_sec1 for details @@ -205,6 +207,8 @@ inline PIByteArray & operator >>(PIByteArray & s, float & v) {assert(s.size() >= inline PIByteArray & operator >>(PIByteArray & s, double & v) {assert(s.size() >= sizeof(v)); PBA_OPERATOR_FROM return s;} //! \relatesalso PIByteArray \brief Restore operator inline PIByteArray & operator >>(PIByteArray & s, ldouble & v) {assert(s.size() >= sizeof(v)); PBA_OPERATOR_FROM return s;} +//! \relatesalso PIByteArray \brief Restore operator +template inline PIByteArray & operator >>(PIByteArray & s, PIFlags & v) {PBA_OPERATOR_FROM return s;} //! \relatesalso PIByteArray \brief Restore operator, see \ref PIByteArray_sec1 for details inline PIByteArray & operator >>(PIByteArray & s, PIByteArray & v) {assert(s.size_s() >= 4); int sz; s >> sz; v.resize(sz); if (sz > 0) memcpy(v.data(), s.data(), v.size()); s.remove(0, v.size()); return s;} //! \relatesalso PIByteArray \brief Restore operator, see \ref PIByteArray_sec1 for details diff --git a/src_main/io/pibasetransfer.cpp b/src_main/io/pibasetransfer.cpp index cf1e9256..21968db3 100644 --- a/src_main/io/pibasetransfer.cpp +++ b/src_main/io/pibasetransfer.cpp @@ -515,7 +515,7 @@ PIByteArray PIBaseTransfer::build_packet(int id) { for (int i = 0; i < session[id].size_s(); i++) { Part fi = session[id][i]; ret << fi; - //piCout << "biuld" << fi; + //piCout << "build" << fi; ba = buildPacket(fi); bytes_cur += ba.size(); if (ba.size() != fi.size) piCoutObj << "***error while build packet, wrong part size"; diff --git a/src_main/io/pifiletransfer.cpp b/src_main/io/pifiletransfer.cpp index ec549aee..5366597b 100644 --- a/src_main/io/pifiletransfer.cpp +++ b/src_main/io/pifiletransfer.cpp @@ -70,13 +70,17 @@ bool PIFileTransfer::send(PIVector entries) { bool PIFileTransfer::sendFiles(const PIVector &files) { files_ = files; PIStringList names; - // piCoutObj << "prepare to send" << files_.size() << "files"; - for(int i=0; i &files) { step_mutex.lock(); pftheader.step = pft_Data; PIVector pts; - for (int i=0; i>(PIByteArray & s, PIFileTransfer::PFTHeader & v) {s >> v.raw_sig >> v.step >> v.session_id; return s;} inline PIByteArray & operator <<(PIByteArray & s, const PIFileTransfer::PFTFileInfo & v) {s << v.dest_path << v.size << v.time_access << v.time_modification << - (int)v.flags << v.id_user << v.id_group << v.perm_user.raw << v.perm_group.raw << v.perm_other.raw; return s;} + v.flags << v.id_user << v.id_group << v.perm_user.raw << v.perm_group.raw << v.perm_other.raw; return s;} inline PIByteArray & operator >>(PIByteArray & s, PIFileTransfer::PFTFileInfo & v) {s >> v.dest_path >> v.size >> v.time_access >> v.time_modification >> - *(int*)(&(v.flags)) >> v.id_user >> v.id_group >> v.perm_user.raw >> v.perm_group.raw >> v.perm_other.raw; return s;} + v.flags >> v.id_user >> v.id_group >> v.perm_user.raw >> v.perm_group.raw >> v.perm_other.raw; return s;} inline PICout operator <<(PICout s, const PIFileTransfer::PFTFileInfo & v) { s.setControl(0, true); diff --git a/src_main/io/piiodevice.cpp b/src_main/io/piiodevice.cpp index 70ad8dea..6c55a9a0 100755 --- a/src_main/io/piiodevice.cpp +++ b/src_main/io/piiodevice.cpp @@ -212,6 +212,8 @@ void PIIODevice::terminate() { void PIIODevice::begin() { //cout << " begin\n"; + if (threadedReadBufferSize() == 0) + piCoutObj << "Warning: threadedReadBufferSize() == 0, read may be useless!"; thread_started_ = false; if (!opened_) { if (open()) {