Hi Terry,

On 1/19/06, Andreas Zieringer <[EMAIL PROTECTED]> wrote:

Hi Terry,

just did:

./testClusterServer.exe -w pipe0 &
./testDynamicClusterClient.exe pipe0

and it works fine how did you test it?


I followed the instructions in testDynamicClusterClient.cpp, which say
to also run testClusterClient.  I thought that seemed a little
strange.  Anyway, it works now.  However, testDynamicClusterClient
dies with a "broken pipe" if I kill testClusterServer, so I might need
to modify testDynamicClusterClient a bit to make it behave the way I
want.

ups cut and paste error but that's quite obvious ;-)
You can use a try/catch block for detecting a killed server.

try
{
    // redraw the server windows
    _cluster_win->render((RenderAction *) _mgr->getAction());
}

catch(OSG_STDEXCEPTION_NAMESPACE::exception &e)
{
    printf("error: '%s'\n", e.what());
}


Moving on...  if I understand correctly, storeChangeList merges all
current changes into the _clStore and restoreChangeList pulls all
those changes back out all at once.  Is that right?

yes

I tried to use this in my app as simply as possible.  I set it up so
that every time changes are sent to my server, I do

   mRemoteAspect->storeChangeList(OSG::Thread::getCurrentChangeList());
   OSG::Thread::getCurrentChangeList()->clearAll();

which should keep an up to date store off all changes that I have
made.  Then if my connection fails and I have to reconnect, I do this

   mRemoteAspect->storeChangeList(OSG::Thread::getCurrentChangeList());
   OSG::Thread::getCurrentChangeList()->clearAll();
   mRemoteAspect->restoreChangeList(OSG::Thread::getCurrentChangeList());
   mRemoteAspect->getStore().clear();   // tried with and without this
line, but I think it should be here.  I get the same warnings with or
without it.

But after connecting and I try to send all these changes to my newly
started server, I get a long stream of warnings like these:

WARNING: Unknown TypeID: 726 for remote id 183
WARNING: Can't change unknown FC:202 skip 24 bytes.

So I'm pretty confused now.  There's probably something simple that I
don't understand here, but I can't think of a simpler way to put this
in my app.

hmm difficult to say what's wrong just do exactly the same as in the example.

What I was looking for originally was a way to artificially create a
complete change list from an existing model.  I would think that would
be a simpler way to reestablish a broken connection because you
wouldn't have to keep a record of all changes since the start of the
client.  Has this method been considered?

Yes I actually wanted the same but that's not so easy to implement so I hacked this workaround.

Andreas


Internaly it keeps a changelist with all created objects, so before
clearing the cuurent changelist you save it via
RemoteAspect::storeChangeList(). And before connecting to the cluster
you restore the saved changelist via RemoteAspect::restoreChangeList()
into your current changelist.

Andreas



Thanks, but I'm still having some trouble understanding all this.  Is
RemoteAspect::restoreChangeList() the call that is supposed to say
that everything in the graph is a new change.  I'm afraid I haven't
gotten it to work in my code yet.  And testDynamicClusterClient only
hangs when I run it on line 138:
_cluster_win->init();

--
Terry Welsh - mogumbo 'at' gmail.com
www.reallyslick.com  |  www.infiscape.com  |  www.vrsource.org

On 1/18/06, Andreas Zieringer <[EMAIL PROTECTED]> wrote:


Hi Terry,

there is an example in
OpenSG/Source/System/Cluster/Base/testDynamicClusterClient.cpp showing
how to dynamicly connect to the cluster servers without restarting the app.

Andreas



I want to gracefully recover from network disconnections.  Currently,
I am using RemoteAspect::sendSync() and ChangeList::clearAll() over
and over again to keep my server fed with scene graph updates.

But if my server gets disconnected and then reconnected I want to send
the entire graph over without having to rebuild the graph.  I was
looking for something like ChangeList::setAll() to tell the server
that everything had changed, but I can't find anything like that.  Is
there a simple way to just send over my whole scene graph?
--
Terry Welsh - mogumbo 'at' gmail.com
www.reallyslick.com  |  www.infiscape.com  |  www.vrsource.org


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users




--
Terry Welsh - mogumbo 'at' gmail.com
www.reallyslick.com  |  www.infiscape.com  |  www.vrsource.org


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to