Tuxedo
0

Using CORBA Request-Level Interceptors

 Previous Next Contents Index View as PDF  

RequestContext Structure

Synopsis

Contains the information that represents the context in which a request is to be processed.

C++ Binding

struct  RequestContext 
{
Interceptors::Version struct_version;
CORBA::ULong request_id;
CORBA::Octet response_flags;
GIOP::TargetAddress target;
CORBA::String_var interface_id;
CORBA::String_var operation;
RequestContext &operator=(const RequestContext &_obj);
};

Members

struct_version

An indication of the version of the RequestContext that provides an indication of the format and members. The version information is separated into the following two pieces:


 

request_id

An unsigned long value that specifies the identifier assigned to a request by the initiating ORB.

response_flags

The lowest order bit of response_flags is set to 1 if a reply message is expected for this request. If the operation is not defined as oneway, and the request is not invoked via the DII with the INV_NO_RESPONSE flag set, response_flags will be set to \x03.

If the operation is defined as oneway, or the request is invoked via the DII with the INV_NO_RESPONSE flag set, response_flags may be set to \x00 or \x01.

When this flag is set to \x01 for a oneway operation, receipt of a reply does not imply that the operation has necessarily completed.

target

A discriminated union that identifies the object that is the target of the invocation. The discriminator indicates the format in which the target addressing is presented. The possible discriminator values are:


 

interface_id

A NULL-terminated string that specifies the repository identifier assigned to the interface of the object.

operation

A NULL-terminated string that specifies the name of the operation being requested on the target object indicated by the target member and that supports the interface specified by the value of the interface_id member.

Description

The RequestContext data object contains the information that represents the context in which a request is to be processed. The context information contained in the RequestContext provides information necessary to coordinate between the processing of a given request and its corresponding reply.

The context information in the RequestContext structure cannot be modified by the interceptor implementation. The ORB maintains ownership of the RequestContext and is responsible for freeing any resources associated with the RequestContext when it has completed using it.

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy