Hello Carsten,

I'm back in my office now. Your patch seems to work for as expected. Thanks.

BTW(1): What is the meaning of the erase operation to the destination string in 
the GroupMCastConnection::disconnect() function?
line 156: _destination.erase(_destination.begin()+index);

BTW(2): I was wondering why your patch includes additonal brackes around line 
533:
for(m = ack ; m != send && dgram[m]->getId() != response.getId() ;
                        m = (m+1) % _windowSize);
                    {
                                                send = m;
                                        }
There's a semicolon closing the for loop in line 531. Just wanted to make sure 
the brackets are not intented for that...

BTW(3): How about the network stuff in OpenSG 2. Is it completely new delevoped 
or may these changes also need to be applied to the 2.0 code?

Thanks,
Michael


-------- Original-Nachricht --------
> Datum: Wed, 28 Sep 2011 12:47:58 -0500
> Von: Carsten Neumann <carsten_neum...@gmx.net>
> An: opensg-users@lists.sourceforge.net
> Betreff: Re: [Opensg-users]   OpenSG1.8       -       Disconnecting   
> ClusterWindow   and     ClusterServer

>       Hello Michael,
> 
> On 09/28/2011 06:48 AM, Michael Raab wrote:
> > I'm quite sure that the right socket is removed from the socket list and
> closed. I've prepared a quick and dirty example that should help you to
> reproduce the problem.
> > The example includes our OSGExt library that contains our specific class
> implementations of ClusterWindow and RenderServer. Additionlly there are a
> ClusterClient and a ClusterServer application based on the OSGExt lib
> included.
> > Usage:
> >   - run startClient, startServer1, startServer2 from the run folder
> >   - by pressing '1' or '2' you can disconnect either the first or the
> second render server
> >
> > By default the connectiontype is set to Multicast. Using this mode
> client and server freeze after one server has been disconnected. If you change
> the connectiontype to "StreamSock" (ClusterClient: line 105), the connection
> is still ok, after disconnecting one server.
> >
> > I'm sending the complete source code offside the mailing list.
> >
> > Hope this will help you to find the problem.
> 
> yes, it is of great help, thank you! I believe I've found the problem: 
> GroupMCastConnection keeps two additional vectors of SocketAdresses 
> (_receiver and _waitFor) and the latter is used to determine which 
> machine has outstanding ack packages. On a disconnect these vectors 
> where not updated so that the connection was still waiting for ack 
> packages from the disconnected machine.
> I've attached a patch that corrects this and makes your examples work 
> for me. Would you mind giving it a try and letting me know if it fixes 
> the problem at your end as well? Thanks!
> 
>       Cheers,
>               Carsten

-- 
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie!               
Jetzt informieren: http://www.gmx.net/de/go/freephone

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to