home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Think Class Libraries / MacTCP class library / readme.c < prev    next >
Encoding:
Text File  |  1994-11-30  |  3.9 KB  |  128 lines  |  [TEXT/KAHL]

  1. /*
  2.  
  3.   Release of MacTCP classes  10/6/92
  4.         
  5.         These classes are based on the MacTCP Documentation Kit 1.0, APDA# M0217ll/A
  6.         
  7.         Copyright © NCSA, University of Illinois;    June 18, 1992
  8.         Eric Johnson, John Newlin and Igor Livshits
  9.           
  10.         This code may be used, modified, and distributed free of charge and obligation.
  11.   
  12. */
  13.  
  14. /* =====================* /
  15. / *===---------------===* /
  16.  
  17. Notes:
  18.  
  19. Ideally, everything should be routed through the Client classes (CTCPClient).  Igor is
  20. working on a rudimentary text-only ftp client class and a rexec client class.
  21.  
  22. I think we found and cleaned up all gross bugs.  There may be a bunch of subtler ones
  23. lurking about.  Please let us know of any more such beasts.
  24.     
  25.     This code is slow.  This code is inefficient.  The client does not support the faster
  26.     no copy receive functionality of MacTCP.
  27.     
  28.     Our actions on timeout errors are basic, and inadequate for most cases.  You might include
  29.     more robust support in your client.
  30.     
  31.     Many thanks to Andrew Gilmartin, Steven Falkenburg, and members of tcl-talk@brown.edu
  32.     for numerous ideas and hints.
  33.  
  34.  
  35. / *===---------------===* /
  36.  
  37.  
  38. Known bugs:
  39.  
  40. 1. There is a bug in the receive data routines.  Only dynamic data buffers may be used.
  41.     If an address of an array is passed to the routines (and MacTCP), you guessed it --
  42.     kablooey.  I am not sure whether it is our code or MacTCP.  Just to be safe,
  43.     use CTCP::CreateInputBuffer() and CTCP will allocate the memory for you.
  44.                 
  45. / *===---------------===* /
  46.  
  47. Class list:
  48.  
  49. 1. CMacTCPDriver (subclass of CObject)
  50.     Implements the driver level general routines
  51.     
  52. 2. CTCP (subclass of CMacTCPDriver)
  53.     Implements Transfer Control Protocol
  54.     
  55. 3. CDNR (subclass of CMacTCPDriver)
  56.     Implements the Dynamic Name Resolver
  57.     
  58. 4. CTCPCLient (subclass of CCollaborator)
  59.     A client class that acts as an interfaces between TCL
  60.     and the driver level classes.
  61.  
  62.  
  63. / *===---------------===* /
  64.  
  65. Build instructions:
  66.  
  67. These classes were designed to run under full TCL 1.1.  For testing purposes, we stripped
  68. the TCL down to essential classes and everything still worked, but was rather ugly.
  69. We included a file DemoCode.c that shows a rudimentary implementation of the classes
  70. on top of this stripped TCL.
  71.  
  72. To build a project with MacTCP classes you will need:
  73.  
  74. 1. A standard TCL application framework.
  75.     Starter.π should be adequate.  Igor will post an example of an application
  76.     to TCL-Talk by in the first half of October, 1992.
  77.     
  78. 2. File classes.
  79.     These file classes are available at TCL-Talk.  The MacTCP classes may be easily adapted
  80.     to work without these cutom file classes by replacing instances of Isle classes with
  81.     standard TCL classes.  The CDNR relies on a custom search routine in these classes --
  82.     you may need to rewrite it if you chose to go standard.
  83.     
  84. 3. Custom headers.
  85.     This distribution should contain a file called IsleHeaders.h.  This file may be
  86.     precompiled for faster builds.  MacTCP make no direct reference to this file as it is 
  87.     included automatically (Options:Prefix).  Cosmetics.h is referenced by this file and is 
  88.     also included with this distribution.
  89.     
  90. 4. Resources.
  91.     Make sure to include the 'STR#' resources from this distribution in your
  92.     project resource file.  This is an error string.
  93.  
  94.  
  95. / *===---------------===* /
  96.  
  97. Authors:
  98.  
  99.     Eric E. Johnson
  100.     NCSA - Oil Chemistry Building
  101.     508 Sixth Street, Champaign, Illinois 61820
  102.     University of Illinois
  103.  
  104.     Igor Livshits                        e: igorl@ncsa.uiuc.edu
  105.     NCSA - 240 Computer Applications Building
  106.     University of Illinois
  107.     605 East Springfield Avenue, Champaign, Illinois 61820 
  108.     (217) 244-5606
  109.     Champaign-Urbana campus
  110.     
  111.     John Newlin
  112.   newlin@ecn.purdue.edu 
  113.  
  114.  
  115.  
  116. If you change any of these classes or create subclasses, we would love to see your code.
  117.  
  118.  
  119. / *===---------------===* /
  120.  
  121. TCL-Talk:
  122.  
  123. List-                                         TCL-TALK@BROWNVM.brown.edu
  124. Requests/Administration-    LISTSERV@BROWNVM.brown.edu
  125. Anonymous FTP-                        ftp.brown.edu (/pub/tcl)
  126.  
  127. / *===---------------===* /
  128. / *=====================*/