AWS SDK for C++  0.14.3
AWS SDK for C++
Public Member Functions | Protected Attributes | List of all members
Aws::Queues::Queue< MESSAGE_TYPE > Class Template Referenceabstract

#include <Queue.h>

Public Member Functions

 Queue (unsigned pollingFrequency)
 
virtual ~Queue ()
 
virtual MESSAGE_TYPE Top () const =0
 
virtual void Delete (const MESSAGE_TYPE &)=0
 
virtual void Push (const MESSAGE_TYPE &)=0
 
void StartPolling ()
 
void StopPolling ()
 
void SetMessageReceivedEventHandler (const MessageReceivedEventHandler &messageHandler)
 
void SetMessageDeleteFailedEventHandler (const MessageDeleteFailedEventHandler &messageHandler)
 
void SetMessageDeleteSuccessEventHandler (const MessageDeleteSuccessEventHandler &messageHandler)
 
void SetMessageSendFailedEventHandler (const MessageSendFailedEventHandler &messageHandler)
 
void SetMessageSendSuccessEventHandler (const MessageSendSuccessEventHandler &messageHandler)
 
void SetMessageReceivedEventHandler (MessageReceivedEventHandler &&messageHandler)
 
void SetMessageDeleteFailedEventHandler (MessageDeleteFailedEventHandler &&messageHandler)
 
void SetMessageDeleteSuccessEventHandler (MessageDeleteSuccessEventHandler &&messageHandler)
 
void SetMessageSendFailedEventHandler (MessageSendFailedEventHandler &&messageHandler)
 
void SetMessageSendSuccessEventHandler (MessageSendSuccessEventHandler &&messageHandler)
 
const MessageReceivedEventHandler & GetMessageReceivedEventHandler () const
 
const MessageDeleteFailedEventHandler & GetMessageDeleteFailedEventHandler () const
 
const MessageDeleteSuccessEventHandler & GetMessageDeleteSuccessEventHandler () const
 
const MessageSendFailedEventHandler & GetMessageSendFailedEventHandler () const
 
const MessageSendSuccessEventHandler & GetMessageSendSuccessEventHandler () const
 

Protected Attributes

std::atomic< bool > m_continue
 

Detailed Description

template<typename MESSAGE_TYPE>
class Aws::Queues::Queue< MESSAGE_TYPE >

Simple queue class. Allows standard queue operations top, delete, and push. Also has higher level, asynchronous interface with callbacks.

Definition at line 34 of file Queue.h.

Constructor & Destructor Documentation

template<typename MESSAGE_TYPE>
Aws::Queues::Queue< MESSAGE_TYPE >::Queue ( unsigned  pollingFrequency)
inline

You are responsible for calling StartPolling() if you intend to use the asynchronous pattern.

the value of pollingFrequency is how long to wait between queue polls. If the queue poll exceeds this limit then the next poll will start immediately upon completion of the existing poll, this value is useful only if you intend to use this instance for the asynchronous polling model.

Definition at line 49 of file Queue.h.

template<typename MESSAGE_TYPE>
virtual Aws::Queues::Queue< MESSAGE_TYPE >::~Queue ( )
inlinevirtual

Definition at line 54 of file Queue.h.

Member Function Documentation

template<typename MESSAGE_TYPE>
virtual void Aws::Queues::Queue< MESSAGE_TYPE >::Delete ( const MESSAGE_TYPE &  )
pure virtual

Implemented in Aws::Queues::Sqs::SQSQueue.

template<typename MESSAGE_TYPE>
const MessageDeleteFailedEventHandler& Aws::Queues::Queue< MESSAGE_TYPE >::GetMessageDeleteFailedEventHandler ( ) const
inline

Definition at line 106 of file Queue.h.

template<typename MESSAGE_TYPE>
const MessageDeleteSuccessEventHandler& Aws::Queues::Queue< MESSAGE_TYPE >::GetMessageDeleteSuccessEventHandler ( ) const
inline

Definition at line 107 of file Queue.h.

template<typename MESSAGE_TYPE>
const MessageReceivedEventHandler& Aws::Queues::Queue< MESSAGE_TYPE >::GetMessageReceivedEventHandler ( ) const
inline

Definition at line 105 of file Queue.h.

template<typename MESSAGE_TYPE>
const MessageSendFailedEventHandler& Aws::Queues::Queue< MESSAGE_TYPE >::GetMessageSendFailedEventHandler ( ) const
inline

Definition at line 108 of file Queue.h.

template<typename MESSAGE_TYPE>
const MessageSendSuccessEventHandler& Aws::Queues::Queue< MESSAGE_TYPE >::GetMessageSendSuccessEventHandler ( ) const
inline

Definition at line 109 of file Queue.h.

template<typename MESSAGE_TYPE>
virtual void Aws::Queues::Queue< MESSAGE_TYPE >::Push ( const MESSAGE_TYPE &  )
pure virtual

Implemented in Aws::Queues::Sqs::SQSQueue.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageDeleteFailedEventHandler ( const MessageDeleteFailedEventHandler &  messageHandler)
inline

Definition at line 94 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageDeleteFailedEventHandler ( MessageDeleteFailedEventHandler &&  messageHandler)
inline

Definition at line 100 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageDeleteSuccessEventHandler ( const MessageDeleteSuccessEventHandler &  messageHandler)
inline

Definition at line 95 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageDeleteSuccessEventHandler ( MessageDeleteSuccessEventHandler &&  messageHandler)
inline

Definition at line 101 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageReceivedEventHandler ( const MessageReceivedEventHandler &  messageHandler)
inline

Definition at line 93 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageReceivedEventHandler ( MessageReceivedEventHandler &&  messageHandler)
inline

Definition at line 99 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageSendFailedEventHandler ( const MessageSendFailedEventHandler &  messageHandler)
inline

Definition at line 96 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageSendFailedEventHandler ( MessageSendFailedEventHandler &&  messageHandler)
inline

Definition at line 102 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageSendSuccessEventHandler ( const MessageSendSuccessEventHandler &  messageHandler)
inline

Definition at line 97 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::SetMessageSendSuccessEventHandler ( MessageSendSuccessEventHandler &&  messageHandler)
inline

Definition at line 103 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::StartPolling ( )
inline

Starts a polling thread in the background. You will need to register OnMessageReceived to receive the messages. This method can be called after StopPolling to resume polling after being paused.

Definition at line 68 of file Queue.h.

template<typename MESSAGE_TYPE>
void Aws::Queues::Queue< MESSAGE_TYPE >::StopPolling ( )
inline

Stops the polling thread. Messages in transit will be handled before termination of the thread. Will be called by the destructor so only call this if you want control over when the thread exits. This method blocks waiting on the polling thread to stop. After being called, the StartPolling() method can be called, and the thread will resume.

Definition at line 83 of file Queue.h.

template<typename MESSAGE_TYPE>
virtual MESSAGE_TYPE Aws::Queues::Queue< MESSAGE_TYPE >::Top ( ) const
pure virtual

Implemented in Aws::Queues::Sqs::SQSQueue.

Member Data Documentation

template<typename MESSAGE_TYPE>
std::atomic<bool> Aws::Queues::Queue< MESSAGE_TYPE >::m_continue
protected

Definition at line 112 of file Queue.h.


The documentation for this class was generated from the following file: