ResilientConnection represents a Qpid connection that is resilient.
More...
#include <qmf/engine/ResilientConnection.h>
List of all members.
Public Member Functions |
| | ResilientConnection (const ConnectionSettings &settings) |
| | Create a new resilient connection.
|
| | ~ResilientConnection () |
| bool | isConnected () const |
| | Get the connected status of the resilient connection.
|
| bool | getEvent (ResilientConnectionEvent &event) |
| | Get the next event (if present) from the connection.
|
| void | popEvent () |
| | Discard the event on the front of the queue.
|
| bool | createSession (const char *name, void *sessionContext, SessionHandle &handle) |
| | Create a new AMQP session.
|
| void | destroySession (SessionHandle handle) |
| | Destroy a created session.
|
| void | sendMessage (SessionHandle handle, Message &message) |
| | Send a message into the AMQP broker via a session.
|
| void | declareQueue (SessionHandle handle, char *queue) |
| | Declare an exclusive, auto-delete queue for a session.
|
| void | deleteQueue (SessionHandle handle, char *queue) |
| | Delete a queue.
|
| void | bind (SessionHandle handle, char *exchange, char *queue, char *key) |
| | Bind a queue to an exchange.
|
| void | unbind (SessionHandle handle, char *exchange, char *queue, char *key) |
| | Remove a binding.
|
| void | setNotifyFd (int fd) |
| | Establish a file descriptor for event notification.
|
| void | notify () |
| | Send a byte into the notify file descriptor.
|
Detailed Description
ResilientConnection represents a Qpid connection that is resilient.
Upon creation, ResilientConnection attempts to establish a connection to the messaging broker. If it fails, it will continue to retry at an interval that increases over time (to a maximum interval). If an extablished connection is dropped, a reconnect will be attempted.
Constructor & Destructor Documentation
| qmf::engine::ResilientConnection::ResilientConnection |
( |
const ConnectionSettings & |
settings | ) |
|
Create a new resilient connection.
- Parameters:
-
| settings | Settings that define how the connection is to be made. |
| delayMin | Minimum delay (in seconds) between retries. |
| delayMax | Maximum delay (in seconds) between retries. |
| delayFactor | Factor to multiply retry delay by after each failure. |
| qmf::engine::ResilientConnection::~ResilientConnection |
( |
| ) |
|
Member Function Documentation
| void qmf::engine::ResilientConnection::bind |
( |
SessionHandle |
handle, |
|
|
char * |
exchange, |
|
|
char * |
queue, |
|
|
char * |
key |
|
) |
| |
Bind a queue to an exchange.
- Parameters:
-
| handle | The session handle of the session to use for binding. |
| exchange | The name of the exchange for binding. |
| queue | The name of the queue for binding. |
| key | The binding key. |
| bool qmf::engine::ResilientConnection::createSession |
( |
const char * |
name, |
|
|
void * |
sessionContext, |
|
|
SessionHandle & |
handle |
|
) |
| |
Create a new AMQP session.
- Parameters:
-
| name | Unique name for the session. |
| sessionContext | Optional user-context value that will be provided in events pertaining to this session. |
| handle | Output handle to be stored and used in subsequent calls pertaining to this session. |
- Returns:
- true iff the session was successfully created.
| void qmf::engine::ResilientConnection::declareQueue |
( |
SessionHandle |
handle, |
|
|
char * |
queue |
|
) |
| |
Declare an exclusive, auto-delete queue for a session.
- Parameters:
-
| handle | The session handle for the owner of the queue. |
| queue | The name of the queue. |
| void qmf::engine::ResilientConnection::deleteQueue |
( |
SessionHandle |
handle, |
|
|
char * |
queue |
|
) |
| |
Delete a queue.
- Parameters:
-
| handle | The session handle for the owner of the queue. |
| queue | The name of the queue. |
| void qmf::engine::ResilientConnection::destroySession |
( |
SessionHandle |
handle | ) |
|
Destroy a created session.
- Parameters:
-
Get the next event (if present) from the connection.
- Parameters:
-
| event | Returned event if one is available. |
- Returns:
- true if event is valid, false if there are no more events to handle.
| bool qmf::engine::ResilientConnection::isConnected |
( |
| ) |
const |
Get the connected status of the resilient connection.
- Returns:
- true iff the connection is established.
| void qmf::engine::ResilientConnection::notify |
( |
| ) |
|
Send a byte into the notify file descriptor.
This can be used to wake up the event processing portion of the engine from either the wrapped implementation or the engine itself.
| void qmf::engine::ResilientConnection::popEvent |
( |
| ) |
|
Discard the event on the front of the queue.
This should be invoked after processing the event from getEvent.
Send a message into the AMQP broker via a session.
- Parameters:
-
| handle | The session handle of the session to transmit through. |
| message | The QMF message to transmit. |
| void qmf::engine::ResilientConnection::setNotifyFd |
( |
int |
fd | ) |
|
Establish a file descriptor for event notification.
- Parameters:
-
| fd | A file descriptor into which the connection shall write a character each time an event is enqueued. This fd may be in a pair, the other fd of which is used in a select loop to control execution. |
| void qmf::engine::ResilientConnection::unbind |
( |
SessionHandle |
handle, |
|
|
char * |
exchange, |
|
|
char * |
queue, |
|
|
char * |
key |
|
) |
| |
Remove a binding.
- Parameters:
-
| handle | The session handle of the session to use for un-binding. |
| exchange | The name of the exchange. |
| queue | The name of the queue. |
| key | The binding key. |
The documentation for this class was generated from the following file: