Re: Help with .NET UNO Bridges for LibreOffice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/15/24 05:42, Ritobroto Mukherjee wrote:
So to clarify, every thread has an UNO generated ID, independent of
its OS thread ID. Is this thread ID unique across a bridge or only
unique in a process/environment?

yes, see <https://wiki.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol#Threads> (though I can't remember how LO's URP implementations compute those globally unique TIDs; one would need to look into the code)

What I can get from the code is that UNO Threads are modeled as a pair
of JobQueues, one sync and one async, managed by the ThreadPool. Is
this correct?
[...]
And I assume the asynchronous calls are similar but without a "done"
blocking job?

Yeah, async messages complicate the picture somewhat. In olden times, UNO had a concept of [oneway] interface methods (that had to have a void return type, and don't do a response message over URP, and can be executed on top of another synchronous execution job that is currently calling out to another environment and is thus blocked waiting for a response). But today, the only remaining async operation in URP is the XInterface release operation, see <https://wiki.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol#The_release_Message>.

That's because the older implementation in cli_ure/ uses a Microsoft
specific extension to C++ called C++/CLI, which allows seamless
interop between C++ and C#. This is however not cross-platform and
hence needs to be replaced with a combination of standard C++ and C#
to achieve cross-platform bridging for the GSoC project.

Ah, that's useful information.




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux