in source/mqtt/MqttClient.cpp [619:646]
uint16_t MqttConnection::Unsubscribe(
const char *topicFilter,
OnOperationCompleteHandler &&onOpComplete) noexcept
{
auto opCompleteCallbackData = Crt::New<OpCompleteCallbackData>(m_owningClient->allocator);
if (!opCompleteCallbackData)
{
return 0;
}
opCompleteCallbackData->connection = this;
opCompleteCallbackData->allocator = m_owningClient->allocator;
opCompleteCallbackData->onOperationComplete = std::move(onOpComplete);
opCompleteCallbackData->topic = nullptr;
ByteBuf topicFilterBuf = aws_byte_buf_from_c_str(topicFilter);
ByteCursor topicFilterCur = aws_byte_cursor_from_buf(&topicFilterBuf);
uint16_t packetId = aws_mqtt_client_connection_unsubscribe(
m_underlyingConnection, &topicFilterCur, s_onOpComplete, opCompleteCallbackData);
if (!packetId)
{
Crt::Delete(opCompleteCallbackData, m_owningClient->allocator);
}
return packetId;
}