From kde-core-devel Thu Nov 25 11:11:59 2004 From: Waldo Bastian Date: Thu, 25 Nov 2004 11:11:59 +0000 To: kde-core-devel Subject: RFC: Keeping track of online/offline status & central DNS service Message-Id: <200411251212.03863.bastian () kde ! org> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=110138106211623 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--nextPart2068047.OaI85q0INi" --nextPart2068047.OaI85q0INi Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I have prepared some ideas for improving the general network experience, in= =20 particular for those use-cases where the internet connection is subject to= =20 availability (e.g. wireless or dial-up access) This is just a first rough draft, your feedback is appreciated on all aspec= ts=20 of this. Cheers, Waldo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D A KDED Module that keeps track of the internet connection status and that provides DNS lookup service with intelligent support for round-robin DNS. Design goals =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Keeping track of online/offline status * Prevent unneeded connection errors when the user is offline * Make applications aware of online/offline status * Improve dial-on-demand functionality to kick in only with user-initiated actions. * Improve dial-on-demand functionality by [optionally] being aware of the local net topology and differentating between local addresses (always=20 available) and internet addresses (availability subject to online/offline status) * Improve handling of round-robin DNS by making sure that multiple requests are all send to the same IP. (KDE BR63088) * Improve handling of multiple DNS records by being aware of connection failures to the primary IP and redirecting subsequent requests to a secondary IP. Proposed DCOP interface =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D enumOnlineStatus { Unknown =3D 0, OffLine =3D 1, Online =3D 2 } enumOnlineStatus (int?) onlineStatus() // Returns internet status, can be used by applications such as KMail / // KWeather in deciding whether to do certain background activities void setOnlineStatus(enumOnlineStatus (int?) ) // Sets internet status, to be used by kppp / kisdn or distribution specific // tools signal onlineStatusChanged(enumOnlineStatus (int?) ) // DCOP signal that gets emited whenever the onlineStatus changes "list of resolved addresses" lookup("hostname", port, bool activateNetwork ) // resolve hostname, returns list of IP addresses // alternative: returns only one IP address, if DNS returns multiple // IP addresses it returns the most appropriate one // activateNetwork: If true and hostname is not on local network and status= is // OffLine, request activation of network if possible or fail if no activat= ion // is possible // activateNetwork: If false and hostname is not on local network and status // is Offline, fail. "try again" reportConnectionResult("hostname", port, "resolved address",=20 result) // Function for application to report back whether connection was successfu= ll // Returns whether the application should try again (e.g. because // online/offline status changed since the last lookup, or because another = IP // is available for this hostname) // alternative: Instead of passing "hostname" and port, "resolved address" // could contain a handle that identifies the lookup call responsible for t= his // resolved address. setNetworkActivationCallback(DCOPRef, function) // Specify DCOP function that should be called in order to request activati= on // of network // To be used by kppp / kisdn or distribution specific tools =2D-=20 bastian@kde.org | Free Novell Linux Desktop 9 Evaluation Download bastian@suse.com | http://www.novell.com/products/desktop/eval.html --nextPart2068047.OaI85q0INi Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQBBpb4DN4pvrENfboIRAg7LAJ9GECQGgXn1EomI7158zb2zosKRAwCgkzBX VOxo1iJr0rwbCyj+l3z78Kw= =s5Pw -----END PGP SIGNATURE----- --nextPart2068047.OaI85q0INi--