AlexaClientSDK
3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
|
#include <DefaultAttachmentReader.h>
Public Member Functions | |
~DefaultAttachmentReader () | |
AttachmentReader methods. | |
std::size_t | read (void *buf, std::size_t numBytes, ReadStatus *readStatus, std::chrono::milliseconds timeoutMs=std::chrono::milliseconds(0)) override |
void | close (ClosePoint closePoint=ClosePoint::AFTER_DRAINING_CURRENT_BUFFER) override |
bool | seek (uint64_t offset) override |
uint64_t | getNumUnreadBytes () override |
Public Member Functions inherited from alexaClientSDK::avsCommon::avs::attachment::AttachmentReader | |
virtual | ~AttachmentReader ()=default |
Static Public Member Functions | |
static std::unique_ptr< AttachmentReader > | create (typename SDSType::Reader::Policy policy, std::shared_ptr< SDSType > sds, typename SDSType::Index offset=0, typename SDSType::Reader::Reference reference=SDSType::Reader::Reference::ABSOLUTE, bool resetOnOverrun=false) |
Additional Inherited Members | |
Public Types inherited from alexaClientSDK::avsCommon::avs::attachment::AttachmentReader | |
enum | ReadStatus { ReadStatus::OK, ReadStatus::OK_WOULDBLOCK, ReadStatus::OK_TIMEDOUT, ReadStatus::OK_OVERRUN_RESET, ReadStatus::CLOSED, ReadStatus::ERROR_OVERRUN, ReadStatus::ERROR_BYTES_LESS_THAN_WORD_SIZE, ReadStatus::ERROR_INTERNAL } |
enum | ClosePoint { ClosePoint::IMMEDIATELY, ClosePoint::AFTER_DRAINING_CURRENT_BUFFER } |
An enum class to indicate when the read() function should stop returning data after a call to close() . More... | |
A class that provides functionality to read data from an Attachment
.
alexaClientSDK::avsCommon::avs::attachment::DefaultAttachmentReader< SDSType >::~DefaultAttachmentReader | ( | ) |
Destructor.
|
overridevirtual |
The close function. An implementation will take care of any resource management when a reader no longer needs to use an attachment.
closePoint | The point at which the reader should stop reading from the attachment. |
Implements alexaClientSDK::avsCommon::avs::attachment::AttachmentReader.
|
static |
Create an AttachmentReader.
policy | The policy this reader should adhere to. |
sds | The underlying SharedDataStream which this object will use. |
offset | If being constructed from an existing SharedDataStream , the index indicates where to read from. This parameter defaults to 0, indicating no offset from the specified reference. |
reference | The position in the stream offset is applied to. This parameter defaults to ABSOLUTE , indicating offset is relative to the very beginning of the Attachment. |
resetOnOverrun | If overrun is detected on read , whether to close the attachment (default behavior) or to reset the read position to where current write position is (and skip all the bytes in between). |
|
overridevirtual |
Utility function to return the number of bytes in an attachment.
Implements alexaClientSDK::avsCommon::avs::attachment::AttachmentReader.
|
overridevirtual |
The read function.
buf | The buffer where data should be copied to. | |
numBytes | The size of the buffer in bytes. | |
[out] | readStatus | The out-parameter where the resulting state of the read will be expressed. |
timeoutMs | The timeout for this read call in milliseconds. This value is only used for the BLOCKING reader policy. If this parameter is zero, there is no timeout and blocking reads will wait forever. |
Implements alexaClientSDK::avsCommon::avs::attachment::AttachmentReader.
|
overridevirtual |
The seek function.
offset | The offset to seek to within the Attachment . |
true
if the specified position points at unexpired data, or false
otherwise. Note that it is valid to seek into a future index that has not been written to yet. Implements alexaClientSDK::avsCommon::avs::attachment::AttachmentReader.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0