activemq-cpp-3.6.0
|
This type of transport filter is responsible for correlating asynchronous responses with requests. More...
#include <src/main/activemq/transport/correlator/ResponseCorrelator.h>
Public Member Functions | |
ResponseCorrelator (Pointer< Transport > next) | |
Creates a new ResponseCorrelator transport filter that wraps the given transport. | |
virtual | ~ResponseCorrelator () |
virtual void | oneway (const Pointer< Command > command) |
Sends a one-way command. | |
virtual Pointer< FutureResponse > | asyncRequest (const Pointer< Command > command, const Pointer< ResponseCallback > responseCallback) |
Sends a commands asynchronously, returning a FutureResponse object that the caller can use to check to find out the response from the broker. | |
virtual Pointer< Response > | request (const Pointer< Command > command) |
Sends the given command to the broker and then waits for the response. | |
virtual Pointer< Response > | request (const Pointer< Command > command, unsigned int timeout) |
Sends the given command to the broker and then waits for the response. | |
virtual void | onCommand (const Pointer< Command > command) |
This is called in the context of the nested transport's reading thread. | |
virtual void | onException (const decaf::lang::Exception &ex) |
Event handler for an exception from a command transport. | |
Public Member Functions inherited from activemq::transport::TransportFilter | |
TransportFilter (const Pointer< Transport > next) | |
Constructor. | |
virtual | ~TransportFilter () |
void | start () |
Starts the Transport, the send methods of a Transport will throw an exception if used before the Transport is started. | |
void | stop () |
Stops the Transport. | |
void | close () |
Closes this object and deallocates the appropriate resources. | |
virtual void | transportInterrupted () |
The transport has suffered an interruption from which it hopes to recover. | |
virtual void | transportResumed () |
The transport has resumed after an interruption. | |
virtual void | setTransportListener (TransportListener *listener) |
Sets the observer of asynchronous events from this transport. | |
virtual TransportListener * | getTransportListener () const |
Gets the observer of asynchronous events from this transport. | |
virtual Pointer < wireformat::WireFormat > | getWireFormat () const |
Gets the WireFormat instance that is in use by this transport. | |
virtual void | setWireFormat (const Pointer< wireformat::WireFormat > wireFormat) |
Sets the WireFormat instance to use. | |
virtual Transport * | narrow (const std::type_info &typeId) |
Narrows down a Chain of Transports to a specific Transport to allow a higher level transport to skip intermediate Transports in certain circumstances. | |
virtual bool | isFaultTolerant () const |
Is this Transport fault tolerant, meaning that it will reconnect to a broker on disconnect. | |
virtual bool | isConnected () const |
Is the Transport Connected to its Broker. | |
virtual bool | isReconnectSupported () const |
virtual bool | isUpdateURIsSupported () const |
virtual bool | isClosed () const |
Has the Transport been shutdown and no longer usable. | |
virtual std::string | getRemoteAddress () const |
virtual void | reconnect (const decaf::net::URI &uri) |
reconnect to another location | |
virtual void | updateURIs (bool rebalance, const decaf::util::List< decaf::net::URI > &uris) |
Updates the set of URIs the Transport can connect to. | |
Public Member Functions inherited from activemq::transport::Transport | |
virtual | ~Transport () |
Public Member Functions inherited from decaf::io::Closeable | |
virtual | ~Closeable () |
Public Member Functions inherited from activemq::transport::TransportListener | |
virtual | ~TransportListener () |
Protected Member Functions | |
virtual void | doClose () |
Subclasses can override this method to do their own close work. | |
Protected Member Functions inherited from activemq::transport::TransportFilter | |
void | checkClosed () const |
Throws an IOException if this filter chain has already been closed. | |
virtual void | beforeNextIsStarted () |
Subclasses can override this method to do their own startup work. | |
virtual void | afterNextIsStarted () |
Subclasses can override this method to do their own post startup work. | |
virtual void | beforeNextIsStopped () |
Subclasses can override this method to do their own pre-stop work. | |
virtual void | afterNextIsStopped () |
Subclasses can override this method to do their own stop work. |
Additional Inherited Members | |
Protected Attributes inherited from activemq::transport::TransportFilter | |
Pointer< Transport > | next |
The transport that this filter wraps around. | |
TransportListener * | listener |
Listener of this transport. |
This type of transport filter is responsible for correlating asynchronous responses with requests.
Non-response messages are simply sent directly to the CommandListener. It owns the transport that it
activemq::transport::correlator::ResponseCorrelator::ResponseCorrelator | ( | Pointer< Transport > | next | ) |
Creates a new ResponseCorrelator transport filter that wraps the given transport.
next | the next transport in the chain |
NullPointerException | if next if NULL. |
|
virtual |
|
virtual |
Sends a commands asynchronously, returning a FutureResponse object that the caller can use to check to find out the response from the broker.
command | The Command object that is to sent out. |
responseCallback | A callback object that will be notified once a response to the command is received. |
IOException | if an exception occurs during the read of the command. |
UnsupportedOperationException | if this method is not implemented by this transport. |
Reimplemented from activemq::transport::TransportFilter.
|
protectedvirtual |
Subclasses can override this method to do their own close work.
This method is always called after all the next transports have been closed to prevent this transport for destroying resources needed by the lower level transports.
Reimplemented from activemq::transport::TransportFilter.
|
virtual |
This is called in the context of the nested transport's reading thread.
In the case of a response object, updates the request map and notifies those waiting on the response. Non-response messages are just delegated to the command listener.
command | The received from the nested transport. |
Reimplemented from activemq::transport::TransportFilter.
|
virtual |
Sends a one-way command.
Does not wait for any response from the broker.
command | The command to be sent. |
IOException | if an exception occurs during writing of the command. |
UnsupportedOperationException | if this method is not implemented by this transport. |
Reimplemented from activemq::transport::TransportFilter.
|
virtual |
Event handler for an exception from a command transport.
source | The source of the exception. |
ex | The exception that was caught. |
Reimplemented from activemq::transport::TransportFilter.
|
virtual |
Sends the given command to the broker and then waits for the response.
command | the command to be sent. |
IOException | if an exception occurs during the read of the command. |
UnsupportedOperationException | if this method is not implemented by this transport. |
Reimplemented from activemq::transport::TransportFilter.
|
virtual |
Sends the given command to the broker and then waits for the response.
command | The command to be sent. |
timeout | The time to wait for this response. |
IOException | if an exception occurs during the read of the command. |
UnsupportedOperationException | if this method is not implemented by this transport. |
Reimplemented from activemq::transport::TransportFilter.