On Fri, 8 Sep 2000, Maarten ter Huurne wrote:

> Error detection other than CRC. Under the assumption that there are only 
> 1-bit errors, the protocol itself can detect errors. I'm not sure this 
> assumption is correct, but gathering statistical evidence (hours of testing) 
> should tell us more about that.

That is a good idea. Anyway, I don't think the error detection mechanism
is really important for the protocol. It can, e.g. be implemented at a
high level like TCP/IP. Then fast and unreliable packets can also be sent
(some people seem to want that... maybe they don't want it over joynet,
because `fast' is slow anyway?)

> > > A timeout is always needed, because when the cable is disconnected the
> > > protocol should be able to handle that.
> >
> > True, but the protocol should not be able to enter a dead lock, as long as
> > both computers system memory is not corrupt.
> 
> The protocol will deadlock if the cable is disconnected. There is no way to 
> avoid that. But a timeout will handle those situations and abort the hanging 
> transfer. A timeout must be viewed as a kind of exception (in Java/C++ 
> terminology), it is not part of the regular protocol.

Yes, a timeout is needed for such situations. But as long as the other
side is connected (and running an os with JUMP drivers), everything should
be ok and no locks are possible.

> > In linux, interrupt handlers and their children are not processes and thus
> > don't have a priority. If they claim the processor, they'll get it. So
> > just ajusting the polling frequency should do. I don't know how uzix does
> > this.
> 
> Hmmm...
> Maybe JUMP in Linux should be implemented in user mode after all? Claiming 
> the processor for what could be a long time is not a good idea. Or maybe 
> Linux is fast enough to use one interrupt for every single bit transfer? 
> Anyway, I still want to be able to play MP3s while a JoyNet transfer is in 
> progress.

No problem. The implementation should consist of polling every once in a
while and flipping bits if the receiver says it's ready. It doesn't keep
the processor occupied very much.

> JUMP also acts as a router, forwarding packets that are intended for another 
> node. Should other computers in the network suffer if one of them is under 
> heavy load?

I think this is up to the owner of the computer. This means it should be
ajustable in the driver. This shouldn't be a problem to implement.

Bye,

 main(){int  c[4]   ,x=4  ,l=getpid()  ,i;;   for(  srand(l);c[  x]=-   rand
()%6         ,x--   ;);;  for(         ;44>   x;){  char         a[9] ,*p=
 "%.1f\n",   b[9];x=i=0;  gets(a);for   (l=4 ;l--   ;)x+=-(a[l]  -=48)==
       (b[l  ]=c[   l]);  ;for           (l=0;16    >i;l         =++i %4)x
+=(b[i/4]+   a[l]   ?0:(  a[l]=b[i/4]     =10))     ;printf(p,x  *.1)   ;};}



****
Problems? contact [EMAIL PROTECTED] See also http://www.faq.msxnet.org/
****

Reply via email to