home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 142.lha / DNet / doc / source.doc < prev    next >
Text File  |  1986-11-21  |  3KB  |  86 lines

  1.  
  2.                SOURCE ORGANIZATION
  3.  
  4. UNIX/AMIGA DIFFERENCES:
  5.     Essentially rewritten between the two, but major modules still do
  6.     the same thing.  The only major difference in the protocol is that
  7.     the intermediate level SCMD_EOF is not implemented on the UNIX side.
  8.  
  9.  
  10.     CONTROL    RECEIVE STAGE DECODE:    Decode incomming packets providing
  11.         packet level commands (PKCMD), then demux PKCMD_WRITE
  12.         packets that are ready in order and execute corresponding
  13.         SCMD_???? commands
  14.  
  15.         TRANSMIT STAGE ENCODE:    Encode data queued by various
  16.         channels into packets, First by multiplexing SCMD_????
  17.         commands queued on TxList, then by generating PKCMD_???
  18.         packets.
  19.  
  20.         PKCMD packets:    WRITE        windowed DATA packet
  21.                 CHECK        Did window X make it over there?
  22.                         (get ACK or NAK response)
  23.                 ACK        ACK a window
  24.                 NAK        NAK a window
  25.                 RESTART     RESTART DNET
  26.                 ACKRSTART   Acknowledge a restart
  27.  
  28.         SCMD packets:    SWITCH        switch channel # (multiplexer)
  29.                         for DATA packets
  30.                 OPEN        open a new connection (contains
  31.                         the channel to use)
  32.                 CLOSE        close a connection (channel)
  33.                 ACKCMD        acknowledge an OPEN.  Responses
  34.                         are (a) channel in use, try a
  35.                             different channel
  36.                         (b) channel now open
  37.                         (c) port does not exist
  38.                 EOFCMD        EOF on channel without closing
  39.                         it (not supported by UNIX end)
  40.                 QUIT        Cause DNET server to exit when
  41.                         received
  42.                 DATA        DATA destined for some channel.
  43.                         for efficiency, this type of
  44.                         packet can be one of several
  45.                         formats.  The simplest format
  46.                         is a one byte length and N bytes
  47.                         of data.
  48.  
  49.  
  50. MULTIPLEXED PROTOCOL BASIS:
  51.  
  52.     All SCMD_???? commands are based on a CHANNEL #, which is separate
  53.     from the PORT # (used only when openning a new connection).  The
  54.     channel number is the multiplexer channel for a connection, and
  55.     allocated internally by the protocol.  A PORT # is a virtual rendezvous
  56.     place for new connections.    Most SCMD commands except SCMD_DATA have
  57.     some sort of channel id. The only possibility of channel allocation
  58.     collision occurs in SCMD_OPEN (if both ends allocate the same channel
  59.     at the same time), in which case the receiver can send a SCMD_ACKCMD
  60.     with a 'retry' error code. Channel allocation is based on a random
  61.     number generator.
  62.  
  63.  
  64. PRIORITY:
  65.     Each channel has an associated priority.  The priority determines
  66.     the packet size in a relative manner (that is, a channel with
  67.     priority -127 is no faster than a channel with +126 when it is the only
  68.     thing running).  (Note: -128 and 127 cannot be used due to an
  69.     optimization I made on the UNIX end).
  70.  
  71.     Please use priorities near to 0 whenever possible.
  72.  
  73.     The physical packet size is reduced when both a high priority and
  74.     a low priority channel is active at the same time.    Otherwise, there
  75.     would be a 30 second delay typing characters from a FTERM when a file
  76.     transfer is going on in the background.  If you stop typing in the
  77.     FTERM you will notice the packet size (as per Rx and Tx l.e.d's on your
  78.     modem) slowly increases for the file transfer.
  79.  
  80. RESTART:
  81.     A restart sequence is begun whenever a DNET is started up.    This
  82.     causes any current connections to be closed.  This allows one to
  83.     restart a DNET (when the other end is left hanging).
  84.  
  85.  
  86.