TIP: Click on subject to list as thread! ANSI
echo: public_domain
to: Paul Edwards
from: Paul Markham
date: 1994-01-29 11:08:12
subject: zmodem design

PE> Now after every 1k or whatever, the Zmodem routine needs to end so that

 PE> you can both transmit the data and update the display.  Then you need to

 PE> start again. But to restart, what you REALLY want, is a goto that takes

 PE> you smack bang into the middle of the loop that you were just in the

 PE> middle of before you were forced to exit to inform the caller.  It would

 PE> have been nicer if you could just inform the caller without having to

 PE> exit.



You could pass the Zmodem code the address of a function to call every time
it need to update the status. Similar to the approach taken with qsort().



 PE> Oh yeah, the caller will also want to check other things, like the user

 PE> pressing Escape, so that the Zmodem transfer can be aborted.  It seems to

 PE> me, that if we were emulating the way a human would think, that the

 PE> Zmodem code would go into it's loop, and when it had data to send, it

 PE> would jump straight out of the loop, and let the caller decide what to

 PE> do, and then go straight back into the middle of the loop, and check some

 PE> flags to see if he was informed to "abort" etc.



The function could return a non zero value if you want to terminate the
transfer. Using this method means that the zmodem loop would not end every
block and you wouldn't have to jump into the middle of it.





Paul



--- GoldED/2 2.42.G1114

* Origin: It's life Jim, but not as we know it (3:711/934.1)
SEEN-BY: 635/514 640/305 711/809 934
@PATH: 711/934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.