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