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