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. |
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.
virtual ContextContainer* IT_Bus::MessagingServerOperation::request_contexts | ( | ) | [virtual] |
Returns a pointer to the IT_Bus::ContextContainer that holds request contexts.
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 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.
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.
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.
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.
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.