[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

298.0. "Socket Communications on VMS/DECwindows" by FUNBOX::RESKER () Fri Feb 24 1989 11:18

    The XT$ADD_INPUT routine is used to register a new input source.
    One of the arguments for this routine is an address of the new 
    input source (longword/reference).  I'm programming on VMS but I'm
    also using a TCP/IP product (from a third party) to do network things.  
    
    Question:  Can I use a socket channel number (address) as the argument
    for the new input source?
    
    Thanks,
    
    Tim Resker

T.RTitleUserPersonal
Name
DateLines
298.1Event FlagSTAR::BRANDENBERGIntelligence - just a good party trick?Fri Feb 24 1989 12:007
    
    No, the channel doesn't mean a thing to XtNextEvent.  This is (or was)
    the number of an event flag in cluster 0.  Do check the document before
    believing what I say, though.
    
    					m

298.2How do I do event processing for networks?FUNBOX::RESKERFri Feb 24 1989 12:5511
    I have a network device.  The network device is tied into an event
    flag.  I'm going to wait for that event flag and then I'm to process
    my network activity, so I'm blocked on that event flag.  
    
    Now, I don't want to poll for my network QIO because it makes me
    do an XT_pending (a nonblocking xt_next_event).  I want to use
    XT$add_input but I don't know how to use a network channel number as a
    the source argument for XT$add_input.              
    
    tim

298.3$QIO I hopeSTAR::BRANDENBERGIntelligence - just a good party trick?Fri Feb 24 1989 13:1017
    
    If the interface to the network socket is $QIO, then you can use the
    asynchronous form ($QIO and not $QIOW), preferably with an IOSB, and
    use the event flag in XtAddInput/XtNextEvent to sense when the network
    operation is "probably" complete.  I say probably because you may be
    using the event flag for other purposes in your application which will
    could cause false generation of events from XtNextEvent.  If you are
    using the event flag exclusively for this socket, then the event is
    reliable.  Now, if the interface *doesn't* use $qio or other
    asynchronous interface, I hope it provides some way of generating an
    AST when input arrives or output is possible.  Then, the ast routine
    can set some event flag to be used as above.  If the interface only has
    a synchronous interface, you're quickly placing yourself between a rock
    and a hard place.
    
    					m