Bug 1190

Summary: Switch RTCORBA support over to PortableInterceptors
Product: TAO Reporter: Ossama Othman <ossama.othman>
Component: RTCORBAAssignee: DOC Center Support List (internal) <tao-support>
Status: ASSIGNED ---    
Severity: normal    
Priority: P3    
Version: 1.2.2   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 890    

Description Ossama Othman 2002-04-17 18:41:01 CDT
 
Comment 1 Ossama Othman 2002-04-17 18:42:57 CDT
When TAO's RTCORBA support was first implemented, PortableInterceptor 
support was not as well developed as it is now.  As such, several proprietary 
hooks were used to provide functionality that would normally would have been 
provided by PortableInterceptors (e.g. service context list insertion and 
extraction).  Now that PortableInterceptor support in TAO has matured, 
switching TAO's RTCORBA support to use PortableInterceptors would allow us to 
remove those proprietary hooks.  This provides us with a few benefits:

1. Less function calls in the critical path.
2. Allows us to fix bug 890 (broken service context list manip on restart)

Similar changes will have to be done to TAO's FT support.
Comment 2 Irfan Pyarali 2002-04-17 23:25:16 CDT
Assigned to tao-support
Comment 3 Irfan Pyarali 2002-04-17 23:25:36 CDT
Accepted
Comment 4 Nanbor Wang 2004-08-01 21:32:31 CDT
This may simply not wor for RTCORBA. The showstopper is the memory management 
for the interceptors. Inserting Servicecontext is very expensive with 
interceptors. 
Comment 5 Ossama Othman 2004-08-02 13:38:34 CDT
More accurately, ServiceContext insertion and extraction via interceptors is
expensive due to inefficiencies imposed by the C++ mapping.  TAO's Interceptor
support itself is not the bottleneck.  Furthermore, extraction is the major
showstopper due to the multiple allocations (e.g (1) allocation of the
ServiceContext, (2) allocation of the data sequence when setting its length) and
copies that occur due to adherence to the C++ mapping parameter passing rules.