New KNetwork update

Thiago Macieira thiago at kde.org
Sun Apr 1 22:39:38 BST 2007


I have finished adding the new "module" into kdecore.

The new "module" consists of three classes:
1) KLocalSocket
2) KLocalSocketServer
3) KSocketFactory

The first is used to open Unix socket connections; the second is the 
server and the third contains only static methods that return sockets 
opened to remote servers (non-local).

The KLocalSocket class needs its front-end rewritten so that it no longer 
derives from QAbstractSocket. The rest seems to be rather complete.

With that, the following concepts completely disappear from KDE:
a) a unified socket class that does Unix sockets and TCP/IP
   you now need to use two different classes if your application can use 
both concepts

b) port numbers (services) as strings
   I have tried for six years to introduce this concept. I gave up.

c) blocking sockets
   following the Qt lead, all sockets are now asynchronous. This has a 
great impact on ioslaves. You have to add the necessary waitFor*() calls.

d) KIDNA and KSocks
   just stop using them. KIDNA is replaced by QUrl. As for KSocks, you 
should not be using file descriptors, period.

The old code is still there, for the moment. I can't remove it because the 
low-level KIO protocol (KIO::SlaveInterface, KIO::Slave, KIO::Connection) 
is a big mess and depends on some of the concepts there. Until such time 
as I rewrite the wire protocol and KIO::Connection, it'll have to stay.

The old headers are renamed k3*.h. To port, just change your #includes 
(until someone renames the namespace).

I have finished porting kdelibs. That's all. I have not had time to work 
on kdebase and will not have until next weekend. I am sorry.

One other thing: QSslSocket is now mandatory. Qt 4.2 no longer builds 
kdelibs.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070401/d3b4d1d3/attachment.sig>


More information about the kde-core-devel mailing list