<div dir="ltr"><div><div><div><div><div><div>Dear Utkarsh,<br></div>to have some basis for this discussion, I'd like to mention that my knowledge on the collaboration functionality is limited to what is shown in <a href="http://vimeo.com/34480656">http://vimeo.com/34480656</a> and to the class reference <a href="http://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/classvtkSMCollaborationManager.html">http://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/classvtkSMCollaborationManager.html</a>. Everything else I am trying to understand by debugging. Or does additional documentation (design documents, message exchange protocols, ...) exist?<br><br></div>So, although the concept of promoting different clients as master is obvious from the video above, something more is needed to allow any slave to change the pipeline automatically by permission of the master: the slave (S) must request to be promoted as master to the current master (M), M must promote S as master, S operates on the pipeline, and S must promote M as master again.<br></div>After some thoughts, my suggested option 2) may be easier and more secure: S would send its intended operations to M, and M executes them. Here, the question is whether I have to invent a new streaming language to encode pipeline changes that S wants to send to M? Or can S just build the pipeline as intended and use some available serialization to send this pipeline state to M?<br><br></div>Any of the options requires some additional messages to be send between slaves and master. This is what I am trying to figure out. The --cslog options looks very useful, but a short overview which classes are involved in sending custom messages including an encoded pipeline state would be even more helpful.<br><br></div>Thanks<br></div>Peter<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-20 1:23 GMT+02:00 Utkarsh Ayachit <span dir="ltr"><<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Peter,<br>
<br>
ParaView already supports changing the master. A "master" can make any<br>
other connected process the new master. Once that happens the new<br>
master can start changing pipelines etc.<br>
<span class=""><br>
> Finally, I believe that I will have to dive into message passing between<br>
> paraview clients, soon.<br>
<br>
</span>Try running both the client and server with --cslog=<filename> and<br>
tail those files. You'll see a log for messages being sent between<br>
client and server.<br>
</blockquote></div><br></div>