AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | List of all members
alexaClientSDK::acl::MessageRequestQueueInterface Class Referenceabstract

#include <MessageRequestQueueInterface.h>

Inheritance diagram for alexaClientSDK::acl::MessageRequestQueueInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~MessageRequestQueueInterface ()=default
 
virtual void enqueueRequest (std::shared_ptr< avsCommon::avs::MessageRequest > messageRequest)=0
 
virtual avsCommon::utils::Optional< std::chrono::time_point< std::chrono::steady_clock > > peekRequestTime ()=0
 
virtual std::shared_ptr< avsCommon::avs::MessageRequestdequeueOldestRequest ()=0
 
virtual std::shared_ptr< avsCommon::avs::MessageRequestdequeueSendableRequest ()=0
 
virtual bool isMessageRequestAvailable () const =0
 
virtual void setWaitingForSendAcknowledgement ()=0
 
virtual void clearWaitingForSendAcknowledgement ()=0
 
virtual bool empty () const =0
 
virtual void clear ()=0
 

Detailed Description

An interface that abstracts queueing MessageRequests.

Constructor & Destructor Documentation

◆ ~MessageRequestQueueInterface()

virtual alexaClientSDK::acl::MessageRequestQueueInterface::~MessageRequestQueueInterface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ clear()

virtual void alexaClientSDK::acl::MessageRequestQueueInterface::clear ( )
pure virtual

◆ clearWaitingForSendAcknowledgement()

virtual void alexaClientSDK::acl::MessageRequestQueueInterface::clearWaitingForSendAcknowledgement ( )
pure virtual

Clear the flag indicating that the queue is waiting for a send to be acknowledged.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ dequeueOldestRequest()

virtual std::shared_ptr<avsCommon::avs::MessageRequest> alexaClientSDK::acl::MessageRequestQueueInterface::dequeueOldestRequest ( )
pure virtual

Dequeues the oldest MessageRequest regardless of whether or not the queue is waiting for a response.

Returns
MessageRequest if available, else return nullptr.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ dequeueSendableRequest()

virtual std::shared_ptr<avsCommon::avs::MessageRequest> alexaClientSDK::acl::MessageRequestQueueInterface::dequeueSendableRequest ( )
pure virtual

Dequeues the next available MessageRequest taking into account if the queue is waiting for a response to a previously sent message and if any messages that do not care about sequencing are in the queue.

Returns
MessageRequest if available, else return nullptr.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ empty()

virtual bool alexaClientSDK::acl::MessageRequestQueueInterface::empty ( ) const
pure virtual

Checks if there are any queued MessageRequests.

Returns
true if there are no messageRequests in the queue, else false.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ enqueueRequest()

virtual void alexaClientSDK::acl::MessageRequestQueueInterface::enqueueRequest ( std::shared_ptr< avsCommon::avs::MessageRequest messageRequest)
pure virtual

◆ isMessageRequestAvailable()

virtual bool alexaClientSDK::acl::MessageRequestQueueInterface::isMessageRequestAvailable ( ) const
pure virtual

This method checks if there is a MessageRequest available to be sent.

Returns
true if MessageRequest is available to be sent, else false.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ peekRequestTime()

virtual avsCommon::utils::Optional<std::chrono::time_point<std::chrono::steady_clock> > alexaClientSDK::acl::MessageRequestQueueInterface::peekRequestTime ( )
pure virtual

Peek at the next item in the queue and retrieve the time that the request was queued.

Returns
The time that the next request (if any) was queued.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.

◆ setWaitingForSendAcknowledgement()

virtual void alexaClientSDK::acl::MessageRequestQueueInterface::setWaitingForSendAcknowledgement ( )
pure virtual

Sets the flag indicating that the queue is waiting for a send to be acknowledged.

Implemented in alexaClientSDK::acl::SynchronizedMessageRequestQueue, and alexaClientSDK::acl::MessageRequestQueue.


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

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0