Article View: comp.sys.acorn.tech
Article #451Re: Econet timeouts
From: Clive Jones
Date: Wed, 30 Sep 1992 15:23
Date: Wed, 30 Sep 1992 15:23
49 lines
3132 bytes
3132 bytes
In article <marlow.717842425@radon.sys.uea.ac.uk> marlow@sys.uea.ac.uk (K. Marlow PG) writes: > I just want to ask those in the known, is the timeout for an econet >transmit an absolute stop point or just a point at which it says the >transmission has failed? Say if I had my timeout set to 1 second and a repeat >count of 10, would that mean the first transmission (which is queued due to >the network being busy) be aborted after 1 second or does it just >decrease the repeat count & keep on with the same queued transmission? If >it does the first then I could see situations where a transmission doesn't >occur because it never reaches the top of the queue in time. This is >something which the PRM's aren't very clear on & might explain some strange >behaviour I'm getting.. OK. The PRMs are NOT at all clear on network behavior. Econet's protocol is based around a four-way handshake (ignoring broadcasts, which are a special case). The sending machine sends a scout frame, which is *IMMEDIATELY* followed by the recipient sending an acknowledge (if it is willing to accept a transmission from that machine on that port of that length), in turn *IMMEDIATELY* followed by the sending machine sending the full data, which is then *IMMEDIATELY* acknowledged by the receiving machine. Then the network is sent idle, and someone else takes it. If two people try transmitting at once, then one or both scout frames will be lost, and one or both machines will perform a random back-off. If the scout frame gets through, the transmission is then allowed to run uninterrupted to completion, if the two machines negotiate correctly. The practical upshot of this is that if a transmission is marked, at a given instant, as failed, then no scout frame has got through. This is equivalent to the rest of the world to your never having tried to send. SO - trying to send for ten seconds is the same as trying to send for one second ten times in quick succession, apart from the small periods in which you're not trying to send. There is no network queue as such, as previously explained. Why do you want to do several short timeouts instead of one long one, though? If it's just so that you can continue processing in the meantime, you ought to use background operations (i.e. Econet_Transmit, Econet_PollTransmit, etc. rather than Econet_DoTransmit). > Also what do people reckon is a sensible length of timeout to have.. 5 >seconds, maybe 10? I tend to use a timeout of 30 seconds, but let the user press Escape. --Clive.
Technical Details
Message-ID:
<1992Sep30.152348.19006@infodev.cam.ac.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!pavo.csi.cam.ac.uk!newsReferences:
<marlow.717842425@radon.sys.uea.ac.uk>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!pavo.csi.cam.ac.uk!news From: crj10@phx.cam.ac.uk (Clive Jones) Newsgroups: comp.sys.acorn.tech Subject: Re: Econet timeouts Keywords: Econet timeouts Message-ID: <1992Sep30.152348.19006@infodev.cam.ac.uk> Date: 30 Sep 92 15:23:48 GMT References: <marlow.717842425@radon.sys.uea.ac.uk> Sender: news@infodev.cam.ac.uk (USENET news) Organization: 6am Digital Playground Lines: 49 Telephone-Messages: +44 223 33 4900 Address: Christ's College, Cambridge CB2 3BU, ENGLAND. Nntp-Posting-Host: bourn.cl.cam.ac.uk