Re: [Fresco-devel] [ReFresco 03] Proposed network architecture overview

cinap_lenrek <[email protected]> Wed, 04 Feb 2004 09:12:38 +0100
Newsgroups gmane.comp.video.fresco.devel
Message-ID <[email protected]>
>>i mean if different clients have different connections to the server how
>>can this harm if a client sends a very big packet to the server?
>>other connections will not be affected to this if you demux this big packet
>>in small steps or have one thread per connection (so you can process the
>>other connections while the big packet is processed.)
>>    
>>
>
>We were talking about the case where a single client doesn't want
>to block itself out; if it starts sending a long packet, it has to
>finish sending that whole packet before it can do something else, even
>if the "something else" has high priority.
>  
>
ok!

>>if a client sends a message that is too small or to big... the client
>>just harms itself because it just congests his own connection... 
>>the server cluld close the connection if here is something
>>wrong in the stream or data is expected and not have received in
>>a defined timeout.
>>but this sould not harm other clients/connections. thats what i'm not
>>understand in this question.
>>    
>>
>
>Clients can send each other messages; imagine the case where client A
>has a fast pipe, and client B has a slow pipe.  If A starts sending
>messages to B quickly, they'll accumulate in the server.  Eventually,
>the server will have to stop reading anything from client A until B's
>buffers drain, to avoid unbounded memory usage.  Client A would
>generally like to avoid this, so there need to be mechanisms to allow
>flow-managed inter-client bulk data transfer.
>
>  
>
you are right... if B is blocked then A will block too because the 
server's pipe to B is going to be
filled and B never reads from the pipe. ok... but how you can resolve 
this? and what means
"flow-managed" in practical?

>-- Nathaniel
>  
>
mfg. cinap_lenrek