[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    New KNetwork update
From:       Thiago Macieira <thiago () kde ! org>
Date:       2007-04-01 21:39:38
Message-ID: 200704012339.49593.thiago () kde ! org
[Download RAW message or body]


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

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic