[omniORB] How to get file descriptor from a CORBA request?

Sander Steffann s.steffann at computel.nl
Tue Sep 26 00:54:55 BST 2006


Hi Tuyen,

> Thanks for your reply.  Can you elaborate on this?  I'm interested in your 
> solution.
>
> Are you saying that the client should use a clientSendRequest interceptor 
> to add a service context, and the server should use a serverReceiveRequest 
> interceptor to read the context?

Exactly.

> The part that I don't understand is that if I'm in a CORBA request, say,
>
>    Account BankManager_i::openAccount(String name) {
>    }
>
> How do I get the service context to figure out which client this is?  Do I 
> need to somehow store the service context somewhere in the servant object 
> first when I'm in the interceptor, and then when I'm in the CORBA request, 
> I'll just read the context back from the object?

I store the data in separate thread-local storage instead of in the servant, 
but that's basically it :)  Works great for us. In the future I want to use 
CSIv2 contexts instead of my home-made ones, but that also requires some 
work on the IOR reading/writing (part of the data needed for the context is 
in the IOR). I'll let you (and the list) know when/if I manage to get 
something working :)

Sander

PS: I do the home-made context stuff in Python instead of in C++, but I 
don't think it should make a difference





More information about the omniORB-list mailing list