40 inline operator bool()
const {
return !m_failure; }
53 m_internalError = EventStreamErrors::EVENT_STREAM_NO_ERROR;
54 m_headersBytesReceived = 0;
55 m_payloadBytesReceived = 0;
73 return m_internalError;
84 return m_message.GetHeadersLength() == m_headersBytesReceived && m_message.GetPayloadLength() == m_payloadBytesReceived;
90 inline virtual void SetMessageMetadata(
size_t totalLength,
size_t headersLength,
size_t payloadLength)
92 m_message.SetTotalLength(totalLength);
93 m_message.SetHeadersLength(headersLength);
94 m_message.SetPayloadLength(payloadLength);
95 assert(totalLength == 12 + headersLength + payloadLength + 4);
96 if (totalLength != headersLength + payloadLength + 16)
98 AWS_LOG_WARN(
"EventStreamHandler",
"Message total length mismatch.");
107 m_message.WriteEventPayload(data, dataLength);
108 m_payloadBytesReceived += dataLength;
126 m_message.InsertEventHeader(eventHeaderName, eventHeaderValue);
127 m_headersBytesReceived += eventHeaderLength;
141 size_t m_headersBytesReceived;
142 size_t m_payloadBytesReceived;
#define AWS_LOG_WARN(tag,...)
virtual void SetMessageMetadata(size_t totalLength, size_t headersLength, size_t payloadLength)
virtual bool IsMessageCompleted()
void SetInternalError(int errorCode=0)
virtual Aws::Vector< unsigned char > && GetEventPayloadWithOwnership()
virtual ~EventStreamHandler()=default
virtual void InsertMessageEventHeader(const String &eventHeaderName, size_t eventHeaderLength, const Aws::Utils::Event::EventHeaderValue &eventHeaderValue)
virtual Aws::String GetEventPayloadAsString()
EventStreamErrors GetInternalError()
virtual void WriteMessageEventPayload(const unsigned char *data, size_t dataLength)
virtual const Aws::Utils::Event::EventHeaderValueCollection & GetEventHeaders()
Aws::Map< Aws::String, EventHeaderValue > EventHeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector