From b1e220e454fbe246ccbd0a86c92573fd4d44517f Mon Sep 17 00:00:00 2001 From: peri4 Date: Mon, 1 Aug 2022 18:52:30 +0300 Subject: [PATCH] change PIIODevice read* and write* methods size to "ssize_t" --- doc/examples/piiodevice.cpp | 4 +-- libs/cloud/picloudclient.cpp | 6 ++-- libs/cloud/picloudserver.cpp | 10 +++--- libs/io_utils/pibroadcast.cpp | 8 ++--- libs/io_utils/pistreampacker.cpp | 4 +-- libs/main/cloud/picloudclient.h | 4 +-- libs/main/cloud/picloudserver.h | 8 ++--- libs/main/io_devices/pibinarylog.cpp | 8 ++--- libs/main/io_devices/pibinarylog.h | 6 ++-- libs/main/io_devices/pican.cpp | 12 ++++---- libs/main/io_devices/pican.h | 4 +-- libs/main/io_devices/piethernet.cpp | 4 +-- libs/main/io_devices/piethernet.h | 4 +-- libs/main/io_devices/pifile.cpp | 4 +-- libs/main/io_devices/pifile.h | 4 +-- libs/main/io_devices/piiobytearray.cpp | 4 +-- libs/main/io_devices/piiobytearray.h | 4 +-- libs/main/io_devices/piiodevice.cpp | 17 ++++++++--- libs/main/io_devices/piiodevice.h | 32 ++++++++++---------- libs/main/io_devices/piiostring.cpp | 4 +-- libs/main/io_devices/piiostring.h | 4 +-- libs/main/io_devices/pipeer.cpp | 22 +++++++------- libs/main/io_devices/pipeer.h | 8 ++--- libs/main/io_devices/piserial.cpp | 10 +++--- libs/main/io_devices/piserial.h | 4 +-- libs/main/io_devices/pisharedmemory.h | 4 +-- libs/main/io_devices/pispi.cpp | 6 ++-- libs/main/io_devices/pispi.h | 4 +-- libs/main/io_devices/pitransparentdevice.cpp | 6 ++-- libs/main/io_devices/pitransparentdevice.h | 4 +-- libs/main/io_devices/piusb.h | 6 ++-- libs/main/io_utils/pibroadcast.h | 2 +- libs/main/io_utils/pipacketextractor.cpp | 6 ++-- libs/main/io_utils/pipacketextractor.h | 6 ++-- libs/main/io_utils/pistreampacker.h | 2 +- libs/usb/piusb.cpp | 4 +-- main_picloud_test.cpp | 4 +-- main_tcp_server.cpp | 6 ++-- utils/udp_file_transfer/main.cpp | 4 +-- 39 files changed, 135 insertions(+), 128 deletions(-) diff --git a/doc/examples/piiodevice.cpp b/doc/examples/piiodevice.cpp index c8ea515f..0f2e85cc 100644 --- a/doc/examples/piiodevice.cpp +++ b/doc/examples/piiodevice.cpp @@ -11,11 +11,11 @@ protected: // open your device here return if_success; } - int readDevice(void * read_to, int max_size) override { + ssize_t readDevice(void * read_to, ssize_t max_size) override { // read from your device here return readed_bytes; } - int writeDevice(const void * data, int max_size) override { + ssize_t writeDevice(const void * data, ssize_t max_size) override { // write to your device here return written_bytes; } diff --git a/libs/cloud/picloudclient.cpp b/libs/cloud/picloudclient.cpp index dc53176f..3b811af1 100644 --- a/libs/cloud/picloudclient.cpp +++ b/libs/cloud/picloudclient.cpp @@ -104,11 +104,11 @@ bool PICloudClient::closeDevice() { } -int PICloudClient::readDevice(void * read_to, int max_size) { +ssize_t PICloudClient::readDevice(void * read_to, ssize_t max_size) { if (is_deleted) return -1; //piCoutObj << "readDevice"; if (!is_connected && eth.isClosed()) openDevice(); - int sz = -1; + ssize_t sz = -1; mutex_buff.lock(); cond_buff.wait(mutex_buff, [this](){return !buff.isEmpty() || !is_connected;}); if (is_connected) { @@ -123,7 +123,7 @@ int PICloudClient::readDevice(void * read_to, int max_size) { } -int PICloudClient::writeDevice(const void * data, int size) { +ssize_t PICloudClient::writeDevice(const void * data, ssize_t size) { if (is_deleted) return -1; // piCoutObj << "writeDevice"; return tcp.sendData(PIByteArray(data, size)); diff --git a/libs/cloud/picloudserver.cpp b/libs/cloud/picloudserver.cpp index 19434b14..9f372509 100644 --- a/libs/cloud/picloudserver.cpp +++ b/libs/cloud/picloudserver.cpp @@ -88,7 +88,7 @@ bool PICloudServer::closeDevice() { } -int PICloudServer::readDevice(void * read_to, int max_size) { +ssize_t PICloudServer::readDevice(void * read_to, ssize_t max_size) { //piCoutObj << "readDevice"; if (!opened_) openDevice(); else piMSleep(eth.readTimeout()); @@ -96,7 +96,7 @@ int PICloudServer::readDevice(void * read_to, int max_size) { } -int PICloudServer::writeDevice(const void * data, int max_size) { +ssize_t PICloudServer::writeDevice(const void * data, ssize_t max_size) { //piCoutObj << "writeDevice"; return -1; } @@ -145,9 +145,9 @@ bool PICloudServer::Client::closeDevice() { } -int PICloudServer::Client::readDevice(void * read_to, int max_size) { +ssize_t PICloudServer::Client::readDevice(void * read_to, ssize_t max_size) { if (!is_connected) return -1; - int sz = -1; + ssize_t sz = -1; mutex_buff.lock(); cond_buff.wait(mutex_buff, [this](){return !buff.isEmpty() || !is_connected;}); if (is_connected) { @@ -160,7 +160,7 @@ int PICloudServer::Client::readDevice(void * read_to, int max_size) { } -int PICloudServer::Client::writeDevice(const void * data, int size) { +ssize_t PICloudServer::Client::writeDevice(const void * data, ssize_t size) { return server->sendData(PIByteArray(data, size), client_id); } diff --git a/libs/io_utils/pibroadcast.cpp b/libs/io_utils/pibroadcast.cpp index 7ffb74d2..e8dc3367 100644 --- a/libs/io_utils/pibroadcast.cpp +++ b/libs/io_utils/pibroadcast.cpp @@ -151,7 +151,7 @@ void PIBroadcast::initAll(PIVector al) { //piCout << "mcast " << ce->readAddress() << ce->sendAddress(); if (ce->open()) { eth_mcast << ce; - CONNECT2(void, const uchar *, int, ce, threadedReadEvent, this, mcastRead); + CONNECT2(void, const uchar *, ssize_t, ce, threadedReadEvent, this, mcastRead); } else { delete ce; } @@ -173,7 +173,7 @@ void PIBroadcast::initAll(PIVector al) { //piCout << "bcast " << ce->readAddress() << ce->sendAddress(); if (ce->open()) { eth_mcast << ce; - CONNECT2(void, const uchar *, int, ce, threadedReadEvent, this, mcastRead); + CONNECT2(void, const uchar *, ssize_t, ce, threadedReadEvent, this, mcastRead); } else { delete ce; } @@ -189,7 +189,7 @@ void PIBroadcast::initAll(PIVector al) { eth_lo->setName("PIMulticast_loopback"); if (!_send_only) { eth_lo->setParameter(PIEthernet::ReuseAddress, false); - CONNECT2(void, const uchar *, int, eth_lo, threadedReadEvent, this, mcastRead); + CONNECT2(void, const uchar *, ssize_t, eth_lo, threadedReadEvent, this, mcastRead); for (int i = 0; i < lo_pcnt; ++i) { eth_lo->setReadAddress("127.0.0.1", lo_port + i); if (eth_lo->open()) { @@ -248,7 +248,7 @@ void PIBroadcast::reinit() { } -void PIBroadcast::mcastRead(const uchar * data, int size) { +void PIBroadcast::mcastRead(const uchar * data, ssize_t size) { PIByteArray cd = decryptData(PIByteArray(data, size)); if (cd.isEmpty()) return; received(cd); diff --git a/libs/io_utils/pistreampacker.cpp b/libs/io_utils/pistreampacker.cpp index 75b31927..7a4473ef 100644 --- a/libs/io_utils/pistreampacker.cpp +++ b/libs/io_utils/pistreampacker.cpp @@ -111,7 +111,7 @@ void PIStreamPacker::send(const PIByteArray & data) { } -void PIStreamPacker::received(const uchar * readed, int size) { +void PIStreamPacker::received(const uchar * readed, ssize_t size) { received(PIByteArray(readed, size)); } @@ -198,6 +198,6 @@ void PIStreamPacker::assignDevice(PIIODevice * dev) { if (!dev->infoFlags()[PIIODevice::Reliable]) { piCoutObj << "Warning! Not recommended to use with non-reliable" << dev; } - CONNECT2(void, const uchar *, int, dev, threadedReadEvent, this, received); + CONNECT2(void, const uchar *, ssize_t, dev, threadedReadEvent, this, received); CONNECT1(void, PIByteArray, this, sendRequest, dev, write); } diff --git a/libs/main/cloud/picloudclient.h b/libs/main/cloud/picloudclient.h index 6f58e093..791bae85 100644 --- a/libs/main/cloud/picloudclient.h +++ b/libs/main/cloud/picloudclient.h @@ -50,8 +50,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} private: diff --git a/libs/main/cloud/picloudserver.h b/libs/main/cloud/picloudserver.h index 18409483..593783c2 100644 --- a/libs/main/cloud/picloudserver.h +++ b/libs/main/cloud/picloudserver.h @@ -47,8 +47,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} ssize_t bytesAvailable() const override {return buff.size();} @@ -71,8 +71,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; private: EVENT_HANDLER1(void, _readed, PIByteArray &, ba); diff --git a/libs/main/io_devices/pibinarylog.cpp b/libs/main/io_devices/pibinarylog.cpp index 8c4555f8..d220b7f2 100644 --- a/libs/main/io_devices/pibinarylog.cpp +++ b/libs/main/io_devices/pibinarylog.cpp @@ -170,7 +170,7 @@ bool PIBinaryLog::closeDevice() { } -bool PIBinaryLog::threadedRead(const uchar *readed, int size) { +bool PIBinaryLog::threadedRead(const uchar *readed, ssize_t size) { // piCout << "binlog threaded read"; if (!canRead() || isEnd()) return PIIODevice::threadedRead(readed, size); is_thread_ok = false; @@ -401,7 +401,7 @@ PIByteArray PIBinaryLog::getHeader() { } -int PIBinaryLog::readDevice(void *read_to, int max_size) { +ssize_t PIBinaryLog::readDevice(void *read_to, ssize_t max_size) { PIMutexLocker _ml(logmutex); if (lastrecord.id == -1 || isEnd()) return 0; if(!is_thread_ok && lastrecord.id > 0) return lastrecord.data.size(); @@ -423,14 +423,14 @@ int PIBinaryLog::readDevice(void *read_to, int max_size) { piCoutObj << "Read record error"; return -1; } - int sz = piMini(max_size, br.data.size()); + ssize_t sz = piMini(max_size, br.data.size()); if (sz < br.data.size_s()) piCoutObj << "too small read buffer:" << max_size << ", data size:" << br.data.size(); memcpy(read_to, br.data.data(), sz); return sz; } -int PIBinaryLog::writeDevice(const void * data, int size) { +ssize_t PIBinaryLog::writeDevice(const void * data, ssize_t size) { return writeBinLog(default_id, data, size); } diff --git a/libs/main/io_devices/pibinarylog.h b/libs/main/io_devices/pibinarylog.h index d6f8b62f..2862dabc 100644 --- a/libs/main/io_devices/pibinarylog.h +++ b/libs/main/io_devices/pibinarylog.h @@ -305,12 +305,12 @@ protected: void configureFromFullPathDevice(const PIString & full_path) override; PIPropertyStorage constructVariantDevice() const override; void configureFromVariantDevice(const PIPropertyStorage & d) override; - int readDevice(void *read_to, int max_size) override; - int writeDevice(const void * data, int size) override; + ssize_t readDevice(void *read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t size) override; bool openDevice() override; bool closeDevice() override; void propertyChanged(const char * s) override; - bool threadedRead(const uchar *readed, int size) override; + bool threadedRead(const uchar *readed, ssize_t size) override; void threadedReadTerminated() override {pausemutex.unlock();} DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} diff --git a/libs/main/io_devices/pican.cpp b/libs/main/io_devices/pican.cpp index 013166b5..4bdbb260 100644 --- a/libs/main/io_devices/pican.cpp +++ b/libs/main/io_devices/pican.cpp @@ -98,13 +98,13 @@ bool PICAN::closeDevice() { } -int PICAN::readDevice(void * read_to, int max_size) { +ssize_t PICAN::readDevice(void * read_to, ssize_t max_size) { #ifdef PIP_CAN //piCout << "PICAN read"; can_frame frame; - int ret = 0; + ssize_t ret = 0; ret = ::read(sock, &frame, sizeof(can_frame)); - if(ret < 0) {/*piCoutObj << "Error while read CAN frame " << ret;*/ return -1;} + if (ret < 0) {/*piCoutObj << "Error while read CAN frame " << ret;*/ return -1;} //piCoutObj << "receive CAN frame Id =" << frame.can_id; memcpy(read_to, frame.data, piMini(frame.can_dlc, max_size)); readed_id = frame.can_id; @@ -114,7 +114,7 @@ int PICAN::readDevice(void * read_to, int max_size) { } -int PICAN::writeDevice(const void * data, int max_size) { +ssize_t PICAN::writeDevice(const void * data, ssize_t max_size) { #ifdef PIP_CAN //piCout << "PICAN write" << can_id << max_size; if (max_size > 8) {piCoutObj << "Can't send CAN frame bigger than 8 bytes (requested " << max_size << ")!"; return -1;} @@ -122,9 +122,9 @@ int PICAN::writeDevice(const void * data, int max_size) { frame.can_id = can_id; frame.can_dlc = max_size; memcpy(frame.data, data, max_size); - int ret = 0; + ssize_t ret = 0; ret = ::write(sock, &frame, sizeof(can_frame)); - if(ret < 0) {piCoutObj << "Error while send CAN frame " << ret; return -1;} + if (ret < 0) {piCoutObj << "Error while send CAN frame " << ret; return -1;} return max_size; #endif return 0; diff --git a/libs/main/io_devices/pican.h b/libs/main/io_devices/pican.h index c3c22e62..8afab4d7 100644 --- a/libs/main/io_devices/pican.h +++ b/libs/main/io_devices/pican.h @@ -43,8 +43,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; PIString constructFullPathDevice() const override; void configureFromFullPathDevice(const PIString & full_path) override; PIPropertyStorage constructVariantDevice() const override; diff --git a/libs/main/io_devices/piethernet.cpp b/libs/main/io_devices/piethernet.cpp index 54fd8065..bc30c465 100644 --- a/libs/main/io_devices/piethernet.cpp +++ b/libs/main/io_devices/piethernet.cpp @@ -675,7 +675,7 @@ bool PIEthernet::send(const PIEthernet::Address & addr, const PIByteArray & data } -int PIEthernet::readDevice(void * read_to, int max_size) { +ssize_t PIEthernet::readDevice(void * read_to, ssize_t max_size) { //piCout << "read" << sock; if (sock == -1) init(); if (sock == -1 || read_to == 0) return -1; @@ -771,7 +771,7 @@ int PIEthernet::readDevice(void * read_to, int max_size) { } -int PIEthernet::writeDevice(const void * data, int max_size) { +ssize_t PIEthernet::writeDevice(const void * data, ssize_t max_size) { if (sock == -1) init(); if (sock == -1 || !isWriteable()) { //piCoutObj << "Can`t send to uninitialized socket"; diff --git a/libs/main/io_devices/piethernet.h b/libs/main/io_devices/piethernet.h index 0cbed2eb..2da65d29 100644 --- a/libs/main/io_devices/piethernet.h +++ b/libs/main/io_devices/piethernet.h @@ -469,8 +469,8 @@ protected: PIPropertyStorage constructVariantDevice() const override; void configureFromVariantDevice(const PIPropertyStorage & d) override; bool configureDevice(const void * e_main, const void * e_parent = 0) override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; DeviceInfoFlags deviceInfoFlags() const override; //! Executes when any read function was successful. Default implementation does nothing diff --git a/libs/main/io_devices/pifile.cpp b/libs/main/io_devices/pifile.cpp index 7e654c53..e894ea22 100644 --- a/libs/main/io_devices/pifile.cpp +++ b/libs/main/io_devices/pifile.cpp @@ -447,13 +447,13 @@ PIByteArray PIFile::get() { } -int PIFile::readDevice(void * read_to, int max_size) { +ssize_t PIFile::readDevice(void * read_to, ssize_t max_size) { if (!canRead() || PRIVATE->fd == 0) return -1; return fread(read_to, 1, max_size, PRIVATE->fd); } -int PIFile::writeDevice(const void * data, int max_size) { +ssize_t PIFile::writeDevice(const void * data, ssize_t max_size) { if (!canWrite() || PRIVATE->fd == 0) return -1; return fwrite(data, 1, max_size, PRIVATE->fd); } diff --git a/libs/main/io_devices/pifile.h b/libs/main/io_devices/pifile.h index 93b92876..55b70534 100644 --- a/libs/main/io_devices/pifile.h +++ b/libs/main/io_devices/pifile.h @@ -312,8 +312,8 @@ protected: void configureFromFullPathDevice(const PIString & full_path) override; PIPropertyStorage constructVariantDevice() const override; void configureFromVariantDevice(const PIPropertyStorage & d) override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; bool openDevice() override; bool closeDevice() override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Sequential | PIIODevice::Reliable;} diff --git a/libs/main/io_devices/piiobytearray.cpp b/libs/main/io_devices/piiobytearray.cpp index 5d8c4467..08bf8f3e 100644 --- a/libs/main/io_devices/piiobytearray.cpp +++ b/libs/main/io_devices/piiobytearray.cpp @@ -55,7 +55,7 @@ bool PIIOByteArray::open(const PIByteArray &buffer) { } -int PIIOByteArray::readDevice(void * read_to, int size) { +ssize_t PIIOByteArray::readDevice(void * read_to, ssize_t size) { // piCout << "PIIOByteArray::read" << data_ << size << canRead(); if (!canRead() || !data_) return -1; int ret = piMini(size, data_->size_s() - pos); @@ -68,7 +68,7 @@ int PIIOByteArray::readDevice(void * read_to, int size) { } -int PIIOByteArray::writeDevice(const void * data, int size) { +ssize_t PIIOByteArray::writeDevice(const void * data, ssize_t size) { // piCout << "PIIOByteArray::write" << data << size << canWrite(); if (!canWrite() || !data) return -1; //piCout << "write" << data; diff --git a/libs/main/io_devices/piiobytearray.h b/libs/main/io_devices/piiobytearray.h index b006513f..91b1d095 100644 --- a/libs/main/io_devices/piiobytearray.h +++ b/libs/main/io_devices/piiobytearray.h @@ -91,8 +91,8 @@ public: protected: bool openDevice() override; - int readDevice(void * read_to, int size) override; - int writeDevice(const void * data_, int size) override; + ssize_t readDevice(void * read_to, ssize_t size) override; + ssize_t writeDevice(const void * data_, ssize_t size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Sequential | PIIODevice::Reliable;} ssize_t pos; diff --git a/libs/main/io_devices/piiodevice.cpp b/libs/main/io_devices/piiodevice.cpp index 5f88c8cb..19ac35cf 100644 --- a/libs/main/io_devices/piiodevice.cpp +++ b/libs/main/io_devices/piiodevice.cpp @@ -227,14 +227,21 @@ void PIIODevice::stop(bool hard) { } -PIByteArray PIIODevice::read(int max_size) { +PIByteArray PIIODevice::read(ssize_t max_size) { + if (max_size <= 0) return PIByteArray(); buffer_in.resize(max_size); - int ret = readDevice(buffer_in.data(), max_size); + ssize_t ret = readDevice(buffer_in.data(), max_size); if (ret < 0) return PIByteArray(); return buffer_in.resized(ret); } +ssize_t PIIODevice::write(const void * data, ssize_t max_size) { + if (max_size <= 0) return 0; + return writeDevice(data, max_size); +} + + void PIIODevice::_init() { opened_ = init_ = thread_started_ = false; raise_threaded_read_ = true; @@ -352,7 +359,7 @@ void PIIODevice::run() { PIByteArray PIIODevice::readForTime(double timeout_ms) { PIByteArray str; if (timeout_ms <= 0.) return str; - int ret; + ssize_t ret; uchar * td = new uchar[threaded_read_buffer_size]; tm.reset(); while (tm.elapsed_m() < timeout_ms) { @@ -408,7 +415,7 @@ bool PIIODevice::close() { return !opened_; } -int PIIODevice::write(PIByteArray data) { +ssize_t PIIODevice::write(PIByteArray data) { return writeDevice(data.data(), data.size_s()); } @@ -595,7 +602,7 @@ PIMap & PIIODevice::fabrics() { } -bool PIIODevice::threadedRead(const uchar *readed, int size) { +bool PIIODevice::threadedRead(const uchar *readed, ssize_t size) { // piCout << "iodevice threaded read"; if (func_read) return func_read(readed, size, ret_data_); return true; diff --git a/libs/main/io_devices/piiodevice.h b/libs/main/io_devices/piiodevice.h index e33fba97..503f1f70 100644 --- a/libs/main/io_devices/piiodevice.h +++ b/libs/main/io_devices/piiodevice.h @@ -273,15 +273,15 @@ public: //! \~english Read from device maximum "max_size" bytes to "read_to" //! \~russian Читает из устройства не более "max_size" байт в "read_to" - int read(void * read_to, int max_size) {return readDevice(read_to, max_size);} + ssize_t read(void * read_to, ssize_t max_size) {return readDevice(read_to, max_size);} //! \~english Read from device to memory block "mb" //! \~russian Читает из устройства в блок памяти "mb" - int read(PIMemoryBlock mb) {return readDevice(mb.data(), mb.size());} + ssize_t read(PIMemoryBlock mb) {return readDevice(mb.data(), mb.size());} //! \~english Read from device maximum "max_size" bytes and returns them as PIByteArray //! \~russian Читает из устройства не более "max_size" байт и возвращает данные как PIByteArray - PIByteArray read(int max_size); + PIByteArray read(ssize_t max_size); //! \~english Returns the number of bytes that are available for reading. //! \~russian Возвращает количество байт доступных для чтения @@ -296,7 +296,7 @@ public: //! \~english Write maximum "max_size" bytes of "data" to device //! \~russian Пишет в устройство не более "max_size" байт из "data" - int write(const void * data, int max_size) {return writeDevice(data, max_size);} + ssize_t write(const void * data, ssize_t max_size); //! \~english Read from device for "timeout_ms" milliseconds and return readed data as PIByteArray. //! Timeout should to be greater than 0 @@ -307,7 +307,7 @@ public: //! \~english Add task to threaded write queue and return task ID //! \~russian Добавляет данные в очередь на потоковую запись и возвращает ID задания - ullong writeThreaded(const void * data, int max_size) {return writeThreaded(PIByteArray(data, uint(max_size)));} + ullong writeThreaded(const void * data, ssize_t max_size) {return writeThreaded(PIByteArray(data, uint(max_size)));} //! \~english Add task to threaded write queue and return task ID //! \~russian Добавляет данные в очередь на потоковую запись и возвращает ID задания @@ -369,18 +369,18 @@ public: bool open(DeviceMode _mode); EVENT_HANDLER2(bool, open, const PIString &, _path, DeviceMode, _mode); EVENT_HANDLER(bool, close); - EVENT_HANDLER1(int, write, PIByteArray, data); + EVENT_HANDLER1(ssize_t, write, PIByteArray, data); //! \~english Write memory block "mb" to device //! \~russian Пишет в устройство блок памяти "mb" - int write(const PIMemoryBlock & mb) {return write(mb.data(), mb.size());} + ssize_t write(const PIMemoryBlock & mb) {return write(mb.data(), mb.size());} EVENT_VHANDLER(void, flush) {;} EVENT(opened); EVENT(closed); - EVENT2(threadedReadEvent, const uchar * , readed, int, size); - EVENT2(threadedWriteEvent, ullong, id, int, written_size); + EVENT2(threadedReadEvent, const uchar * , readed, ssize_t, size); + EVENT2(threadedWriteEvent, ullong, id, ssize_t, written_size); //! \handlers //! \{ @@ -405,7 +405,7 @@ public: //! \~english Close device //! \~russian Закрывает устройство - //! \fn int write(PIByteArray data) + //! \fn ssize_t write(PIByteArray data) //! \~english Write "data" to device //! \~russian Пишет "data" в устройство @@ -429,11 +429,11 @@ public: //! \~english Raise if succesfull close //! \~russian Вызывается при успешном закрытии - //! \fn void threadedReadEvent(const uchar * readed, int size) + //! \fn void threadedReadEvent(const uchar * readed, ssize_t size) //! \~english Raise if read thread succesfull read some data //! \~russian Вызывается при успешном потоковом чтении данных - //! \fn void threadedWriteEvent(ullong id, int written_size) + //! \fn void threadedWriteEvent(ullong id, ssize_t written_size) //! \~english Raise if write thread successfull write some data of task with ID "id" //! \~russian Вызывается при успешной потоковой записи данных с ID задания "id" @@ -477,15 +477,15 @@ protected: //! \~english Reimplement this function to read from your device //! \~russian Переопределите для чтения данных из устройства - virtual int readDevice(void * read_to, int max_size) {piCoutObj << "\"read\" is not implemented!"; return -2;} + virtual ssize_t readDevice(void * read_to, ssize_t max_size) {piCoutObj << "\"read\" is not implemented!"; return -2;} //! \~english Reimplement this function to write to your device //! \~russian Переопределите для записи данных в устройство - virtual int writeDevice(const void * data, int max_size) {piCoutObj << "\"write\" is not implemented!"; return -2;} + virtual ssize_t writeDevice(const void * data, ssize_t max_size) {piCoutObj << "\"write\" is not implemented!"; return -2;} //! \~english Function executed when thread read some data, default implementation execute external callback "ret_func_" //! \~russian Метод вызывается после каждого успешного потокового чтения, по умолчанию вызывает callback "ret_func_" - virtual bool threadedRead(const uchar * readed, int size); + virtual bool threadedRead(const uchar * readed, ssize_t size); //! \~english Reimplement to construct full unambiguous string, describes this device. //! Default implementation returns \a path() @@ -561,7 +561,7 @@ private: PIByteArray buffer_in, buffer_tr; PIQueue > write_queue; ullong tri; - int readed_; + ssize_t readed_; uint threaded_read_buffer_size; bool init_, thread_started_, raise_threaded_read_; diff --git a/libs/main/io_devices/piiostring.cpp b/libs/main/io_devices/piiostring.cpp index 19ee5c18..25563ca2 100644 --- a/libs/main/io_devices/piiostring.cpp +++ b/libs/main/io_devices/piiostring.cpp @@ -65,7 +65,7 @@ PIString PIIOString::readLine() { } -int PIIOString::readDevice(void * read_to, int max_size) { +ssize_t PIIOString::readDevice(void * read_to, ssize_t max_size) { if (!canRead() || !str || max_size <= 0) return -1; PIString rs = str->mid(pos, max_size); pos += max_size; @@ -77,7 +77,7 @@ int PIIOString::readDevice(void * read_to, int max_size) { } -int PIIOString::writeDevice(const void * data, int max_size) { +ssize_t PIIOString::writeDevice(const void * data, ssize_t max_size) { if (!canWrite() || !str) return -1; //piCout << "write" << data; if (pos > str->size_s()) pos = str->size_s(); diff --git a/libs/main/io_devices/piiostring.h b/libs/main/io_devices/piiostring.h index e8332455..3b133126 100644 --- a/libs/main/io_devices/piiostring.h +++ b/libs/main/io_devices/piiostring.h @@ -95,8 +95,8 @@ public: protected: bool openDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Sequential | PIIODevice::Reliable;} ssize_t pos; diff --git a/libs/main/io_devices/pipeer.cpp b/libs/main/io_devices/pipeer.cpp index 10e61c5c..34d04004 100644 --- a/libs/main/io_devices/pipeer.cpp +++ b/libs/main/io_devices/pipeer.cpp @@ -247,7 +247,7 @@ void PIPeer::initEths(PIStringList al) { eths_traffic << ce; cint = prev_ifaces.getByAddress(a); self_info.addresses << PeerInfo::PeerAddress(ce->path(), cint == 0 ? "255.255.255.0" : cint->netmask); - CONNECT2(void, const uchar *, int, ce, threadedReadEvent, this, dataRead); + CONNECT2(void, const uchar *, ssize_t, ce, threadedReadEvent, this, dataRead); ce->startThreadedRead(); // piCoutObj << "dc binded to" << ce->path(); // piCoutObj << "add eth" << a; @@ -282,7 +282,7 @@ void PIPeer::initMBcasts(PIStringList al) { ce->joinMulticastGroup(_PIPEER_MULTICAST_IP); if (ce->open()) { eths_mcast << ce; - CONNECT2(void, const uchar *, int, ce, threadedReadEvent, this, mbcastRead); + CONNECT2(void, const uchar *, ssize_t, ce, threadedReadEvent, this, mbcastRead); ce->startThreadedRead(); // piCout << "mcast bind to" << a << ce->sendIP(); } else { @@ -302,7 +302,7 @@ void PIPeer::initMBcasts(PIStringList al) { ce->setReadAddress(a, _PIPEER_BROADCAST_PORT); if (ce->open()) { eths_bcast << ce; - CONNECT2(void, const uchar *, int, ce, threadedReadEvent, this, mbcastRead); + CONNECT2(void, const uchar *, ssize_t, ce, threadedReadEvent, this, mbcastRead); ce->startThreadedRead(); // piCout << "mc BC try" << a << nm << ce->sendIP(); // piCout << "bcast bind to" << a << nm; @@ -319,7 +319,7 @@ void PIPeer::initMBcasts(PIStringList al) { eth_lo.setReadAddress("127.0.0.1", p); if (eth_lo.open()) { eth_lo.setSendIP("127.0.0.1"); - CONNECT2(void, const uchar *, int, ð_lo, threadedReadEvent, this, mbcastRead); + CONNECT2(void, const uchar *, ssize_t, ð_lo, threadedReadEvent, this, mbcastRead); eth_lo.startThreadedRead(); // piCout << "lo binded to" << eth_lo.readAddress() << eth_lo.sendAddress(); //piCout << "add eth" << ta; @@ -336,7 +336,7 @@ void PIPeer::initMBcasts(PIStringList al) { eth_tcp_cli.init(); eth_tcp_cli.setDebug(false); tcpClientReconnect(); - CONNECT2(void, const uchar *, int, ð_tcp_cli, threadedReadEvent, this, mbcastRead); + CONNECT2(void, const uchar *, ssize_t, ð_tcp_cli, threadedReadEvent, this, mbcastRead); CONNECTU(ð_tcp_cli, disconnected, this, tcpClientReconnect); eth_tcp_cli.startThreadedRead(); if (eths_mcast.isEmpty() && eths_bcast.isEmpty() && !eth_lo.isOpened()) piCoutObj << "Warning! Can`t find suitable network interface for multicast receive, check for exists at least one interface with multicasting enabled!"; @@ -444,7 +444,7 @@ void PIPeer::dtReceived(const PIString & from, const PIByteArray & data) { } -bool PIPeer::dataRead(const uchar * readed, int size) { +bool PIPeer::dataRead(const uchar * readed, ssize_t size) { if (destroyed) { //piCout << "[PIPeer] SegFault"; return true; @@ -561,7 +561,7 @@ bool PIPeer::dataRead(const uchar * readed, int size) { } -bool PIPeer::mbcastRead(const uchar * data, int size) { +bool PIPeer::mbcastRead(const uchar * data, ssize_t size) { if (destroyed) { //piCout << "[PIPeer] SegFault"; return true; @@ -933,7 +933,7 @@ ssize_t PIPeer::bytesAvailable() const { } -int PIPeer::readDevice(void *read_to, int max_size) { +ssize_t PIPeer::readDevice(void *read_to, ssize_t max_size) { read_buffer_mutex.lock(); bool empty = read_buffer.isEmpty(); read_buffer_mutex.unlock(); @@ -947,7 +947,7 @@ int PIPeer::readDevice(void *read_to, int max_size) { if (!read_buffer.isEmpty()) { PIByteArray ba = read_buffer.dequeue(); read_buffer_mutex.unlock(); - int sz = piMini(ba.size_s(), max_size); + ssize_t sz = piMini(ba.size_s(), max_size); memcpy(read_to, ba.data(), sz); return sz; } @@ -956,7 +956,7 @@ int PIPeer::readDevice(void *read_to, int max_size) { } -int PIPeer::writeDevice(const void *data, int size) { +ssize_t PIPeer::writeDevice(const void *data, ssize_t size) { if (trust_peer.isEmpty()) { sendToAll(data, size); return size; @@ -970,7 +970,7 @@ int PIPeer::writeDevice(const void *data, int size) { void PIPeer::newTcpClient(PIEthernet *client) { client->setName("__S__PIPeer_eth_TCP_ServerClient" + client->path()); piCoutObj << "client" << client->path(); - CONNECT2(void, const uchar *, int, client, threadedReadEvent, this, mbcastRead); + CONNECT2(void, const uchar *, ssize_t, client, threadedReadEvent, this, mbcastRead); client->startThreadedRead(); } diff --git a/libs/main/io_devices/pipeer.h b/libs/main/io_devices/pipeer.h index e3cbc576..47c7172b 100644 --- a/libs/main/io_devices/pipeer.h +++ b/libs/main/io_devices/pipeer.h @@ -134,8 +134,8 @@ protected: virtual void peerConnected(const PIString & name) {;} virtual void peerDisconnected(const PIString & name) {;} - EVENT_HANDLER2(bool, dataRead, const uchar *, readed, int, size); - EVENT_HANDLER2(bool, mbcastRead, const uchar *, readed, int, size); + EVENT_HANDLER2(bool, dataRead, const uchar *, readed, ssize_t, size); + EVENT_HANDLER2(bool, mbcastRead, const uchar *, readed, ssize_t, size); private: EVENT_HANDLER2(void, timerEvent, void * , data, int, delim); @@ -172,8 +172,8 @@ private: void configureFromFullPathDevice(const PIString &full_path) override; PIPropertyStorage constructVariantDevice() const override; void configureFromVariantDevice(const PIPropertyStorage & d) override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} PeerInfo * quickestPeer(const PIString & to); diff --git a/libs/main/io_devices/piserial.cpp b/libs/main/io_devices/piserial.cpp index 7a3fada6..44322f64 100644 --- a/libs/main/io_devices/piserial.cpp +++ b/libs/main/io_devices/piserial.cpp @@ -793,7 +793,7 @@ void PISerial::setTimeouts() { //! \returns Количество прочитанных байт, -1 при ошибке //! //! \~\sa \a readData(), \a readString() -int PISerial::readDevice(void * read_to, int max_size) { +ssize_t PISerial::readDevice(void * read_to, ssize_t max_size) { #ifdef WINDOWS if (!canRead()) return -1; if (sending) return -1; @@ -811,7 +811,7 @@ int PISerial::readDevice(void * read_to, int max_size) { return PRIVATE->readed; #else if (!canRead()) return -1; - int ret = ::read(fd, read_to, max_size); + ssize_t ret = ::read(fd, read_to, max_size); if (ret < 0) { int err = errno; if (err == EBADF || err == EFAULT || err == EINVAL || err == EIO) { @@ -825,7 +825,7 @@ int PISerial::readDevice(void * read_to, int max_size) { } -int PISerial::writeDevice(const void * data, int max_size) { +ssize_t PISerial::writeDevice(const void * data, ssize_t max_size) { if (fd == -1 || !canWrite()) { //piCoutObj << "Can`t write to uninitialized COM"; return -1; @@ -838,11 +838,11 @@ int PISerial::writeDevice(const void * data, int max_size) { sending = false; // piCoutObj << "send ok";// << wrote << " bytes in " << path(); #else - int wrote; + ssize_t wrote; wrote = ::write(fd, data, max_size); if (isOptionSet(BlockingWrite)) tcdrain(fd); #endif - return (int)wrote; + return (ssize_t)wrote; //piCoutObj << "Error while sending"; } diff --git a/libs/main/io_devices/piserial.h b/libs/main/io_devices/piserial.h index 192cd6ef..84b0bca7 100644 --- a/libs/main/io_devices/piserial.h +++ b/libs/main/io_devices/piserial.h @@ -292,8 +292,8 @@ protected: //! \~english Basic read function //! \~russian Базовое чтение - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Sequential;} //! Executes when any read function was successful. Default implementation does nothing diff --git a/libs/main/io_devices/pisharedmemory.h b/libs/main/io_devices/pisharedmemory.h index 112260c4..e8a7d588 100644 --- a/libs/main/io_devices/pisharedmemory.h +++ b/libs/main/io_devices/pisharedmemory.h @@ -97,8 +97,8 @@ protected: void configureFromFullPathDevice(const PIString & full_path) override; PIPropertyStorage constructVariantDevice() const override; void configureFromVariantDevice(const PIPropertyStorage & d) override; - int readDevice(void * read_to, int max_size) override {return read(read_to, max_size, 0);} - int writeDevice(const void * data, int max_size) override {return write(data, max_size, 0);} + ssize_t readDevice(void * read_to, ssize_t max_size) override {return read(read_to, max_size, 0);} + ssize_t writeDevice(const void * data, ssize_t max_size) override {return write(data, max_size, 0);} DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} private: diff --git a/libs/main/io_devices/pispi.cpp b/libs/main/io_devices/pispi.cpp index bbe875aa..039635d6 100644 --- a/libs/main/io_devices/pispi.cpp +++ b/libs/main/io_devices/pispi.cpp @@ -128,15 +128,15 @@ bool PISPI::closeDevice() { } -int PISPI::readDevice(void * read_to, int max_size) { - int sz = piMini(recv_buf.size_s(), max_size); +ssize_t PISPI::readDevice(void * read_to, ssize_t max_size) { + ssize_t sz = piMini(recv_buf.size_s(), max_size); memcpy(read_to, recv_buf.data(), sz); recv_buf.remove(0, sz); return sz; } -int PISPI::writeDevice(const void * data, int max_size) { +ssize_t PISPI::writeDevice(const void * data, ssize_t max_size) { #ifdef PIP_SPI if (max_size > 0) { if (tx_buf.size_s() != max_size) { diff --git a/libs/main/io_devices/pispi.h b/libs/main/io_devices/pispi.h index cdb44ae6..dbdc9025 100644 --- a/libs/main/io_devices/pispi.h +++ b/libs/main/io_devices/pispi.h @@ -65,8 +65,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; PIString constructFullPathDevice() const override; void configureFromFullPathDevice(const PIString & full_path) override; diff --git a/libs/main/io_devices/pitransparentdevice.cpp b/libs/main/io_devices/pitransparentdevice.cpp index 39b6831a..1fc01251 100644 --- a/libs/main/io_devices/pitransparentdevice.cpp +++ b/libs/main/io_devices/pitransparentdevice.cpp @@ -58,7 +58,7 @@ ssize_t PITransparentDevice::bytesAvailable() const { } -int PITransparentDevice::readDevice(void * read_to, int max_size) { +ssize_t PITransparentDevice::readDevice(void * read_to, ssize_t max_size) { if (!canRead()) return -1; que_mutex.lock(); if (que.isEmpty()) { @@ -67,13 +67,13 @@ int PITransparentDevice::readDevice(void * read_to, int max_size) { } PIByteArray ba = que.dequeue(); que_mutex.unlock(); - int ret = piMini(max_size, ba.size_s()); + ssize_t ret = piMini(max_size, ba.size_s()); memcpy(read_to, ba.data(), ret); return ret; } -int PITransparentDevice::writeDevice(const void * data, int max_size) { +ssize_t PITransparentDevice::writeDevice(const void * data, ssize_t max_size) { if (!canWrite()) return -1; que_mutex.lock(); que.enqueue(PIByteArray(data, max_size)); diff --git a/libs/main/io_devices/pitransparentdevice.h b/libs/main/io_devices/pitransparentdevice.h index 991a4f88..5fad7ac8 100644 --- a/libs/main/io_devices/pitransparentdevice.h +++ b/libs/main/io_devices/pitransparentdevice.h @@ -49,8 +49,8 @@ public: protected: bool openDevice() override; bool closeDevice() override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} mutable PIMutex que_mutex; diff --git a/libs/main/io_devices/piusb.h b/libs/main/io_devices/piusb.h index 9e13218e..79c6f6fb 100644 --- a/libs/main/io_devices/piusb.h +++ b/libs/main/io_devices/piusb.h @@ -163,11 +163,11 @@ protected: bool configureDevice(const void * e_main, const void * e_parent = 0) override; PIString constructFullPathDevice() const override; void configureFromFullPathDevice(const PIString & full_path) override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; bool openDevice() override; bool closeDevice() override; - DeviceInfoFlags deviceInfoFlags() const {return PIIODevice::Reliable;} + DeviceInfoFlags deviceInfoFlags() const override {return PIIODevice::Reliable;} PIVector eps; ushort vid_, pid_; diff --git a/libs/main/io_utils/pibroadcast.h b/libs/main/io_utils/pibroadcast.h index a6b99311..4c250448 100644 --- a/libs/main/io_utils/pibroadcast.h +++ b/libs/main/io_utils/pibroadcast.h @@ -133,7 +133,7 @@ protected: virtual void addressesChanged() {} private: - EVENT_HANDLER2(void, mcastRead, const uchar * , data, int, size); + EVENT_HANDLER2(void, mcastRead, const uchar * , data, ssize_t, size); void destroyAll(); void initAll(PIVector al); void run() override; diff --git a/libs/main/io_utils/pipacketextractor.cpp b/libs/main/io_utils/pipacketextractor.cpp index e3c8d30c..196a5813 100644 --- a/libs/main/io_utils/pipacketextractor.cpp +++ b/libs/main/io_utils/pipacketextractor.cpp @@ -117,13 +117,13 @@ void PIPacketExtractor::propertyChanged(const char *) { } -int PIPacketExtractor::readDevice(void * read_to, int max_size) { +ssize_t PIPacketExtractor::readDevice(void * read_to, ssize_t max_size) { if (dev) return dev->read(read_to, max_size); return -1; } -int PIPacketExtractor::writeDevice(const void * data, int max_size) { +ssize_t PIPacketExtractor::writeDevice(const void * data, ssize_t max_size) { if (dev) return dev->write(data, max_size); return -1; } @@ -182,7 +182,7 @@ bool PIPacketExtractor::validatePayload(const uchar * rec, int size) { } -bool PIPacketExtractor::threadedRead(const uchar * readed, int size_) { +bool PIPacketExtractor::threadedRead(const uchar * readed, ssize_t size_) { //piCoutObj << "readed" << size_; int ss; tmpbuf.append(readed, size_); diff --git a/libs/main/io_utils/pipacketextractor.h b/libs/main/io_utils/pipacketextractor.h index e545f542..ccc3cf2c 100644 --- a/libs/main/io_utils/pipacketextractor.h +++ b/libs/main/io_utils/pipacketextractor.h @@ -151,9 +151,9 @@ protected: private: void construct(); void propertyChanged(const char *) override; - int readDevice(void * read_to, int max_size) override; - int writeDevice(const void * data, int max_size) override; - bool threadedRead(const uchar * readed, int size) override; + ssize_t readDevice(void * read_to, ssize_t max_size) override; + ssize_t writeDevice(const void * data, ssize_t max_size) override; + bool threadedRead(const uchar * readed, ssize_t size) override; PIString constructFullPathDevice() const override; bool openDevice() override; bool closeDevice() override; diff --git a/libs/main/io_utils/pistreampacker.h b/libs/main/io_utils/pistreampacker.h index 2963e500..8aacac25 100644 --- a/libs/main/io_utils/pistreampacker.h +++ b/libs/main/io_utils/pistreampacker.h @@ -80,7 +80,7 @@ public: //! and \a packetReceived() virtual method void received(const PIByteArray & data); - EVENT_HANDLER2(void, received, const uchar * , readed, int, size); + EVENT_HANDLER2(void, received, const uchar * , readed, ssize_t, size); //! Connect \"dev\" \a PIIODevice::threadedReadEvent() event to \a received() handler //! and \a sendRequest() event to \"dev\" \a PIIODevice::write() handler diff --git a/libs/usb/piusb.cpp b/libs/usb/piusb.cpp index 6db89eab..85cfe01f 100644 --- a/libs/usb/piusb.cpp +++ b/libs/usb/piusb.cpp @@ -319,7 +319,7 @@ bool PIUSB::closeDevice() { } -int PIUSB::readDevice(void * read_to, int max_size) { +ssize_t PIUSB::readDevice(void * read_to, ssize_t max_size) { #ifdef PIP_USB if (isClosed() || ep_read.isNull()) return -1; switch (ep_read.transfer_type) { @@ -337,7 +337,7 @@ int PIUSB::readDevice(void * read_to, int max_size) { } -int PIUSB::writeDevice(const void * data, int max_size) { +ssize_t PIUSB::writeDevice(const void * data, ssize_t max_size) { #ifdef PIP_USB if (isClosed() || ep_write.isNull()) return -1; switch (ep_read.transfer_type) { diff --git a/main_picloud_test.cpp b/main_picloud_test.cpp index f885ffa8..5afd928b 100644 --- a/main_picloud_test.cpp +++ b/main_picloud_test.cpp @@ -28,7 +28,7 @@ int main(int argc, char * argv[]) { } } })); - CONNECTL(&c, threadedReadEvent, ([&](const uchar * readed, int size){ + CONNECTL(&c, threadedReadEvent, ([&](const uchar * readed, ssize_t size){ PIByteArray ba(readed, size); if (size < 1024) { PIString str = PIString(ba); @@ -41,7 +41,7 @@ int main(int argc, char * argv[]) { CONNECTL(&s, newConnection, ([&](PICloudServer::Client * cl){ piCout << "[Server] new client:" << cl; clients << cl; - CONNECTL(cl, threadedReadEvent, ([&c, &s, cl, &rnd](const uchar * readed, int size){ + CONNECTL(cl, threadedReadEvent, ([cl, &rnd](const uchar * readed, ssize_t size){ PIByteArray ba(readed, size); PIString str = PIString(ba); piCout << "[Server] data from" << cl << ":" << str; diff --git a/main_tcp_server.cpp b/main_tcp_server.cpp index fc828b61..c8dfb88f 100644 --- a/main_tcp_server.cpp +++ b/main_tcp_server.cpp @@ -6,14 +6,14 @@ public: Client(PIEthernet * eth_) { eth = eth_; eth->startThreadedRead(); - CONNECT2(void, const uchar *, int, eth, threadedReadEvent, this, readed); + CONNECT2(void, const uchar *, ssize_t, eth, threadedReadEvent, this, readed); CONNECT1(void, bool, eth, disconnected, this, disconnected); piCoutObj << uint(eth) << "client connected"; } ~Client() {} - EVENT_HANDLER2(void, readed, const uchar *, data, int, size) { + EVENT_HANDLER2(void, readed, const uchar *, data, ssize_t, size) { PIByteArray ba(data, size); - piCoutObj << uint(eth) << "readed" << size << "bytes" << Hex << ba; + piCoutObj << uint(eth) << "readed" << size << "bytes" << PICoutManipulators::Hex << ba; eth->write(ba); } EVENT_HANDLER1(void, disconnected, bool, withError) { diff --git a/utils/udp_file_transfer/main.cpp b/utils/udp_file_transfer/main.cpp index f048cafa..a0dfcabf 100644 --- a/utils/udp_file_transfer/main.cpp +++ b/utils/udp_file_transfer/main.cpp @@ -50,7 +50,7 @@ public: CONNECTU(&ft, sendFilesFinished, this, ftevent); CONNECTU(&ft, receiveFilesFinished, this, ftevent); } - CONNECT2(void, const uchar *, int, ð, threadedReadEvent, this, received); + CONNECT2(void, const uchar *, ssize_t, ð, threadedReadEvent, this, received); start(50); eth.setParameter(PIEthernet::SeparateSockets); eth.startThreadedRead(); @@ -136,7 +136,7 @@ private: eth.send(data); } - EVENT_HANDLER2(void, received, const uchar * , readed, int, size) { + EVENT_HANDLER2(void, received, const uchar * , readed, ssize_t, size) { PIByteArray ba(readed, size); if(test_) { testt.received(ba);