Issue 10717: Remove the CacheDescription object (data-distribution-rtf) Source: PrismTech (Mr. Erik Hendriks, erik.hendriks(at)prismtech.com) Nature: Revision Severity: Summary: Problem: The CacheDescription object is used within the create_cache operation on the CacheFactory only. It is a strange concept; a holder for a name and participant only. Instead one should simply provide the name and participant as parameters to the create_cache operation instead of needing to cumbersomely wrap it in a Cachedescription object. Solution: We propose to change the signature of the create_cache operation from create_cache(CacheUsage cache_usage, CacheDescription description) to create_cache(string name, CacheUsage cache_usage, DomainParticipant participant); Replace (in the table description of the CacheFactory on page 3-19) create_cache Cache cache_usage CacheUsage description CacheDescription With: create_cache Cache name string cache_usage CacheUsage participant DomainParticipant In the text on page 3-19 describing the create_cache operation change the text regarding the CacheDescription to reflect the change as well Replace: This method takes as a parameter cache_usage, which indicates the future usage of the Cache (namely WRITE_ONLY-no subscription, READ_ONLY-no publication, or READ_WRITE-both modes) and a description of the Cache (at a minimum, this CacheDescription gathers the concerned DomainParticipant as well as a name allocated to the Cache). Depending on the cache_usage a Publisher, a Subscriber, or both will be created for the unique usage of the Cache. These two objects will be attached to the passed DomainParticipant. With: This method takes as a parameter name, which represents the name allocate to the Cache; a paramater cache_usage, which indicates the future usage of the Cache (namely WRITE_ONLY-no subscription, READ_ONLY-no publication, or READ_WRITE-both modes) and a parameter participant, which contains the concerned DomainParticipant. Depending on the cache_usage a Publisher, a Subscriber, or both will be created for the unique usage of the Cache. These two objects will be attached to the passed DomainParticipant. (see next page for more) On page 3-59 in section 3.2.1.2 IDL description replace: /************************************************ * CacheFactory : Factory to create Cache objects ************************************************/ valuetype CacheDescription { public CacheName name; public DDS::DomainParticipant domain; }; local interface CacheFactory { Cache create_cache ( in CacheUsage cache_usage, in CacheDescription cache_description) raises ( DCPSError, AlreadyExisting); Cache find_cache_by_name( in CacheName name); void delete_cache ( in Cache a_cache); }; With: /************************************************ * CacheFactory : Factory to create Cache objects ************************************************/ local interface CacheFactory { Cache create_cache ( In CacheName name; in CacheUsage cache_usage, in DDS::DomainParticipant participant) raises ( DCPSError, AlreadyExisting); Cache find_cache_by_name( in CacheName name); void delete_cache ( in Cache a_cache); }; Resolution: Revised Text: Actions taken: February 13, 2007: received issue Discussion: End of Annotations:===== iler: QUALCOMM Windows Eudora Version 7.0.1.0 Date: Tue, 13 Feb 2007 16:14:44 -0500 To: issues@omg.org, data-distribution-rtf@omg.org From: Juergen Boldt Subject: issue 10717 -- DDS RTF issue X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at omg.org This is issue # 10717 From: "Erik Hendriks" Remove the CacheDescription object Problem: The CacheDescription object is used within the create_cache operation on the CacheFactory only. It is a strange concept; a holder for a name and participant only. Instead one should simply provide the name and participant as parameters to the create_cache operation instead of needing to cumbersomely wrap it in a Cachedescription object. Solution: We propose to change the signature of the create_cache operation from create_cache(CacheUsage cache_usage, CacheDescription description) to create_cache(string name, CacheUsage cache_usage, DomainParticipant participant); Replace (in the table description of the CacheFactory on page 3-19) create_cache Cache cache_usage CacheUsage description CacheDescription With: create_cache Cache name string cache_usage CacheUsage participant DomainParticipant In the text on page 3-19 describing the create_cache operation change the text regarding the CacheDescription to reflect the change as well Replace: This method takes as a parameter cache_usage, which indicates the future usage of the Cache (namely WRITE_ONLY-no subscription, READ_ONLY-no publication, or READ_WRITE-both modes) and a description of the Cache (at a minimum, this CacheDescription gathers the concerned DomainParticipant as well as a name allocated to the Cache). Depending on the cache_usage a Publisher, a Subscriber, or both will be created for the unique usage of the Cache. These two objects will be attached to the passed DomainParticipant. With: This method takes as a parameter name, which represents the name allocate to the Cache; a paramater cache_usage, which indicates the future usage of the Cache (namely WRITE_ONLY-no subscription, READ_ONLY-no publication, or READ_WRITE-both modes) and a parameter participant, which contains the concerned DomainParticipant. Depending on the cache_usage a Publisher, a Subscriber, or both will be created for the unique usage of the Cache. These two objects will be attached to the passed DomainParticipant. (see next page for more) On page 3-59 in section 3.2.1.2 IDL description replace: /************************************************ * CacheFactory : Factory to create Cache objects ************************************************/ valuetype CacheDescription { public CacheName name; public DDS::DomainParticipant domain; }; local interface CacheFactory { Cache create_cache ( in CacheUsage cache_usage, in CacheDescription cache_description) raises ( DCPSError, AlreadyExisting); Cache find_cache_by_name( in CacheName name); void delete_cache ( in Cache a_cache); }; With: /************************************************ * CacheFactory : Factory to create Cache objects ************************************************/ local interface CacheFactory { Cache create_cache ( In CacheName name; in CacheUsage cache_usage, in DDS::DomainParticipant participant) raises ( DCPSError, AlreadyExisting); Cache find_cache_by_name( in CacheName name); void delete_cache ( in Cache a_cache); }; Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org