[Interest] QAbstractEventDispatcher - registerSocketNotifier(), unregisterSocketNotifier()
Narolewski Jakub
izowiuz at gmail.com
Sat Dec 28 20:31:07 CET 2019
My first email was scrubbed to HTML attachment - I'm resending it form
different email client in hope of better visibility on the mailing list.
I have this pet project of mine in which I'm testing the possibility of
integrating libuv's event loop cleanly with Qt.
After some research I come to conclusion that custom class based on
QAbstractEventDispatcher will perfect for this.
Some prototyping later and - give or take few bugs - it seems to be
somewhat working :]
Given lack of written examples on how things work on this level I'm not
quite sure about one thing.
Both methods - registerSocketNotifier() and unregisterSocketNotifier() -
get called very frequently on the same QSocketNotifier, with identical
QSocketNotifier::Type.
Example debug output looks like this:
[debug ] 18:33:48.013
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.024
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.061
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.072
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.110
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.121
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.157
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.168
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.205
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.216
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.253
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.265
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.301
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.311
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.349
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.360
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.397
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.407
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.445
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.456
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.494
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.504
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.542
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.553
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.590
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.601
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.638
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.649
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.686
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.697
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.734
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.744
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.782
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.793
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.831
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.841
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.879
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.890
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.927
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.938
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.975
LibUvEventDispatcher::registerSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
[debug ] 18:33:48.986
LibUvEventDispatcher::unregisterSocketNotifier()
QSocketNotifier(0x1cb64fde5a0)
Which come close to 40Hz for both functions.
Is this ... normal? Have I done something wrong in my implementation of
custom EventDispatcher?
I'm testing this on Windows 10. My application uses QWebSocketServer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20191228/c726e18e/attachment.html>
More information about the Interest
mailing list