Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Le 02/01/2012 16:43, Stephan Bergmann a écrit :
On 01/02/2012 12:37 PM, Paul TOTH wrote:
Hi,

Le 02/01/2012 14:21, Stephan Bergmann a écrit :
On 01/02/2012 11:06 AM, Paul TOTH wrote:
does anyone know the URP protocol ?

I've found very few information about it
http://wiki.services.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol



But that's as detailed as you can reasonably expect it to be? ;)
Anyway, I assume your problem is higher up the abstraction hierarchy
than plain URP. If there were problems establishing localhost
connections, you would get problems already before reaching the
loadComponentFromURL call.


Well I havent' found any document on how the IDs (like
1e3ad60;uno[0];18b8;85f8da80603b478cb08cd837553b7f6d) are defined...so
I've used Windows GUID to identify my objects instances.

Ah, it had escaped me that you implemented an URP end-point of your own. How such IDs are generated is indeed unspecified. See also <https://issues.apache.org/ooo/show_bug.cgi?id=32547> "Missing Specification to Guarantee Unique URP Thread IDs."


I've notice some strange behaviors when using a predefined ThreadID like "RemoteOffice-ThreadID", on a first request, everything is fine, but some objects OIDs seems to be persistant event after the socket deconnexion. I guess when they are cleared ?! So I use a unique one now.

my application is a single thread process, after the protocol handcheck,
I send a request a read answers until I get my own threadID back,
something like :

send_my_request(my_thread_id);
while (get_reply->thread_id != my_thread_id) process_server_request();
process_server_reply();

Are you sure that you would handle scenarios correctly where the remote side sends back requests on the same thread ID while you are waiting for a reply?

well, I'm not sure how Office is done, but from the tests I've made :
- with XInitialize the server do not send any request
- with an XInputStream the server request some interfaces like XSeekable, XCloseable, call some methods (seek, readsomeBytes...) but this is done on an other thread, and then the XComponent OIDs is send on the main ThreadID.

Paul

Stephan


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.