ftp.nice.ch/pub/next/developer/resources/libraries/runner.1.1.README

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.