🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.acorn.tech
Article #451

Re: Econet timeouts

#451
From: Clive Jones
Date: Wed, 30 Sep 1992 15:23
49 lines
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!news
References: <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