-
- All Superinterfaces:
CurrentOperations
- All Known Subinterfaces:
Current
public interface CurrentOperations extends CurrentOperations
Portable Interceptors Current (also known asPICurrent
) is merely a slot table, the slots of which are used by each service to transfer their context data between their context and the request's or reply's service context. Each service which wishes to use PICurrent reserves a slot or slots at initialization time and uses those slots during the processing of requests and replies.Before an invocation is made, PICurrent is obtained via a call to
ORB.resolve_initial_references( "PICurrent" )
. From within the interception points, the data on PICurrent that has moved from the thread scope to the request scope is available via theget_slot
operation on theRequestInfo
object. A PICurrent can still be obtained viaresolve_initial_references
, but that is the Interceptor's thread scope PICurrent.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Any
get_slot(int id)
Retrieves the slot data the application set in PICurrent viaget_slot
.void
set_slot(int id, Any data)
Sets data in a slot.
-
-
-
Method Detail
-
get_slot
Any get_slot(int id) throws InvalidSlot
Retrieves the slot data the application set in PICurrent viaget_slot
. The data is in the form of an Any.If the given slot has not been set, an Any containing a type code with a
TCKind
value oftk_null
and no value is returned.- Parameters:
id
- TheSlotId
of the slot from which the data will be returned.- Returns:
- The data, in the form of an Any, of the given slot identifier.
- Throws:
InvalidSlot
- thrown if get_slot is called on a slot that has not been allocated.BAD_INV_ORDER
- thrown ifget_slot
is called from within an ORB initializer
-
set_slot
void set_slot(int id, Any data) throws InvalidSlot
Sets data in a slot. The data is in the form of an Any. If data already exists in that slot, it is overridden.- Parameters:
id
- TheSlotId
of the slot to which the data will be set.data
- The data, in the form of an Any, which will be set to the identified slot.- Throws:
InvalidSlot
- thrown ifset_slot
is called on a slot that has not been allocated.BAD_INV_ORDER
- thrown ifset_slot
is called from within an ORB initializer.
-
-