From kde-core-devel Mon Dec 18 21:28:04 2000 From: Thiago Macieira Date: Mon, 18 Dec 2000 21:28:04 +0000 To: kde-core-devel Subject: IPv6 classes & API X-MARC-Message: https://marc.info/?l=kde-core-devel&m=97717526103926 To make kdelibs IPv6-ready, my first idea was to rewrite KSocket. But that proved to be harder than expected to maintain binary compatibility and still provide the necessary functionality for all uses. So I decided to do almost all the work inside one big class, called KExtendedSocket. This class should allow the caller to control any aspect of the connection, from the lookup, to socket binding and connecting, including listening and accepting, as transparently as possible. So, we would have, in KExtendedSocket: - a default contructor, no parameters - a constructor with hostname and port/service parameters, maybe address family too - a member function for: lookup, bind, listen, accept, connect - read, write and accept events and signals - connection time out control - pretty-printing of the address/port/service that's just a general draft, from the needs of KSocket, which will be modified to use KExtendedSocket, and the general needs of kio_http and kio_ftp. Aside from that, I've written already a class called KSocketAddress, which is intended as a wrapper around any struct sockaddr*. There are also there KInetSocketAddress, for Internet sockets (IPv4 and v6), and KUnixSocketAddress. These classes are in http://loki.nw.com.br/development/ksockaddr.cpp and .h -- Thiago Macieira - UFOT Registry number: 1001 thiagom@mail.com talha@geocities.com ICQ UIN: 1967141 PGP: 0x8F2978D5 and 0xEA9037A5 Registered Linux user #65028 209/375. Could a lack of dimension be another dimension in itself? -- Lt. Cmdr. Data, "Where Silence Has Lease"