📄 readme
字号:
There are some cases where _narrow() needs to make remote invocations. Because this is expensive you can tell the IDL whether or not togenerate code that makes remote invocations using--do-not-query-server-for-narrow. The following discussion explainswhen you can use --do-not-query-server-for-narrow.Consider the following scenario: you have a server which maintainsreferences to an interface called "base". This server is defined bythe files base.idl, base_impl.[h|cc] and server.cc. Once the server iscompiled and linked, it is started.At a later point in time someone decides to define a new interface"derived" which inherits from "base". The client makes use of bothbase and derived and therefore needs all the files in this directory.What happens if the server, which is still running, is getting areference to "derived"? It should pose no problems according to theCORBA subtyping rules. But how does the server know that "derived"IS-A "base"?One way would be to stop the server, re-link it with theimplementation of derived and then get it up and running again.Sometimes it is not desirable to stop the server. In that case theonly way for the server to know about "derived" IS-A "base" is toask the client that generated the "derived" object.Since this means a significant time overhead (each failed _narrow()will do a query to the server), you can omit this behaviour by usingthe --do-not-query-server-for-narrow command line option. The codegenerated for _narrow() only queries the server if you do not use the--do-not-query-server-for-narrow switch. Beware that incorrect usewill result in failing _narrow() although it shouldn't.BTW: the content of this README should be moved to the docs...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -