[Paraview] Can a collaborative client share a pipeline without creating a view itself?

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Jun 20 10:03:00 EDT 2016


Peter,


> Or does additional
> documentation (design documents, message exchange protocols, ...) exist?

Sorry my friend. Nothing more than what I previously mentioned on the
mailing list.

http://www.paraview.org/ParaView/images/2/24/ParaViewCollaborationChanges.pdf
http://www.paraview.org/ParaView/index.php/ProcessModule_2.0
http://www.paraview.org/ParaView/index.php/ServerManager_2.0


> 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.

(My knowledge on how several of these things is quite rusty  -- so
bear with me). I'd suggest look at pqCollaborationManager and see how
it implements chat messages. You should be able to extend that concept
to add support for custom messages.


> 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?

Why not make M aware of the code that needs to be executed and then
just trigger those through higher level messages from S? This is like
your first option, but you're only sending coarse messages eg. "Do
Action1" etc to M.

> 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.

Follow the code path  from  pqCollaborationManager::onChatMessage().
It calls pqServer::sendToOtherClients(...) with a vtkSMMessage object
created.

Utkarsh


More information about the ParaView mailing list