Received: by ATHENA-PO-2.MIT.EDU (5.45/4.7) id AA15901; Tue, 11 Apr 89 22:23:43 EST
From: <ackerman@ATHENA.MIT.EDU>
Received: by ATHENA.MIT.EDU (5.45/4.7) id AA00658; Tue, 11 Apr 89 23:23:58 EDT
Received: by E40-358-18.MIT.EDU (5.45/4.7) id AA11380; Tue, 11 Apr 89 23:22:02 EDT
Message-Id: <8904120322.AA11380@E40-358-18.MIT.EDU>
To: <bgardner@ATHENA.MIT.EDU>
Subject: Re: Oh...broadcasting by scheduler... 
In-Reply-To: Your message of Tue, 11 Apr 89 22:56:25 -0400.
             <8904120256.AA00607@PINK.MIT.EDU> 
Date: Tue, 11 Apr 89 23:21:58 EDT

I think you're making it too complicated.  The UI merely needs some function/
object that listens to the messages, something that checks the general
availability of a volume/disk, and something that makes or cancels a hard
request.

I wouldn't even bother with doing it in an object-style.  The broadcast
listener is an interrupt routine that writes into an array of used/unused
disks/volumes.  The video segment key is a volume:clip pair.  You just check
it against the array.  A routine can take care of that, if you'd like, but
it's a simple routine.

You make a hard request to the scheduler, again through a routine.  You get 
back a time slice.  It's your responsibility to be tuned to the channel 
at the right time.  If you need to cancel, you send a hard cancel message.

						Ack
