Inheritance diagram for IT_Bus::MessagingServerOperation:
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 ReadableMessage & | get_input_message () |
Return the input message encapsulated within this server operation object. | |
virtual WritableMessage & | get_output_message () |
Return the output message encapsulated within this server operation object. | |
virtual ContextContainer * | request_contexts () |
Returns a pointer to the IT_Bus::ContextContainer that holds request contexts. | |
virtual ContextContainer * | reply_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 ServerOperationPassThrough * | get_server_pass_through () |
Get access to the Message Buffers if available in order to optimise unmarshalling or avoid it. | |
BinaryBuffer * | get_passthru_reply () |
Gives user access to the Message Reply Buffer if pass_thru is supported. | |
BinaryBuffer * | get_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 | |
MessageWriter * | m_message_writer |
MessageReader & | m_message_reader |
TransportWritableMessage | m_output_message |
TransportReadableMessage | m_input_message |
MessagingPort & | m_messaging_port |
BusContextRegistry & | m_context_registry |
ContextContainer * | m_request_contexts |
ContextContainer * | m_reply_contexts |
BinaryBuffer * | m_passthru_request_buffer |
BinaryBuffer * | m_passthru_reply_buffer |
bool | m_passthru_enabled |
bool | m_contexts_in_tls |
SendMessageContext * | m_message_context |
DispatchInfo * | m_dispatch_context |
bool | m_async_dispatch |
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 | |||
) |
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. |
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.
Implements IT_Bus::ServerOperation.
virtual WritableMessage& IT_Bus::MessagingServerOperation::get_output_message | ( | ) | [virtual] |
Return the output message encapsulated within this server operation object.
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.
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.
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.
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.
Implements IT_Bus::ServerOperation.
virtual ContextContainer* IT_Bus::MessagingServerOperation::request_contexts | ( | ) | [virtual] |
Returns a pointer to the IT_Bus::ContextContainer that holds request contexts.
Implements IT_Bus::ServerOperation.