# $Id: README,v 1.11 1999/01/13 19:35:36 helge Exp $ MOF2 Foundation Libraries ========================= Copyright (C) 1998 MDlink online service center GmbH, Helge Hess All libraries support garbage collection with libFoundation. They partly require the advanced exception handling available in libFoundation (also available as the FoundationExtensions library). An automatically generated reference documentation is available in the reference directory. NGExtensions General extensions of the Foundation library. Additional containers and performance improved parsing functions. Contains MD5 and Base64 encoders/decoders, regular expression support. Requires libFoundation (or any other appropriate foundation library) NGReflection Object oriented wrapper around the Objective-C runtime. Provides reflective information about classes, categories, methods and so on. Currently requires GNU Objective-C runtime and a Foundation library. NGStreams A stream package based on the design of the java.io stream package, so it supports so called pull streams. Also contained is basic URL support. Requires NGExtensions and an appropriate Foundation library. NGNet Networking package on top of NGStreams. It supports the stream interface for TCP stream sockets and it supports datagram sockets (UDP sockets). DO Simple distributed objects system on top of NGNet. NGZlib Zlib compression libary based on zlib 1.0.4 written by Jean-loup Gailly and Mark Adler. Kit Dependency Hierachy libFoundation NGExtensions NGStreams NGNet DO NGZlib NGReflection MOF2 Foundation Extension Library ================================= part of MDlink Object Framework 2 Copyright (C) 1998 Helge Hess, MDlink online service center GmbH contains MD5 functions: "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" contains code based on classes contained in the libFoundation library libFoundation derived have a original permission/Copyright like this: ---snip--- Copyright (C) 1995, 1996 Ovidiu Predescu and Mircea Oancea. All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. We disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness, in no event shall we be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. ---snap--- See the derived files for complete information. MOF2 NGStreams Library ====================== part of MDlink Object Framework 2 Copyright (C) 1998 Helge Hess, MDlink online service center GmbH This kit implements a class library to support so called pull-streams. This library's design is influenced by the Java java.io package. Note that there is another stream concept called push-streams. The difference between pull- and push-streams is the flow of data. With pull-streams you are reading data from some source and the stream blocks when no data is available. With push-streams a stream is forwarding data to it's next stream when data is available. This is more like an event-system, eg if data becomes available on a socket a push streams makes a packet out of it and forwards the packet to it's next stream. Both concepts have their pros and cons, but the pull-streams are easier to understand and to implement. A library featuring push-streams is the W3C www library. The library should be compiled with the -Wno-protocol switch to avoid warnings if a method was implemented in a superclass. -Wno-protocol ensures Java like protocol(interface) semantics. TODO fix serialization methods for 'long long' and 'double' types. MOF2 NGNet Library ====================== part of MDlink Object Framework 2 Copyright (C) 1998 Helge Hess, MDlink online service center GmbH Non-Blocking IO NGActiveSocket and NGDatagramSocket support non-blocking IO by providing a method called -wouldBlockInMode:. Using this method you can check whether the socket could read or write data. The datagram socket provides timeout parameters for receiving packets. It's quite important to set _some_ timeout when you are receiving packet replies from an UDP server since UDP packets may be lost. The receive methods return nil on timeout. -- Helge Hess (helge@mdlink.de) MDlink online service center, 1999-01-10 -------------------------------------------------------------------------------- Copyright Notice Copyright (C) 1998 MDlink online service center, Helge Hess All rights reserved. Author: Helge Hess (helge@mdlink.de) This file is part of the MDlink Object Framework 2 (MOF2) Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. We disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness, in no event shall we be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.