This is the README for runner.1.1.s.tar.gz [Download] [Browse] [Up]
This is the README for RUNNER 1.1. $Id: README,v 1.2 1995/11/29 17:40:51 tiggr Exp $ The latest version of RUNNER can be obtained at the URL `ftp://ftp.es.ele.tue.nl/pub/tiggr/runner.tar.gz'. RUNNER is a (small) NeXTSTEP library, enabling you to tell NXConnection to `runFromAppkit' without actually needing to link with the Application Kit, i.e. with libNeXT. This implies you can write sensible daemons employing Distributed Objects, with the following advantages: FEATURES - You can run multiple connections in a single thread. - There is a top-level autorelease pool, maintained free of charge. - Proper handling of port invalidation, without needing to revert to the horrible `+[NXPort worryAboutPortInvalidation]'. - TMProxyDeath protocol, where local objects can register themselves for the death of remote proxies they care about. Upon such an occasion, the local objects receives a `-proxyDied: the_proxy'. This is a rather more simple and elegant than the bare bones invalidation notification as provided by NXConnection. - possibility of one-shot per-port message receive timeouts, which fire if a message is not received within the indicated number of milliseconds. - Provide DPSAddPort, DPSRemovePort, DPSAddTimedEntry and DPSRemoveTimedEntry. - your programs can employ asynchronous peer-to-peer communication instead of being restricted to strictly synchronous communication in a strict client-server setup. The programming style enabled by RUNNER implies a huge latency decrease for server daemons with multiple clients or who themselves can be the client of other programs, without needing to revert to multiple threads. - RUNNER comes with a complete example showing off most of the features and how to use them. CAVEATS - Does not work when linking with libNeXT_s (i.e. AppKit). Obviously. - You still need to allocate an autorelease pool as the first statement in main() and release it before you tell the `+[TMConnectionRunner sharedRunner]' to `-run', unless you don't care about cleaning up the garbage created during your daemon's initialization. - NOT provided is the availability of a non-blocking deadlock avoiding Distributed Object message send and port lookup. - RUNNER has been tested on black NS 3.0, 3.2 and 3.3. It is expected to work on other architectures too. CONTACT For information, bug reports, suggestions, questions, or whatever else you'd like to share with us, mail <runner@es.ele.tue.nl>. RUNNER is Copyright (C) 1994, 1995 Pieter J. Schoenmakers <tiggr@es.ele.tue.nl> and Michael L.H. Brouwer <michael@thi.nl>. RUNNER is distributed under the terms and conditions of the GNU Library General Public License (LGPL). See the file COPYING.LIB in the RUNNER distribution for details. <runner@es.ele.tue.nl>
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.