Skip navigation.

Using CORBA Request-Level Interceptors

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents Index View as PDF   Get Adobe Reader

 


ReplyContext Structure

Synopsis

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

C++ Binding

struct  ReplyContext 
{
Interceptors::Version struct_version;
CORBA::ULong request_id;
ReplyStatus reply_status;
};

Members

struct_version

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

Version Member

Description

major_version

Indicates the major version value. The value of this member is incremented anytime a change is made to the contents or layout of a ReplyContext that is not backward compatible with previous versions.

minor_version

Indicates the minor version value. The value of this member is incremented anytime a change is made to the contents or layout of a ReplyContext that is backward compatible with previous versions.


 

request_id

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

reply_status

Indicates the completion status of the associated request, and also determines part of the reply body contents.

Status Value

Description

NO_EXCEPTION

Indicates that the requested operation completed successfully and that the value of the arg_stream parameter contains the return values of the operation.

USER_EXCEPTION

Indicates that the requested operation failed because of an exception reported by the target object.

SYSTEM_EXCEPTION

Indicates that the request operation failed because of an exception reported either by the target object or by the infrastructure.

LOCATION_FORWARD

Indicates that the body contains an object reference (IOR). The client ORB is responsible for resending the original request to that (different) object. This resending is transparent to the client program making the request, but the resending is not transparent to the interceptor.

LOCATION_FORWARD_PERM

Indicates that the body contains an object reference. The usage is similar to LOCATION_FORWARD, but when used by a server, this value also provides an indication to the client that the client may replace the old IOR with the new IOR. Both the old IOR and the new IOR are valid, but the new IOR is preferred for future use. This resending is transparent to the client program making the request, but the resending is not transparent to the interceptor.

NEEDS_ADDRESSING_MODE

Indicates that the body contains a GIOP::AddressingDisposition. The client ORB is responsible for resending the original request using the requested addressing mode. This resending is transparent to the client program making the request, but the resending is not transparent to the interceptor.


 

Description

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

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

 

Skip navigation bar  Back to Top Previous Next