home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / vmsnet / networks / desktop / pathwork / 3854 < prev    next >
Encoding:
Text File  |  1992-12-23  |  3.7 KB  |  81 lines

  1. Newsgroups: vmsnet.networks.desktop.pathworks
  2. Path: sparky!uunet!wupost!howland.reston.ans.net!zaphod.mps.ohio-state.edu!swrinde!sdd.hp.com!elroy.jpl.nasa.gov!decwrl!pa.dec.com!nntpd2.cxo.dec.com!nntpd.lkg.dec.com!usenet
  3. From: mitton@dave.lkg.dec.com (Dave Mitton)
  4. Subject: Re: Programming under Pathworks for DOS
  5. Message-ID: <1992Dec23.182936.5295@nntpd.lkg.dec.com>
  6. Lines: 68
  7. Sender: usenet@nntpd.lkg.dec.com (USENET News System)
  8. Reply-To: mitton@dave.lkg.dec.com (Dave Mitton)
  9. Organization: Digital Equipment Corporation, Littleton MA
  10. References:  <1992Dec22.215942.1@kosmos.wcc.govt.nz>
  11. Date: Wed, 23 Dec 1992 18:29:36 GMT
  12.  
  13.  
  14. In article <1992Dec22.215942.1@kosmos.wcc.govt.nz>, gaspard_r@kosmos.wcc.govt.nz writes:
  15. From: gaspard_r@kosmos.wcc.govt.nz
  16. Newsgroups: vmsnet.networks.desktop.pathworks
  17. Subject: Programming under Pathworks for DOS
  18. Date: 22 Dec 92 21:59:42 NZST
  19.  
  20. >Programming under Pathworks for DOS ...
  21. >
  22. >   1.    Is it possible to perform asynchronous network receives and transmits
  23. >    under Pathworks for DOS, over a task-to-task logical link?  
  24. >    In other words, can a program initiate a network receive or transmit
  25. >    operation, and continue processing before the operation has completed
  26. >    and the data received by this end or the other end of the logical link?
  27. >
  28. >   2.    Is it possible to have concurrent receive and transmit operations in
  29. >    progress at the same time, over the one task-to-task logical link?
  30. >
  31. >    For standard DOS I/O operations like disk file I/O, it is not possible
  32. >    to have two concurrent I/O operations because DOS itself is not
  33. >    reentrant.  But does this restriction apply to Pathworks?
  34. >
  35. >The answer to both the above questions under VMS is "YES" -- but what about
  36. >under Pathworks for DOS?
  37. >
  38. >We want to implement a full-duplex task-to-task logical link between a 
  39. >program running under Pathworks for DOS and a program running under VMS.
  40. >Each program effectively has three threads of execution: (a) a network
  41. >transmitting thread, (b) a network receiving thread, and (c) an internal
  42. >data processing thread.  Under VMS alone we can use the asynchronous $QIO 
  43. >system service (rather than the synchronous $QIOW) to perform the network
  44. >receives and transmits, and event flags to indicate completion.  If we used 
  45. >synchronous receive and transmit operations then the two programs could 
  46. >deadlock if (for example) both chose to transmit at the same time.
  47. >                                   
  48. >What features does Pathworks for DOS provide to implement the same
  49. >functionality?
  50.  
  51.     All of this is possible and is done in several PATHWORKs applications
  52. (eg: FAL, DTR & DTR)
  53.  
  54.     I suggest that you obtain a copy of the DECnet-DOS Progammer's
  55. Reference Manual (PRM).  Under PW V4.0 it is now a seperate orderable
  56. item, as most PATHWORKs owners don't do programming.
  57.  
  58.     Two levels of interfacing are documented.
  59. 1) C sockets: this is a BSD 4.2 style interface for doing DECnet task-to-task.
  60. Like sockets it's not fully asynchronous nor supports multiple threads, 
  61. but you can do Non-Blocking.
  62.  
  63. 2) Assembly control blocks (NIOCB): this is everything that DNP supports.
  64. If you wish to stay in C, you could hack on the socket library code to
  65. make it multithreaded.
  66.     
  67.     NIOCB's support "Asychronous" calls that are internally queued
  68. and processed when possible.   You can poll your command block for completion
  69. or specify a completion callback (just like NETBIOS).  Your callback
  70. can set event flags to coordinate your threads.  It just better be quick
  71. about it, as it is running as a subroutine of DECnet at the time.
  72.  
  73.     I used to teach a DECUS Seminar on DECnet-DOS programming
  74. but it lost attendence over time and I don't do that anymore.
  75.  
  76.     Dave Mitton
  77.     Mr. DECnet-DOS V1-V3
  78.     Networks and Communications
  79. (included) to make something easier to 
  80.  
  81.