Bug 3024 - Refactoring the Transport Cache
Summary: Refactoring the Transport Cache
Status: NEW
Alias: None
Product: TAO
Classification: Unclassified
Component: ORB (show other bugs)
Version: 1.5.9
Hardware: All All
: P5 enhancement
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks: 2755
  Show dependency tree
 
Reported: 2007-08-01 15:41 CDT by Dale Wilson
Modified: 2007-08-14 13:01 CDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dale Wilson 2007-08-01 15:41:04 CDT
I recently did some work on the transport cache.  This entry is to capture some thoughts about how it could be further improved.

Right now when there are multiple connections to an endpoint, there is an entry in the cache for each connection.  And arbitrary integer named "index_" is use to distinguish between entries.

There should really be one entry per endpoint.  The transports that represent connections to that endpoint should be chained to the endpoint.   This would result in much cleaner, easier to understand (and probably faster) code.

Also the "state" of the cache entry is stored in Cache_IntId (which is really the cache entry in spite of its non-descriptive name)  This is actually the state of the Transport itself so it should be stored in the transport.

If this change were made it would be possible to distinguish transactions that modified the cache itself from transactions that simply updated the status of a Transport contained (indirectly) within the cache.   This in turn might allow more intelligent multi-thread protection of the cache vs the Transport states.