UniSet  2.6.0
ModbusTCPCore.h
00001 // -------------------------------------------------------------------------
00002 #ifndef ModbusTCPCore_H_
00003 #define ModbusTCPCore_H_
00004 // -------------------------------------------------------------------------
00005 #include <queue>
00006 #include "ModbusRTUErrors.h"
00007 #include "UTCPStream.h"
00008 // -------------------------------------------------------------------------
00009 namespace uniset
00010 {
00011 // -------------------------------------------------------------------------
00013 namespace ModbusTCPCore
00014 {
00015 // Если соединение закрыто (другой стороной), функции выкидывают исключение uniset::CommFailed
00016 
00017 // t - msec (сколько ждать)
00018 size_t readNextData(UTCPStream* tcp, std::queue<unsigned char>& qrecv, size_t max = 100);
00019 size_t getNextData( UTCPStream* tcp, std::queue<unsigned char>& qrecv, unsigned char* buf, size_t len );
00020 ModbusRTU::mbErrCode sendData(UTCPStream* tcp, unsigned char* buf, size_t len );
00021 
00022 // работа напрямую с сокетом
00023 size_t readDataFD(int fd, std::queue<unsigned char>& qrecv, size_t max = 100, size_t attempts = 1 );
00024 size_t getDataFD( int fd, std::queue<unsigned char>& qrecv, unsigned char* buf, size_t len, size_t attempts = 1 );
00025 ModbusRTU::mbErrCode sendDataFD( int fd, unsigned char* buf, size_t len );
00026 }
00027 // -------------------------------------------------------------------------
00028 } // end of namespace uniset
00029 // -------------------------------------------------------------------------
00030 #endif // ModbusTCPCore_H_
00031 // -------------------------------------------------------------------------