[omniORB] Re: Using omniInterceptors
William Noon
noon@snow.nrcc.cornell.edu
Mon, 07 Jan 2002 18:50:52 -0500
Following up my own questions, I added a slot and accessors for my
security token to GIOP_S as well as to the callDescriptor.
In GIOP_S::ReceiveRequest, I copy the token to callDescriptor after it
is created.
Any thoughts towards a general way to save this type of info without
modifying these classes?
--Bill Noon
> I have a system where I need to identify the clients that are making
> calls on a number of servers and decided that I should pass a simple
> token from client -> server (and occasionally back).
>
> Given that the security service API isn't implemented and portable
> interceptors are not yet available, my quickest route would be to add
> a custom service context and use omniInterceptors to hook it in.
>
> I have added clientSendRequest and serverReceiveRequest interceptors to
> do that but now need to find a place to stuff the value on a per-call
> basis so that my server code can get to it. What I am looking for is
> PICurrent slots type functionality.
>
> In the serverReceiveRequest info there is the giop_s which has a slot
> for the callDescriptor. Just what I need. Except it is initialized
> in the server skeleton code, well after the interceptor code returns.
> The callHandle could pass it to the callDescriptor, but it too is created
> too late.
>
> Any suggestions?
>
> I would also like to pass the token back to the client but serverSendReply
> and clientReceiveReply are not implemented. Any idea on where they would
> be called and what info to make available to them?
>
> Thanks --Bill Noon
> Northeast Regional Climate Center
> Cornell University
>