more ai generated doc with human review

This commit is contained in:
2026-02-28 12:29:00 +03:00
parent 077f12c9e5
commit 0878891cd8
86 changed files with 2215 additions and 637 deletions

View File

@@ -33,45 +33,65 @@
class PIIODevice;
//! \~english Stream packer configuration
//! \~russian Конфигурация упаковщика потока
class PIStreamPackerConfig: public PIEthUtilBase {
friend class PIStreamPacker;
public:
//! \~english Constructs default configuration
//! \~russian Создает конфигурацию по умолчанию
PIStreamPackerConfig() {
crypt_size = false;
crypt_size = false;
aggressive_optimization = true;
max_packet_size = 1400;
packet_sign = 0xAFBE;
}
//! Set maximum size of single packet
//! \~english Set maximum size of single packet
//! \~russian Установить максимальный размер одного пакета
void setMaxPacketSize(int max_size) { max_packet_size = max_size; }
//! Returns maximum size of single packet, default 1400 bytes
//! \~english Returns maximum size of single packet, default 1400 bytes
//! \~russian Возвращает максимальный размер одного пакета, по умолчанию 1400 байт
int maxPacketSize() const { return max_packet_size; }
//! Set packet sinature
//! \~english Set packet signature
//! \~russian Установить подпись пакета
void setPacketSign(ushort sign_) { packet_sign = sign_; }
//! Returns packet sinature, default 0xAFBE
//! \~english Returns packet signature, default 0xAFBE
//! \~russian Возвращает подпись пакета, по умолчанию 0xAFBE
ushort packetSign() const { return packet_sign; }
//! Set receive aggressive optimization. If yes then %PIStreamPacker doesn`t
//! check every byte in incoming stream but check only begin of each read()
//! result. Default is \b true.
//! \~english Set receive aggressive optimization. If yes then %PIStreamPacker doesn`t check every byte in incoming stream but check
//! only begin of each read() result. Default is \b true.
//! \~russian Установить агрессивную оптимизацию приема. Если да, то %PIStreamPacker не проверяет каждый байт во входящем потоке, а
//! только начало каждого результата read(). По умолчанию \b true.
void setaAggressiveOptimization(bool yes) { aggressive_optimization = yes; }
//! Returns aggressive optimization
//! \~english Returns aggressive optimization
//! \~russian Возвращает агрессивную оптимизацию
bool aggressiveOptimization() const { return aggressive_optimization; }
//! \~english Check if crypt size enabled
//! \~russian Проверить, включен ли размер шифрования
bool cryptSizeEnabled() const { return crypt_size; }
//! \~english Set crypt size enabled
//! \~russian Установить включенный размер шифрования
void setCryptSizeEnabled(bool on) { crypt_size = on; }
//! Get configuration
//! \~english Get configuration
//! \~russian Получить конфигурацию
const PIStreamPackerConfig & configuration() const { return *this; }
//! \~english Get configuration
//! \~russian Получить конфигурацию
PIStreamPackerConfig & configuration() { return *this; }
//! Apply configuration
//! \~english Apply configuration
//! \~russian Применить конфигурацию
void setConfiguration(const PIStreamPackerConfig & config) { *this = config; }
private:
@@ -81,31 +101,40 @@ private:
};
//! \~english Simple packet wrap around any PIIODevice
//! \~russian Простая фрагментация пакетов, использует любой PIIODevice
class PIP_IO_UTILS_EXPORT PIStreamPacker
: public PIObject
, public PIStreamPackerConfig {
PIOBJECT(PIStreamPacker)
public:
//! Contructs packer and try to assign \"dev\"
//! \~english Constructs packer and try to assign "dev"
//! \~russian Создает упаковщик и пытается присвоить "dev"
PIStreamPacker(PIIODevice * dev = nullptr);
//! Returns progress of current packet receive in bytes
//! \~english Returns progress of current packet receive in bytes
//! \~russian Возвращает прогресс приема текущего пакета в байтах
int receivePacketProgress() const { return packet.size_s(); }
//! \~english Clear all buffers
//! \~russian Очистить все буферы
void clear();
//! Prepare data for send and raise \a sendRequest() events
//! \~english Prepare data for send and raise \a sendRequest() events
//! \~russian Подготовить данные для отправки и вызвать события \a sendRequest()
void send(const PIByteArray & data);
//! Receive data part. If packet is ready, raise \a packetReceiveEvent() event
//! and \a packetReceived() virtual method
//! \~english Receive data part. If packet is ready, raise \a packetReceiveEvent() event and \a packetReceived() virtual method
//! \~russian Принять часть данных. Если пакет готов, вызвать событие \a packetReceiveEvent() и виртуальный метод \a packetReceived()
void received(const PIByteArray & data);
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
//! \~english Connect "dev" \a PIIODevice::threadedReadEvent() event to \a received() handler and \a sendRequest() event to "dev" \a
//! PIIODevice::write() handler
//! \~russian Подключить событие \a PIIODevice::threadedReadEvent() устройства "dev" к обработчику \a received() и событие \a
//! sendRequest() к обработчику \a PIIODevice::write()
void assignDevice(PIIODevice * dev);
EVENT1(packetReceiveEvent, PIByteArray &, data);