Всем привет. Изучал пример библиотеки QT networkchat, стало любопытно, как генерируется сигнал readyRead, оказалось, что класс QTCPSocket унаследован от QAbstractsocket, а тот в свою очередь унаследован от qiodevice. В файле qiodevice.cpp... ничего не понял (до этого мнил себе что синтаксис C/C++ знаю) В частности обнаружил такой фрагмент:
/*!
\fn QIODevice::readyRead()
This signal is emitted once every time new data is available for
reading from the device. It will only be emitted again once new
data is available, such as when a new payload of network data has
arrived on your network socket, or when a new block of data has
been appended to your device.
readyRead() is not emitted recursively; if you reenter the event loop or
call waitForReadyRead() inside a slot connected to the readyRead() signal,
the signal will not be reemitted (although waitForReadyRead() may still
return true).
Note for developers implementing classes derived from QIODevice:
you should always emit readyRead() when new data has arrived (do not
emit it only because there's data still to be read in your
buffers). Do not emit readyRead() in other conditions.
\sa bytesWritten()
*/
как понять вот это \fn QIODevice::readyRead() и \sa ?
Я понимаю что сигнал генерируется каждый раз когда в устройстве появляются новые данные доступные для чтения, но я не понимаю, КАК и ПОЧЕМУ он генерируется.
Прошу прощения если не в ту ветку написал, но очень интересно.