qmf::engine::ResilientConnection Class Reference
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.
|
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.
Definition at line 62 of file ResilientConnection.h.
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::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: