[network/libktorrent] src: ABI/API break: use enum class for Poll:Mode

Jack Hill <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit beab56861881aa24904934894ac717298f5c352f by Jack Hill.
Committed on 15/08/2026 at 10:22.
Pushed by jackh into branch 'master'.

ABI/API break: use enum class for Poll:Mode

No downstream changes required.

M  +2    -2    src/net/downloadthread.cpp
M  +5    -5    src/net/poll.cpp
M  +1    -1    src/net/poll.h
M  +2    -2    src/net/socket.cpp
M  +8    -8    src/net/tests/polltest.cpp
M  +2    -2    src/net/uploadthread.cpp
M  +3    -3    src/peer/authenticationmonitor.cpp
M  +1    -1    src/utp/tests/transmittest.cpp
M  +9    -9    src/utp/tests/utppolltest.cpp
M  +3    -3    src/utp/utpserver.cpp
M  +2    -2    src/utp/utpsocket.cpp

https://invent.kde.org/network/libktorrent/-/commit/beab56861881aa24904934894ac717298f5c352f

diff --git a/src/net/downloadthread.cpp b/src/net/downloadthread.cpp
index cd40cd4e..605b66ee 100644
--- a/src/net/downloadthread.cpp
+++ b/src/net/downloadthread.cpp
@@ -46,7 +46,7 @@ void DownloadThread::update()
                 continue;
             }
 
-            if (s->socketDevice()->ready(this, Poll::INPUT)) {
+            if (s->socketDevice()->ready(this, Poll::Mode::INPUT)) {
                 // add to the correct group
                 const Uint32 gid = s->downloadGroupID();
                 if (gid > 0) {
@@ -103,7 +103,7 @@ int DownloadThread::waitForSocketReady()
     while (itr != sm->end()) {
         TrafficShapedSocket *s = *itr;
         if (s && s->socketDevice()) {
-            s->socketDevice()->prepare(this, Poll::INPUT);
+            s->socketDevice()->prepare(this, Poll::Mode::INPUT);
         }
         ++itr;
     }
diff --git a/src/net/poll.cpp b/src/net/poll.cpp
index c3a06dd7..4ad7e2e5 100644
--- a/src/net/poll.cpp
+++ b/src/net/poll.cpp
@@ -33,14 +33,14 @@ int Poll::add(int fd, Poll::Mode mode)
         struct pollfd pfd;
         pfd.fd = fd;
         pfd.revents = 0;
-        pfd.events = mode == INPUT ? POLLIN : POLLOUT;
+        pfd.events = mode == Mode::INPUT ? POLLIN : POLLOUT;
         fd_vec.push_back(pfd);
     } else {
         // use existing slot
         struct pollfd &pfd = fd_vec[num_sockets];
         pfd.fd = fd;
         pfd.revents = 0;
-        pfd.events = mode == INPUT ? POLLIN : POLLOUT;
+        pfd.events = mode == Mode::INPUT ? POLLIN : POLLOUT;
     }
 
     const int ret = num_sockets;
@@ -50,7 +50,7 @@ int Poll::add(int fd, Poll::Mode mode)
 
 int Poll::add(PollClient::Ptr pc)
 {
-    const int idx = add(pc->fd(), INPUT);
+    const int idx = add(pc->fd(), Mode::INPUT);
     poll_clients[idx] = pc;
     return idx;
 }
@@ -61,7 +61,7 @@ bool Poll::ready(int index, Poll::Mode mode) const
         return false;
     }
 
-    return fd_vec[index].revents & (mode == INPUT ? POLLIN : POLLOUT);
+    return fd_vec[index].revents & (mode == Mode::INPUT ? POLLIN : POLLOUT);
 }
 
 void Poll::reset()
@@ -84,7 +84,7 @@ int Poll::poll(int timeout)
 
     std::map<int, PollClient::Ptr>::iterator itr = poll_clients.begin();
     while (itr != poll_clients.end()) {
-        if (ret > 0 && ready(itr->first, INPUT)) {
+        if (ret > 0 && ready(itr->first, Mode::INPUT)) {
             itr->second->handleData();
         }
         itr->second->reset();
diff --git a/src/net/poll.h b/src/net/poll.h
index 5c270ec1..f2603179 100644
--- a/src/net/poll.h
+++ b/src/net/poll.h
@@ -68,7 +68,7 @@ public:
      * \var OUTPUT
      * Checks whether the file descriptor can write without blocking.
      */
-    enum Mode {
+    enum class Mode {
         INPUT,
         OUTPUT,
     };
diff --git a/src/net/socket.cpp b/src/net/socket.cpp
index 4f5ac13c..2411e93a 100644
--- a/src/net/socket.cpp
+++ b/src/net/socket.cpp
@@ -468,7 +468,7 @@ int Socket::take()
 void Socket::prepare(Poll *p, Poll::Mode mode)
 {
     if (m_fd >= 0) {
-        if (mode == Poll::OUTPUT) {
+        if (mode == Poll::Mode::OUTPUT) {
             w_poll_index = p->add(m_fd, mode);
         } else {
             r_poll_index = p->add(m_fd, mode);
@@ -478,7 +478,7 @@ void Socket::prepare(Poll *p, Poll::Mode mode)
 
 bool Socket::ready(const Poll *p, Poll::Mode mode) const
 {
-    return p->ready(mode == Poll::OUTPUT ? w_poll_index : r_poll_index, mode);
+    return p->ready(mode == Poll::Mode::OUTPUT ? w_poll_index : r_poll_index, mode);
 }
 
 }
diff --git a/src/net/tests/polltest.cpp b/src/net/tests/polltest.cpp
index 93af984e..fd917939 100644
--- a/src/net/tests/polltest.cpp
+++ b/src/net/tests/polltest.cpp
@@ -43,11 +43,11 @@ private Q_SLOTS:
 
         QCOMPARE_GE(pipe.readerSocket(), 0);
         QCOMPARE_GE(pipe.writerSocket(), 0);
-        QCOMPARE(p.add(pipe.readerSocket(), Poll::INPUT), 0);
+        QCOMPARE(p.add(pipe.readerSocket(), Poll::Mode::INPUT), 0);
         char test[] = "TEST";
         QCOMPARE(pipe.write((const bt::Uint8 *)test, 4), 4);
         QCOMPARE(p.poll(), 1);
-        QVERIFY(p.ready(0, net::Poll::INPUT));
+        QVERIFY(p.ready(0, net::Poll::Mode::INPUT));
 
         bt::Uint8 tmp[20];
         QCOMPARE(pipe.read(tmp, 20), 4);
@@ -61,7 +61,7 @@ private Q_SLOTS:
 
         QCOMPARE_GE(pipe.readerSocket(), 0);
         QCOMPARE_GE(pipe.writerSocket(), 0);
-        QCOMPARE(p.add(pipe.writerSocket(), Poll::OUTPUT), 0);
+        QCOMPARE(p.add(pipe.writerSocket(), Poll::Mode::OUTPUT), 0);
         QCOMPARE(p.poll(), 1);
     }
 
@@ -77,9 +77,9 @@ private Q_SLOTS:
         QCOMPARE(pipe.write((const bt::Uint8 *)test, 4), 4);
 
         for (int i = 0; i < 10; i++) {
-            QCOMPARE(p.add(pipe.readerSocket(), Poll::INPUT), 0);
+            QCOMPARE(p.add(pipe.readerSocket(), Poll::Mode::INPUT), 0);
             QCOMPARE(p.poll(), 1);
-            QVERIFY(p.ready(0, net::Poll::INPUT));
+            QVERIFY(p.ready(0, net::Poll::Mode::INPUT));
             p.reset();
         }
 
@@ -96,7 +96,7 @@ private Q_SLOTS:
 
         QCOMPARE_GE(pipe.readerSocket(), 0);
         QCOMPARE_GE(pipe.writerSocket(), 0);
-        QCOMPARE(p.add(pipe.readerSocket(), Poll::INPUT), 0);
+        QCOMPARE(p.add(pipe.readerSocket(), Poll::Mode::INPUT), 0);
         QCOMPARE(p.poll(100), 0);
     }
 
@@ -125,7 +125,7 @@ private Q_SLOTS:
 
         net::Address dummy;
         net::Poll poll;
-        sock.prepare(&poll, net::Poll::INPUT);
+        sock.prepare(&poll, net::Poll::Mode::INPUT);
 
         QCOMPARE_GT(poll.poll(1000), 0);
         const int fd = sock.accept(dummy);
@@ -138,7 +138,7 @@ private Q_SLOTS:
 
         constexpr std::array<bt::Uint8, 20> data = {0xFF};
         QCOMPARE(writer.send(data), data.size());
-        reader.prepare(&poll, net::Poll::INPUT);
+        reader.prepare(&poll, net::Poll::Mode::INPUT);
 
         QCOMPARE_GT(poll.poll(1000), 0);
 
diff --git a/src/net/uploadthread.cpp b/src/net/uploadthread.cpp
index 6d2757a5..4dd38b80 100644
--- a/src/net/uploadthread.cpp
+++ b/src/net/uploadthread.cpp
@@ -46,7 +46,7 @@ void UploadThread::update()
             continue;
         }
 
-        if (s->socketDevice()->ready(this, Poll::OUTPUT)) {
+        if (s->socketDevice()->ready(this, Poll::Mode::OUTPUT)) {
             // add to the correct group
             const Uint32 gid = s->uploadGroupID();
             if (gid > 0) {
@@ -106,7 +106,7 @@ int UploadThread::waitForSocketsReady()
     while (itr != sm->end()) {
         TrafficShapedSocket *s = *itr;
         if (s && s->socketDevice()->ok() && s->bytesReadyToWrite()) {
-            s->socketDevice()->prepare(this, Poll::OUTPUT);
+            s->socketDevice()->prepare(this, Poll::Mode::OUTPUT);
         }
         ++itr;
     }
diff --git a/src/peer/authenticationmonitor.cpp b/src/peer/authenticationmonitor.cpp
index 3d941d25..d26986dd 100644
--- a/src/peer/authenticationmonitor.cpp
+++ b/src/peer/authenticationmonitor.cpp
@@ -74,7 +74,7 @@ void AuthenticationMonitor::update()
             if (socket) {
                 net::SocketDevice *dev = socket->socketDevice();
                 if (dev) {
-                    const net::Poll::Mode m = socket->connecting() ? Poll::OUTPUT : Poll::INPUT;
+                    const net::Poll::Mode m = socket->connecting() ? Poll::Mode::OUTPUT : Poll::Mode::INPUT;
                     dev->prepare(this, m);
                 }
             }
@@ -99,8 +99,8 @@ void AuthenticationMonitor::handleData()
             mse::EncryptedPacketSocket *socket = ab->getSocket();
             if (socket) {
                 const net::SocketDevice *dev = socket->socketDevice();
-                const bool r = dev && dev->ready(this, Poll::INPUT);
-                const bool w = dev && dev->ready(this, Poll::OUTPUT);
+                const bool r = dev && dev->ready(this, Poll::Mode::INPUT);
+                const bool w = dev && dev->ready(this, Poll::Mode::OUTPUT);
                 if (r) {
                     ab->onReadyRead();
                 }
diff --git a/src/utp/tests/transmittest.cpp b/src/utp/tests/transmittest.cpp
index 096daebb..759dc0f1 100644
--- a/src/utp/tests/transmittest.cpp
+++ b/src/utp/tests/transmittest.cpp
@@ -97,7 +97,7 @@ public:
                 off = off % step;
                 // Out(SYS_UTP|LOG_DEBUG) << "Transmitted " << sent << endl;
             } else if (ret == 0) {
-                srv.preparePolling(&poller, net::Poll::OUTPUT, outgoing);
+                srv.preparePolling(&poller, net::Poll::Mode::OUTPUT, outgoing);
                 poller.poll(1000);
             } else {
                 break;
diff --git a/src/utp/tests/utppolltest.cpp b/src/utp/tests/utppolltest.cpp
index 521bdbb8..ee497f5a 100644
--- a/src/utp/tests/utppolltest.cpp
+++ b/src/utp/tests/utppolltest.cpp
@@ -86,9 +86,9 @@ private:
         utp::UTPSocket s;
         s.setBlocking(false);
         s.connectTo(net::Address(u"127.0.0.1"_s, port));
-        s.prepare(&poller, Poll::OUTPUT);
+        s.prepare(&poller, Poll::Mode::OUTPUT);
         QCOMPARE_GT(poller.poll(), 0);
-        QVERIFY(s.ready(&poller, Poll::OUTPUT));
+        QVERIFY(s.ready(&poller, Poll::Mode::OUTPUT));
         QVERIFY(s.connectSuccessful());
         poller.reset();
 
@@ -123,13 +123,13 @@ private:
         while (!bs.allOn()) {
             for (int i = 0; i < NUM_SOCKETS; i++) {
                 if (!bs.get(i)) {
-                    outgoing[i]->prepare(&poller, net::Poll::OUTPUT);
+                    outgoing[i]->prepare(&poller, net::Poll::Mode::OUTPUT);
                 }
             }
 
             QCOMPARE_GT(poller.poll(1000), 0);
             for (int i = 0; i < NUM_SOCKETS; i++) {
-                if (bs.get(i) || !outgoing[i]->ready(&poller, net::Poll::OUTPUT)) {
+                if (bs.get(i) || !outgoing[i]->ready(&poller, net::Poll::Mode::OUTPUT)) {
                     continue;
                 }
 
@@ -145,14 +145,14 @@ private:
             poller.reset();
             for (int i = 0; i < NUM_SOCKETS; i++) {
                 if (!bs.get(i)) {
-                    incoming[i]->prepare(&poller, Poll::INPUT);
+                    incoming[i]->prepare(&poller, Poll::Mode::INPUT);
                 }
             }
 
             Out(SYS_GEN | LOG_DEBUG) << "Entering poll" << endl;
             QCOMPARE_GT(poller.poll(1000), 0);
             for (int i = 0; i < NUM_SOCKETS; i++) {
-                if (!bs.get(i) && incoming[i]->ready(&poller, net::Poll::INPUT)) {
+                if (!bs.get(i) && incoming[i]->ready(&poller, net::Poll::Mode::INPUT)) {
                     bt::Uint8 tmp[20];
                     QCOMPARE(incoming[i]->recv(tmp, 20), (int)strlen(test));
                     QCOMPARE(memcmp(tmp, test, strlen(test)), 0);
@@ -170,12 +170,12 @@ private:
         poller.reset();
         Out(SYS_UTP | LOG_DEBUG) << "testPollOutput " << endl;
         for (int i = 0; i < NUM_SOCKETS; i++) {
-            incoming[i]->prepare(&poller, Poll::OUTPUT);
+            incoming[i]->prepare(&poller, Poll::Mode::OUTPUT);
         }
 
         QCOMPARE_GT(poller.poll(10000), 0);
         for (int i = 0; i < NUM_SOCKETS; i++) {
-            QVERIFY(incoming[i]->ready(&poller, Poll::OUTPUT));
+            QVERIFY(incoming[i]->ready(&poller, Poll::Mode::OUTPUT));
         }
 
         poller.reset();
@@ -186,7 +186,7 @@ private:
         Out(SYS_UTP | LOG_DEBUG) << "testPollClose " << endl;
         for (int i = 0; i < NUM_SOCKETS; i++) {
             incoming[i]->close();
-            outgoing[i]->prepare(&poller, net::Poll::INPUT);
+            outgoing[i]->prepare(&poller, net::Poll::Mode::INPUT);
         }
 
         QCOMPARE_GT(poller.poll(), 0);
diff --git a/src/utp/utpserver.cpp b/src/utp/utpserver.cpp
index 2e52d7f7..1fb91a53 100644
--- a/src/utp/utpserver.cpp
+++ b/src/utp/utpserver.cpp
@@ -418,7 +418,7 @@ void UTPServer::preparePolling(net::Poll *p, net::Poll::Mode mode, utp::Connecti
         d->poll_pipes.insert(p, pair);
     }
 
-    if (mode == net::Poll::INPUT) {
+    if (mode == net::Poll::Mode::INPUT) {
         if (pair->read_pipe->wokenUp()) {
             return;
         }
@@ -492,8 +492,8 @@ void UTPServer::checkTimeouts()
 ///////////////////////////////////////////////////////
 
 PollPipePair::PollPipePair()
-    : read_pipe(new PollPipe(net::Poll::INPUT))
-    , write_pipe(new PollPipe(net::Poll::OUTPUT))
+    : read_pipe(new PollPipe(net::Poll::Mode::INPUT))
+    , write_pipe(new PollPipe(net::Poll::Mode::OUTPUT))
 {
 }
 }
diff --git a/src/utp/utpsocket.cpp b/src/utp/utpsocket.cpp
index a8980270..caece8b9 100644
--- a/src/utp/utpsocket.cpp
+++ b/src/utp/utpsocket.cpp
@@ -200,7 +200,7 @@ void UTPSocket::prepare(net::Poll *p, net::Poll::Mode mode)
     if (ptr && ptr->connectionState() != ConnectionState::CLOSED) {
         UTPServer &srv = bt::Globals::instance().getUTPServer();
         srv.preparePolling(p, mode, ptr);
-        if (mode == net::Poll::OUTPUT) {
+        if (mode == net::Poll::Mode::OUTPUT) {
             polled_for_writing = true;
         } else {
             polled_for_reading = true;
@@ -216,7 +216,7 @@ bool UTPSocket::ready(const net::Poll *p, net::Poll::Mode mode) const
         return false;
     }
 
-    if (mode == net::Poll::OUTPUT) {
+    if (mode == net::Poll::Mode::OUTPUT) {
         if (polled_for_writing) {
             polled_for_writing = false;
             return ptr->isWriteable();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.