IT_Bus::MessagingServerOperation Class Reference

Inheritance diagram for IT_Bus::MessagingServerOperation:

IT_Bus::ServerOperation IT_Bus::ServerOperationPassThrough IT_Bus::Operation List of all members.

Detailed Description

Definition at line 23 of file messaging_server_operation.h.

Public Member Functions

 MessagingServerOperation (MessageReader &message_reader, MessageWriter *message_writer, const IT_WSDL::WSDLPort &wsdl_port, const IT_WSDL::WSDLOperation &wsdl_operation, MessagingPort &messaging_port, BusContextRegistry &context_registry, ContextContainer *request_contexts, ContextContainer *reply_contexts)
virtual ReadableMessageget_input_message ()
 Return the input message encapsulated within this server operation object.
virtual WritableMessageget_output_message ()
 Return the output message encapsulated within this server operation object.
virtual ContextContainerrequest_contexts ()
 Returns a pointer to the IT_Bus::ContextContainer that holds request contexts.
virtual ContextContainerreply_contexts ()
 Returns a pointer to the IT_Bus::ContextContainer that holds reply contexts.
virtual void read ()
 Read the values from the underlying transport into the message parts of this server operation.
virtual void write ()
 Write the values of the message parts of this server operation into the underlying transport.
void exception_occured ()
 If an exception occurs then write() is never called.
virtual ServerOperationPassThroughget_server_pass_through ()
 Get access to the Message Buffers if available in order to optimise unmarshalling or avoid it.
BinaryBufferget_passthru_reply ()
 Gives user access to the Message Reply Buffer if pass_thru is supported.
BinaryBufferget_passthru_request ()
 Gives user access to the Message Request Buffer if pass_thru is supported.
void enable_passthru ()
 Tells the Server Operation to skip marshalling.
CorrelationId get_correlation_id () const
 Return a unique identifier for this operation.
void set_reply_contexts (ContextContainer *container)

Private Attributes

MessageWriterm_message_writer
MessageReaderm_message_reader
TransportWritableMessage m_output_message
TransportReadableMessage m_input_message
MessagingPortm_messaging_port
BusContextRegistry & m_context_registry
ContextContainerm_request_contexts
ContextContainerm_reply_contexts
BinaryBufferm_passthru_request_buffer
BinaryBufferm_passthru_reply_buffer
bool m_passthru_enabled
bool m_contexts_in_tls
SendMessageContextm_message_context
DispatchInfom_dispatch_context
bool m_async_dispatch


Constructor & Destructor Documentation

IT_Bus::MessagingServerOperation::MessagingServerOperation ( MessageReader message_reader,
MessageWriter message_writer,
const IT_WSDL::WSDLPort wsdl_port,
const IT_WSDL::WSDLOperation wsdl_operation,
MessagingPort messaging_port,
BusContextRegistry &  context_registry,
ContextContainer request_contexts,
ContextContainer reply_contexts 
)

Parameters:
message_reader read the request message.
message_writer write the response message.
response_buffer response written directly to this buffer in routing pass-through mode.
wsdl_port WSDL port receiving the request.
wsdl_operation WSDL operation being invoked.


Member Function Documentation

void IT_Bus::MessagingServerOperation::exception_occured (  )  [virtual]

If an exception occurs then write() is never called.

exception_occured() is called to allow the server operation to perform cleanup actions in this case.

Implementation of this method is contained in subclasses of the ServerOperation class.

Reimplemented from IT_Bus::ServerOperation.

CorrelationId IT_Bus::MessagingServerOperation::get_correlation_id (  )  const [virtual]

Return a unique identifier for this operation.

This can be used to correlate request and response in a ServerRequestInterceptors pre and post dispatch intercept points.

Implements IT_Bus::ServerOperation.

virtual ReadableMessage& IT_Bus::MessagingServerOperation::get_input_message (  )  [virtual]

Return the input message encapsulated within this server operation object.

Returns:
A reference to an IT_Bus::ReadableMessage instance.

Implements IT_Bus::ServerOperation.

virtual WritableMessage& IT_Bus::MessagingServerOperation::get_output_message (  )  [virtual]

Return the output message encapsulated within this server operation object.

Returns:
A reference to an IT_Bus::WritableMessage instance.

Implements IT_Bus::ServerOperation.

BinaryBuffer* IT_Bus::MessagingServerOperation::get_passthru_reply (  )  [virtual]

Gives user access to the Message Reply Buffer if pass_thru is supported.

This tells the server to use this Buffer when sending a response message and to avoid marshalling from the the message parts. The call returns zero if underlying binding doesn't support passthru.

Returns:
Pointer to a BinaryBuffer.

Implements IT_Bus::ServerOperationPassThrough.

BinaryBuffer* IT_Bus::MessagingServerOperation::get_passthru_request (  )  [virtual]

Gives user access to the Message Request Buffer if pass_thru is supported.

This tells the server to avoid marshalling the Buffer into the message parts. The call returns zero if underlying binding doesn't support passthru.

Returns:
Pointer to a BinaryBuffer.

Implements IT_Bus::ServerOperationPassThrough.

virtual ServerOperationPassThrough* IT_Bus::MessagingServerOperation::get_server_pass_through (  )  [virtual]

Get access to the Message Buffers if available in order to optimise unmarshalling or avoid it.

Returns 0 if Operation doesn't support pass thru.

Returns:
Pointer to an IT_Bus::ServerOperationPassThrough instance.

Implements IT_Bus::ServerOperation.

virtual void IT_Bus::MessagingServerOperation::read (  )  [virtual]

Read the values from the underlying transport into the message parts of this server operation.

Implements IT_Bus::ServerOperation.

virtual ContextContainer* IT_Bus::MessagingServerOperation::reply_contexts (  )  [virtual]

Returns a pointer to the IT_Bus::ContextContainer that holds reply contexts.

Returns:
Pointer to an IT_Bus::ContextContainer instance.

Implements IT_Bus::ServerOperation.

virtual ContextContainer* IT_Bus::MessagingServerOperation::request_contexts (  )  [virtual]

Returns a pointer to the IT_Bus::ContextContainer that holds request contexts.

Returns:
Pointer to an IT_Bus::ContextContainer instance.

Implements IT_Bus::ServerOperation.


Generated on Thu Sep 7 11:40:20 2006 for Artix by  doxygen 1.4.7