[net.bugs.uucp] Possible improvement: wizards opinions wanted.

chris@umcp-cs.UUCP (Chris Torek) (10/24/84)

I've always thought that UUCP ought to work like this:

1.  uucp <options> <localfile> <remotefile>

	1.  Create a copy of <localfile> if necessary.
	2.  Get a locked "commands" file, creating one if necessary.
	3.  Put a "send file" command in the last entry in the command
	    file (could use timestamps to keep ordering, whatever).
	4.  Unlock "commands" file.

2.  uux <options> <remotecommand>

	1.  Create a copy of <input to remote command> if necessary.
	2.  Get a locked "commands" file, creating if necessary.
	3.  Put a "send file" command for the input file.
	4.  Put a "send execute" command (possibly by creating a local
	    ``D.systemX'' type file, possibly by just sticking the whole
	    thing into the "commands" file).
	5.  Unlock "commands" file.

3.  uucico

	1.  Get the oldest (smallest mtime) "commands" file and lock
	    it, blocking on the lock until any other users release it.
	    If there are no such files, quit.
	2.  For each command in the file,
	    2a.  Do the command (send a file)
	    2b.  Mark the command as having been completed.
	3.  When all the commands are done, unlink the commands file,
	    then unlock it.
	4.  Start all over again.

	(Or modifications of the above, to try to send files in the
	 order they are queued, with optional ``grading'' too....)

4.  uuxqt - no real changes.

Note that step 2b corresponds pretty closely to your ``mark the
S or R command has having been done already'' idea.  And if you
continue to use lots of little C. files, instead of one big one,
you don't have to worry about how to keep queueing order proper.

The only reason for having mammoth C. files would be to take up
less disk space (but more CPU time, sigh).  [Which do *you* have
more of?  Hm, how about making it runtime configurable? :-)]

Of course, you also need a good locking mechanism.  Sigh...
-- 
(This mind accidently left blank.)

In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland

lee@west44.UUCP (Lee McLoughlin) (10/25/84)

I'd like some opinions on the following change I'd like to make to a 4.2
compatiable uucp.

Basically before reading the next entry from the C. file in anlwrk() go
back and overwrite the command character (the S, R or X) of the previous
entry with a 'D' to mark it as done.  Then in cntrl() any entry with a
wrktype of 'D' is skipped.
The reason for doing this is to avoid having to redo a command because
uucico failed at some latter point in the C. file.

Any opions or suggestions on this matter will be greatly appreciated.


(What happened to my last posting of this I ask myself!)
-- 
UKUUCP SUPPORT  Lee McLoughlin	<UK>!ukc!lmcl
		kcl-cs!lee
	"What you once thought was only a nightmare is now a reality!"