public interface CurrentOperations extends CurrentOperations
PICurrent
)仅仅是一个时隙表,每个服务的时隙表用于在其上下文和请求或应答的服务上下文之间传送其上下文数据。
希望使用PICurrent的每个服务在初始化时都会保留一个插槽或插槽,并在处理请求和回复时使用这些插槽。
在进行调用之前,通过调用ORB.resolve_initial_references( "PICurrent" )
。 从截取点开始,通过RequestInfo
对象上的RequestInfo
操作get_slot
从线程范围移动到请求范围的RequestInfo
数据。 仍然可以通过resolve_initial_references
获得resolve_initial_references
,但这是Interceptor的线程范围。
Any get_slot(int id) throws InvalidSlot
get_slot
PICurrent中设置的应用程序的插槽数据。
数据的格式为Any。
如果给定的时隙没有被设置,一个在任何含有具有一个类型码TCKind
的值tk_null
被返回并没有价值。
id
-
SlotId
返回数据的插槽的
SlotId
。
InvalidSlot
- 如果在尚未分配的插槽上调用
InvalidSlot
,则抛出。
BAD_INV_ORDER
- 抛出如果
get_slot
从一个ORB初始化程序内调用
void set_slot(int id, Any data) throws InvalidSlot
id
- 要设置数据的插槽的
SlotId
。
data
- 数据,以任何形式,将被设置为识别的插槽。
InvalidSlot
- 如果在
set_slot
的插槽上调用
InvalidSlot
,则抛出。
BAD_INV_ORDER
- 抛出如果
set_slot
从一个ORB初始化器调用。