AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Functions | Variables
HTTP2Transport.cpp File Reference
#include <chrono>
#include <functional>
#include <AVSCommon/Utils/Error/FinallyGuard.h>
#include <AVSCommon/Utils/HTTP2/HTTP2MimeRequestEncoder.h>
#include <AVSCommon/Utils/Logger/Logger.h>
#include <AVSCommon/Utils/Metrics/MetricEventBuilder.h>
#include <AVSCommon/Utils/Metrics/DataPointCounterBuilder.h>
#include <AVSCommon/Utils/Power/PowerMonitor.h>
#include <ACL/Transport/PostConnectInterface.h>
#include "ACL/Transport/DownchannelHandler.h"
#include "ACL/Transport/HTTP2Transport.h"
#include "ACL/Transport/MessageRequestHandler.h"
#include "ACL/Transport/PingHandler.h"
#include "ACL/Transport/TransportDefines.h"
Include dependency graph for HTTP2Transport.cpp:

Namespaces

 alexaClientSDK
 Whether or not curl logs should be emitted.
 
 alexaClientSDK::acl
 

Macros

#define LX(event)   alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)
 
#define LX_P(event)   LX(event).p("this", this).sensitive("gateway", m_avsGateway)
 

Functions

static const std::string alexaClientSDK::acl::TAG ("HTTP2Transport")
 String to identify log entries originating from this file. More...
 
static void alexaClientSDK::acl::submitDisconnectReasonMetric (const std::shared_ptr< MetricRecorderInterface > &metricRecorder, ConnectionStatusObserverInterface::ChangedReason reason)
 
static void alexaClientSDK::acl::submitMessageSendErrorMetric (const std::shared_ptr< MetricRecorderInterface > &metricRecorder, MessageRequestObserverInterface::Status status)
 
std::ostream & alexaClientSDK::acl::operator<< (std::ostream &stream, HTTP2Transport::State state)
 

Variables

static const int alexaClientSDK::acl::MAX_STREAMS = 10
 
static const int alexaClientSDK::acl::MAX_MESSAGE_HANDLERS = MAX_STREAMS - 2
 Max number of message requests MAX_STREAMS - 2 (for the downchannel stream and the ping stream) More...
 
static std::chrono::minutes alexaClientSDK::acl::INACTIVITY_TIMEOUT {5}
 Timeout to send a ping to AVS if there has not been any other acitivity on the connection. More...
 
static const std::chrono::seconds alexaClientSDK::acl::MESSAGE_QUEUE_TIMEOUT = std::chrono::seconds(15)
 Max time a MessageRequest should linger unprocessed before it should be consider TIMEDOUT. More...
 
static const std::string alexaClientSDK::acl::HTTP2TRANSPORT_METRIC_SOURCE_PREFIX = "HTTP2TRANSPORT-"
 Prefix used to identify metrics published by this module. More...
 
static const std::string alexaClientSDK::acl::MESSAGE_SEND_ERROR = "ERROR.MESSAGE_SEND_FAILED"
 Metric identifier for message send error. More...
 
static const std::string alexaClientSDK::acl::DISCONNECT_REASON = "DISCONNECT_REASON"
 Metric identifier for disconnect reason. More...
 

Macro Definition Documentation

◆ LX

#define LX (   event)    alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)

Create a LogEntry using this file's TAG and the specified event string.

Parameters
Theevent string for this LogEntry.

◆ LX_P

#define LX_P (   event)    LX(event).p("this", this).sensitive("gateway", m_avsGateway)

Create a LogEntry using this file's TAG and the specified event string. With the first entry being the instance memory location, and the second entry is a gateway URL.

Parameters
eventThe event string for this LogEntry.

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