home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / duucp-1.17 / AU-117b4-src.lha / src / uucico / gio.notes < prev    next >
Encoding:
Text File  |  1994-06-02  |  2.2 KB  |  55 lines

  1.     This document is obsolete, and included only for historical
  2.     purposes.
  3.  
  4.         Michael B. Smith, June, 1994
  5.  
  6.     PS: The presumed author is Matt Dillon.
  7.  
  8. ==============================================================================
  9.  
  10. This documents describes changes I made to gio.c to support a larger
  11. window size.
  12.  
  13. Documentation of the "g" protocol is sparse.  The information I have
  14. comes from various "public" implementations of UUCICO.  AmigaUUCP is
  15. the only one which supports a window greater than one. The PCMAIL2
  16. system, distributed recently in comp.sources.misc, has fairly good
  17. documentation of "g" included in its source, but it only supports a
  18. window size of 1.
  19.  
  20. WINDOWSIZE:
  21.     This was changed to 7.    Unix systems are shipped with a maximum
  22. window size of 3, although there are patches for various systems to
  23. increase it to 7.
  24.  
  25. RxSeq:
  26.     RxSeq was changed to reflect the last valid packet received.
  27. This simplified the code in several places.
  28.  
  29. GetTxBuf():
  30.     This function was changed to dynamically allocate up to 8
  31. buffers, allowing window sizes up to 7.  The old code should work with
  32. window sizes up to 3.
  33.  
  34. GetData():
  35.     The acknowledged sequence numbers from the receiver during
  36. transmits are expected to be in the range ((TxSeq - TxPend) & 7) to
  37. TxSeq.    Acknowledging ((TxSeq - TxPend) & 7), the packet immediately
  38. preceding the first packet in the current window, implies that none of
  39. the packets in the current window have been received.  My mail
  40. connection, a 286 based Unix-PC, handles this circumstance by sending
  41. RR packet after each timeout.  Previously, the protocol would loop
  42. indefinitely in this case.  I fixed the code to treat a repeated RR
  43. acknowledgement as a rejection.
  44.     When a packet gets rejected, the entire window following the
  45. packet must be retransmitted as well, since the receiver does not
  46. handle packets out of sequence.  In the rejection code, the entire
  47. window is resent without checking for acknowledgements.
  48.     I eliminated a window size dependent test in the code for
  49. handling data packet reception.  I have never seen the code exercised,
  50. but the change only allows extra RJ packets to be sent.
  51.  
  52. RecvdAck():
  53.     Some simplification of the code.  Also, I eliminated the message
  54. which occured when a packet was re-acknowledged.
  55.