org.openorb.orb.net
Interface ServerRequest
- All Superinterfaces:
- org.omg.CORBA.portable.IDLEntity, org.omg.CORBA.Object, org.omg.PortableInterceptor.RequestInfo, org.omg.PortableInterceptor.RequestInfoOperations, org.omg.CORBA.portable.ResponseHandler, java.io.Serializable, org.omg.PortableInterceptor.ServerRequestInfo, org.omg.PortableInterceptor.ServerRequestInfoOperations
- All Known Implementing Classes:
- AbstractServerRequest, IIOPServerRequest, LocalServerRequest
public interface ServerRequest
- extends org.omg.PortableInterceptor.ServerRequestInfo, org.omg.CORBA.portable.ResponseHandler
Interface for server requests. The server request holds all the data
concering a request. It is responsible for interpreting incoming requests,
locating an adapter containing the target servant, calling interception
points and construting a reply.
- Author:
- Unknown
Field Summary |
static short |
OBJECT_HERE
Extra reply status denoting a locate request found the object. |
static int |
STATE_COMPLETE
Request has completed. |
static int |
STATE_CREATED
The request has arrived but has not had any of it's service contexts
examined. |
static int |
STATE_FIND_ADAPTER
This state is entered if a parent adapter is either holding requests
or is in the process of being destroyed. |
static int |
STATE_PROCESSING
Request is being processed. |
static int |
STATE_QUEUED
Request has had an adapter found and is enqueued awaiting dispatch. |
static int |
STATE_REPLY
Replying, one of the response handlers functions have been called or an
an internal response is being constructed. |
static short |
UNKNOWN_OBJECT
Extra reply status denoting a locate request where the object is not found |
Method Summary |
ObjectAdapter |
adapter()
Server adapter. |
int |
adapter(ObjectAdapter adapter)
Set the object adapter and transfer to the QUEUED state. |
org.omg.CORBA.portable.InputStream |
argument_stream()
Get the request input stream. |
int |
begin_request()
Called by the worker thread before every attempt to run the request. |
ServerChannel |
channel()
Server channel |
void |
client_cancel()
Client intiated request cancelation. |
org.omg.CORBA.portable.OutputStream |
createExceptionReply()
Create a stream for marshaling a user exception. |
org.omg.CORBA.portable.OutputStream |
createReply()
Create a stream for marshaling the reply. |
void |
dispatch()
Dispatch a request to it's destination. |
org.omg.IOP.IOR |
forward_reference_ior()
Get the ior associated with a forward reference. |
org.omg.IOP.ServiceContext[] |
get_reply_service_contexts()
Get all request service contexts that have been set. |
boolean |
is_locate()
This returns true if this request is a locate request. |
byte[] |
object_key()
Get the object_key for the request. |
org.omg.CORBA.ORB |
orb()
ORB reference. |
java.lang.String |
sending_system_exception_id()
Get the ID of the system exception which would be contained in the
any returned from sending_exception. |
org.omg.CORBA.SystemException |
sending_system_exception()
Get the system exception which would be contained in the any returned
from sending_exception. |
void |
server_cancel(java.lang.Throwable ex)
Server intiated request cancelation. |
int |
state()
Current request state. |
Methods inherited from interface org.omg.PortableInterceptor.ServerRequestInfoOperations |
adapter_id, add_reply_service_context, get_server_policy, object_id, sending_exception, set_slot, target_is_a, target_most_derived_interface |
Methods inherited from interface org.omg.PortableInterceptor.RequestInfoOperations |
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope |
Methods inherited from interface org.omg.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_interface, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
OBJECT_HERE
static final short OBJECT_HERE
- Extra reply status denoting a locate request found the object.
- See Also:
- Constant Field Values
UNKNOWN_OBJECT
static final short UNKNOWN_OBJECT
- Extra reply status denoting a locate request where the object is not found
- See Also:
- Constant Field Values
STATE_CREATED
static final int STATE_CREATED
- The request has arrived but has not had any of it's service contexts
examined. A cancelation in this state will result in COMPLETED_NO status.
Calls valid in receive_request_service_contexts are valid, this
interception point will occour while in this state if the request is
not a locate request.
- See Also:
- Constant Field Values
STATE_FIND_ADAPTER
static final int STATE_FIND_ADAPTER
- This state is entered if a parent adapter is either holding requests
or is in the process of being destroyed. To continue find_adapter must
be called again.
- See Also:
- Constant Field Values
STATE_QUEUED
static final int STATE_QUEUED
- Request has had an adapter found and is enqueued awaiting dispatch.
Calls valid in receive_request_service_contexts are valid. Request
fragments may still be arriving.
- See Also:
- Constant Field Values
STATE_PROCESSING
static final int STATE_PROCESSING
- Request is being processed. This is the only state where the
ReplyHandler functions can be successfully called. Request
fragments may still be arriving.
- See Also:
- Constant Field Values
STATE_REPLY
static final int STATE_REPLY
- Replying, one of the response handlers functions have been called or an
an internal response is being constructed. The send_* interception
points are called in this state.
- See Also:
- Constant Field Values
STATE_COMPLETE
static final int STATE_COMPLETE
- Request has completed. Terminating state.
- See Also:
- Constant Field Values
orb
org.omg.CORBA.ORB orb()
- ORB reference.
channel
ServerChannel channel()
- Server channel
state
int state()
- Current request state.
object_key
byte[] object_key()
- Get the object_key for the request. This is always available.
get_reply_service_contexts
org.omg.IOP.ServiceContext[] get_reply_service_contexts()
- Get all request service contexts that have been set. Valid in REPLY and
COMPLETE.
is_locate
boolean is_locate()
- This returns true if this request is a locate request. Use replyLocate
to set the reply.
Interceptors are not called for locate requests.
ServerRequestInfo operations: arguments, exceptions, contexts,
operation_context, result, get_request_service_context,
get_reply_service_context, add_reply_service_context are not valid.
operation returns the empty string "", response_expected returns true.
Note the extra value for reply_status, UNKNOWN_OBJECT.
client_cancel
void client_cancel()
- Client intiated request cancelation. This may be called at any time to
indicate that a response from the request is no longer expected.
server_cancel
void server_cancel(java.lang.Throwable ex)
- Server intiated request cancelation. This may be called at any time apart
from during a find_adapter or dispatch call to indicate a server
initiated cancel. This will send a reply to the client.
begin_request
int begin_request()
- Called by the worker thread before every attempt to run the request. This
should call the recieve_request_service_context interception point.
- Returns:
- the state of the request.
adapter
int adapter(ObjectAdapter adapter)
- Set the object adapter and transfer to the QUEUED state. This is legal
only in the FIND_ADAPTER or COMPLETE states. If COMPLETE this has no effect.
- Returns:
- the state of the request. This will be either QUEUED or COMPLETE.
adapter
ObjectAdapter adapter()
- Server adapter. This operation is valid in all states apart from
CREATED. When a dispatch operation fails this will return the original
adapter.
dispatch
void dispatch()
throws AdapterDestroyedException
- Dispatch a request to it's destination. This is valid in the QUEUED state
Call predispatch on the adapter to locate the target, call the
receive_request interception points, enter the PROCESSING state and
dispatch the request through the adapter. If sync scope is
SYNC_WITH_SERVER an empty response will be sent before the request
is dispatched. When this function returns all the terminating
interception points will have been called, and state will be COMPLETE.
If the target adapter is destroyed between the find_adapter and dispatch
this function will return false and the CREATED state is re-entered, in
this case the find_adapter function will be called again once the
unregister adapter operation is called on the server manager with the
target adapter.
- Throws:
AdapterDestroyedException
argument_stream
org.omg.CORBA.portable.InputStream argument_stream()
- Get the request input stream. This function can be called only once
while in the PROCESSING state. The returned input stream may throw a
system exception if some problem occours while unmarshalling the request
arguments. This function, and the reply functions must be called by the
same thread, the thread that called the dispatch function.
createReply
org.omg.CORBA.portable.OutputStream createReply()
- Create a stream for marshaling the reply. The send_reply interception
points are called, if this results in a system exception the exception
is thrown, otherwise a stream is retured. The returned stream may raise
a system exception when attempting to write to it indicating a
transmission problem. Such an exception is not reported to interceptors.
This function is inherited from the ResponseHandler interface.
- Specified by:
createReply
in interface org.omg.CORBA.portable.ResponseHandler
createExceptionReply
org.omg.CORBA.portable.OutputStream createExceptionReply()
- Create a stream for marshaling a user exception. The send_exception
interception points are called, if this results in a system exception the
exception is thrown, otherwise a stream is retured. The returned stream
may raise a system exception when attempting to write to it indicating a
transmission problem. Such an exception is not reported to interceptors.
This function is inherited from the ResponseHandler interface.
- Specified by:
createExceptionReply
in interface org.omg.CORBA.portable.ResponseHandler
forward_reference_ior
org.omg.IOP.IOR forward_reference_ior()
- Get the ior associated with a forward reference. Calling this function
instead of forward_reference avoids creating an enclosing delegate/object.
This function is valid in REPLY and COMPLETE states where reply_status
would return LOCATION_FORWARD.
sending_system_exception
org.omg.CORBA.SystemException sending_system_exception()
- Get the system exception which would be contained in the any returned
from sending_exception. This function is valid in REPLY and COMPLETE
states where reply_status would return SYSTEM_EXCEPTION.
sending_system_exception_id
java.lang.String sending_system_exception_id()
- Get the ID of the system exception which would be contained in the
any returned from sending_exception. This function is valid in REPLY
and COMPLETE states where reply_status would return SYSTEM_EXCEPTION.