From 115ab4163100cb43f6db05ba3b1aab2253046887 Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Tue, 27 May 2025 13:23:49 -0700 Subject: [PATCH 1/3] Replace std::make_shared with Crt::MakeShared --- samples/commands/commands-sandbox/main.cpp | 4 +-- .../mqtt5_fleet_provisioning/main.cpp | 3 +- .../jobs/mqtt5_job_execution/main.cpp | 3 +- .../shadow/mqtt5_shadow_sync/main.cpp | 3 +- .../mqtt5_basic_report/main.cpp | 3 +- samples/mqtt5/mqtt5_pubsub/main.cpp | 16 ++++++---- .../mqtt5/mqtt5_shared_subscription/main.cpp | 19 ++++++++---- .../secure_tunneling/secure_tunnel/main.cpp | 6 ++-- secure_tunneling/source/SecureTunnel.cpp | 30 +++++++++---------- secure_tunneling/tests/main.cpp | 4 +-- servicetests/tests/FleetProvisioning/main.cpp | 9 ++++-- servicetests/tests/JobsExecution/main.cpp | 7 +++-- servicetests/tests/ShadowUpdate/main.cpp | 7 +++-- 13 files changed, 69 insertions(+), 45 deletions(-) diff --git a/samples/commands/commands-sandbox/main.cpp b/samples/commands/commands-sandbox/main.cpp index 89ddab18e4..88e84ccdfa 100644 --- a/samples/commands/commands-sandbox/main.cpp +++ b/samples/commands/commands-sandbox/main.cpp @@ -251,8 +251,8 @@ int main(int argc, char *argv[]) requestResponseOptions.WithOperationTimeoutInSeconds(30); auto commandClient = Aws::Iotcommands::NewClientFrom5(*protocolClient, requestResponseOptions); - auto commandStreamHandler = - std::make_shared(std::move(commandClient)); + auto commandStreamHandler = Aws::Crt::MakeShared( + Aws::Crt::DefaultAllocatorImplementation(), std::move(commandClient)); protocolClient->Start(); auto isConnected = connectedWaiter.get_future().get(); diff --git a/samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning/main.cpp b/samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning/main.cpp index ced729bf1f..d9a80ceeae 100644 --- a/samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning/main.cpp +++ b/samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning/main.cpp @@ -95,7 +95,8 @@ std::shared_ptr createMqtt5Client(const Utils::cmd } // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) diff --git a/samples/deprecated/jobs/mqtt5_job_execution/main.cpp b/samples/deprecated/jobs/mqtt5_job_execution/main.cpp index 37795de3e9..db803ef08e 100644 --- a/samples/deprecated/jobs/mqtt5_job_execution/main.cpp +++ b/samples/deprecated/jobs/mqtt5_job_execution/main.cpp @@ -70,7 +70,8 @@ int main(int argc, char *argv[]) } // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) diff --git a/samples/deprecated/shadow/mqtt5_shadow_sync/main.cpp b/samples/deprecated/shadow/mqtt5_shadow_sync/main.cpp index 34f807a19f..996702e12b 100644 --- a/samples/deprecated/shadow/mqtt5_shadow_sync/main.cpp +++ b/samples/deprecated/shadow/mqtt5_shadow_sync/main.cpp @@ -116,7 +116,8 @@ int main(int argc, char *argv[]) } // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) diff --git a/samples/device_defender/mqtt5_basic_report/main.cpp b/samples/device_defender/mqtt5_basic_report/main.cpp index 6bbddf3911..cb628d2d63 100644 --- a/samples/device_defender/mqtt5_basic_report/main.cpp +++ b/samples/device_defender/mqtt5_basic_report/main.cpp @@ -123,7 +123,8 @@ int main(int argc, char *argv[]) }); // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); clientConfigBuilder->WithConnectOptions(connectOptions); diff --git a/samples/mqtt5/mqtt5_pubsub/main.cpp b/samples/mqtt5/mqtt5_pubsub/main.cpp index 070797c604..8afb579c3f 100644 --- a/samples/mqtt5/mqtt5_pubsub/main.cpp +++ b/samples/mqtt5/mqtt5_pubsub/main.cpp @@ -47,7 +47,8 @@ int main(int argc, char *argv[]) } // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) @@ -156,7 +157,8 @@ int main(int argc, char *argv[]) Mqtt5::Subscription sub1(cmdData.input_topic, Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); sub1.WithNoLocal(false); - std::shared_ptr subPacket = std::make_shared(); + std::shared_ptr subPacket = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); subPacket->WithSubscription(std::move(sub1)); if (client->Subscribe(subPacket, onSubAck)) @@ -201,8 +203,11 @@ int main(int argc, char *argv[]) String message = "\"" + cmdData.input_message + std::to_string(publishedCount + 1).c_str() + "\""; ByteCursor payload = ByteCursorFromString(message); - std::shared_ptr publish = std::make_shared( - cmdData.input_topic, payload, Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); + std::shared_ptr publish = Aws::Crt::MakeShared( + Aws::Crt::DefaultAllocatorImplementation(), + cmdData.input_topic, + payload, + Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); if (client->Publish(publish, onPublishComplete)) { ++publishedCount; @@ -218,7 +223,8 @@ int main(int argc, char *argv[]) // Unsubscribe from the topic. std::promise unsubscribeFinishedPromise; - std::shared_ptr unsub = std::make_shared(); + std::shared_ptr unsub = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); unsub->WithTopicFilter(cmdData.input_topic); if (!client->Unsubscribe(unsub, [&](int, std::shared_ptr) { unsubscribeFinishedPromise.set_value(); diff --git a/samples/mqtt5/mqtt5_shared_subscription/main.cpp b/samples/mqtt5/mqtt5_shared_subscription/main.cpp index 88a2c9fd2e..7a9e3188b2 100644 --- a/samples/mqtt5/mqtt5_shared_subscription/main.cpp +++ b/samples/mqtt5/mqtt5_shared_subscription/main.cpp @@ -42,7 +42,8 @@ class sample_mqtt5_client String input_clientId, String input_clientName) { - std::shared_ptr result = std::make_shared(); + std::shared_ptr result = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); result->name = input_clientName; auto builder = std::unique_ptr( @@ -57,7 +58,8 @@ class sample_mqtt5_client { builder->WithCertificateAuthority(input_ca.c_str()); } - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(input_clientId); builder->WithConnectOptions(connectOptions); @@ -260,7 +262,8 @@ int main(int argc, char *argv[]) }; Mqtt5::Subscription sub1(input_sharedTopic, Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); sub1.WithNoLocal(false); - std::shared_ptr subPacket = std::make_shared(); + std::shared_ptr subPacket = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); subPacket->WithSubscription(std::move(sub1)); if (subscriberOne->client->Subscribe(subPacket, onSubAck)) @@ -348,8 +351,11 @@ int main(int argc, char *argv[]) // Add \" to 'JSON-ify' the message String message = "\"" + cmdData.input_message + std::to_string(publishedCount + 1).c_str() + "\""; ByteCursor payload = ByteCursorFromString(message); - std::shared_ptr publish = std::make_shared( - cmdData.input_topic, payload, Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); + std::shared_ptr publish = Aws::Crt::MakeShared( + Aws::Crt::DefaultAllocatorImplementation(), + cmdData.input_topic, + payload, + Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); if (publisher->client->Publish(publish, onPublishComplete)) { ++publishedCount; @@ -362,7 +368,8 @@ int main(int argc, char *argv[]) /*********************** Unsubscribe the subscribers ***************************/ std::promise unsubscribeFinishedPromise; - std::shared_ptr unsub = std::make_shared(); + std::shared_ptr unsub = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); unsub->WithTopicFilter(input_sharedTopic); if (!subscriberOne->client->Unsubscribe( unsub, [&](int, std::shared_ptr) { unsubscribeFinishedPromise.set_value(); })) diff --git a/samples/secure_tunneling/secure_tunnel/main.cpp b/samples/secure_tunneling/secure_tunnel/main.cpp index cbae476905..b68883a1f1 100644 --- a/samples/secure_tunneling/secure_tunnel/main.cpp +++ b/samples/secure_tunneling/secure_tunnel/main.cpp @@ -218,7 +218,8 @@ int main(int argc, char *argv[]) /* Send an echo message back to the Source Device */ if (localProxyMode == AWS_SECURE_TUNNELING_DESTINATION_MODE) { - std::shared_ptr echoMessage = std::make_shared(message->getPayload().value()); + std::shared_ptr echoMessage = + Aws::Crt::MakeShared(allocator, message->getPayload().value()); /* Echo message on same service id received message arrived on */ if (message->getServiceId().has_value()) @@ -366,7 +367,8 @@ int main(int argc, char *argv[]) if (messagesSent <= messageCount) { - std::shared_ptr message = std::make_shared(ByteCursorFromCString(toSend.c_str())); + std::shared_ptr message = + Aws::Crt::MakeShared(allocator, ByteCursorFromCString(toSend.c_str())); /* If the secure tunnel has service ids, we will use one for our messages. */ if (m_serviceId.has_value()) diff --git a/secure_tunneling/source/SecureTunnel.cpp b/secure_tunneling/source/SecureTunnel.cpp index c5f02267de..50e739a157 100644 --- a/secure_tunneling/source/SecureTunnel.cpp +++ b/secure_tunneling/source/SecureTunnel.cpp @@ -875,7 +875,7 @@ namespace Aws int SecureTunnel::SendData(const Crt::ByteCursor &data) { // return SendData("", data); - std::shared_ptr message = std::make_shared(data); + std::shared_ptr message = Aws::Crt::MakeShared(m_allocator, data); return SendMessage(message); } @@ -973,8 +973,8 @@ namespace Aws /* Check for full callback */ if (secureTunnel->m_OnConnectionSuccess) { - std::shared_ptr packet = - std::make_shared(*connection, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *connection, secureTunnel->m_allocator); ConnectionSuccessEventData eventData; eventData.connectionData = packet; secureTunnel->m_OnConnectionSuccess(secureTunnel, eventData); @@ -1015,8 +1015,8 @@ namespace Aws if (secureTunnel->m_OnSendMessageComplete) { - std::shared_ptr packet = - std::make_shared(type, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, type, secureTunnel->m_allocator); SendMessageCompleteEventData eventData; eventData.sendMessageCompleteData = packet; secureTunnel->m_OnSendMessageComplete(secureTunnel, error_code, eventData); @@ -1040,8 +1040,8 @@ namespace Aws /* V2 Protocol API */ if (secureTunnel->m_OnMessageReceived != nullptr) { - std::shared_ptr packet = - std::make_shared(*message, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *message, secureTunnel->m_allocator); MessageReceivedEventData eventData; eventData.message = packet; secureTunnel->m_OnMessageReceived(secureTunnel, eventData); @@ -1082,8 +1082,8 @@ namespace Aws { if (secureTunnel->m_OnStreamStarted) { - std::shared_ptr packet = - std::make_shared(*message, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *message, secureTunnel->m_allocator); StreamStartedEventData eventData; eventData.streamStartedData = packet; secureTunnel->m_OnStreamStarted(secureTunnel, error_code, eventData); @@ -1109,8 +1109,8 @@ namespace Aws if (secureTunnel->m_OnStreamStopped) { - std::shared_ptr packet = - std::make_shared(*message, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *message, secureTunnel->m_allocator); StreamStoppedEventData eventData; eventData.streamStoppedData = packet; secureTunnel->m_OnStreamStopped(secureTunnel, eventData); @@ -1134,8 +1134,8 @@ namespace Aws { if (secureTunnel->m_OnConnectionStarted) { - std::shared_ptr packet = - std::make_shared(*message, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *message, secureTunnel->m_allocator); ConnectionStartedEventData eventData; eventData.connectionStartedData = packet; secureTunnel->m_OnConnectionStarted(secureTunnel, error_code, eventData); @@ -1153,8 +1153,8 @@ namespace Aws if (secureTunnel->m_OnConnectionReset) { - std::shared_ptr packet = - std::make_shared(*message, secureTunnel->m_allocator); + std::shared_ptr packet = Aws::Crt::MakeShared( + secureTunnel->m_allocator, *message, secureTunnel->m_allocator); ConnectionResetEventData eventData; eventData.connectionResetData = packet; secureTunnel->m_OnConnectionReset(secureTunnel, error_code, eventData); diff --git a/secure_tunneling/tests/main.cpp b/secure_tunneling/tests/main.cpp index 93427786de..a24c25fe50 100644 --- a/secure_tunneling/tests/main.cpp +++ b/secure_tunneling/tests/main.cpp @@ -300,7 +300,7 @@ int main(int argc, char *argv[]) promiseDestinationConnectionStarted.get_future().wait(); std::shared_ptr message1 = - std::make_shared(ByteCursorFromCString(aws_string_c_str(SECTUN_PAYLOAD_MESSAGE))); + Aws::Crt::MakeShared(allocator, ByteCursorFromCString(aws_string_c_str(SECTUN_PAYLOAD_MESSAGE))); message1->WithServiceId(m_serviceId.value()); message1->WithConnectionId(connectionId2); secureTunnelSource->SendMessage(message1); @@ -309,7 +309,7 @@ int main(int argc, char *argv[]) promiseDestinationReceivedMessage.get_future().wait(); std::shared_ptr message2 = - std::make_shared(ByteCursorFromCString(aws_string_c_str(SECTUN_PAYLOAD_MESSAGE))); + Aws::Crt::MakeShared(allocator, ByteCursorFromCString(aws_string_c_str(SECTUN_PAYLOAD_MESSAGE))); message2->WithServiceId(m_serviceId.value()); message2->WithConnectionId(connectionId); secureTunnelDestination->SendMessage(message2); diff --git a/servicetests/tests/FleetProvisioning/main.cpp b/servicetests/tests/FleetProvisioning/main.cpp index f99bd17e75..4f9a0336a5 100644 --- a/servicetests/tests/FleetProvisioning/main.cpp +++ b/servicetests/tests/FleetProvisioning/main.cpp @@ -97,7 +97,8 @@ std::shared_ptr createMqtt5Client(const Utils::cmd } // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) @@ -541,7 +542,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "MQTT5 Connection failed to start"); return -1; } - identityClient = std::make_shared(mqtt5Client); + identityClient = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), mqtt5Client); } else if (cmdData.input_mqtt_version == 3UL) { @@ -551,7 +553,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "MQTT3 Connection failed to start"); return -1; } - identityClient = std::make_shared(mqtt3Connection); + identityClient = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), mqtt3Connection); } else { diff --git a/servicetests/tests/JobsExecution/main.cpp b/servicetests/tests/JobsExecution/main.cpp index 667f8e092f..9095776f78 100644 --- a/servicetests/tests/JobsExecution/main.cpp +++ b/servicetests/tests/JobsExecution/main.cpp @@ -111,7 +111,7 @@ std::shared_ptr build_mqtt3_client( fprintf(stderr, "MQTT Connection failed with error %s\n", ErrorDebugString(connection->LastError())); exit(-1); } - return std::make_shared(connection); + return Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), connection); } std::shared_ptr build_mqtt5_client( @@ -133,7 +133,8 @@ std::shared_ptr build_mqtt5_client( } // Create the MQTT5 builder and populate it with data from cmdData. // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) @@ -172,7 +173,7 @@ std::shared_ptr build_mqtt5_client( fprintf(stderr, "MQTT5 Connection failed to start"); exit(-1); } - return std::make_shared(client5); + return Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), client5); } int main(int argc, char *argv[]) diff --git a/servicetests/tests/ShadowUpdate/main.cpp b/servicetests/tests/ShadowUpdate/main.cpp index f0e14c9449..558953c09b 100644 --- a/servicetests/tests/ShadowUpdate/main.cpp +++ b/servicetests/tests/ShadowUpdate/main.cpp @@ -136,7 +136,7 @@ std::shared_ptr build_mqtt3_client( fprintf(stderr, "MQTT Connection failed with error %s\n", ErrorDebugString(connection->LastError())); exit(-1); } - return std::make_shared(connection); + return Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), connection); } std::shared_ptr build_mqtt5_client( @@ -158,7 +158,8 @@ std::shared_ptr build_mqtt5_client( } // Create the MQTT5 builder and populate it with data from cmdData. // Setup connection options - std::shared_ptr connectOptions = std::make_shared(); + std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); connectOptions->WithClientId(cmdData.input_clientId); builder->WithConnectOptions(connectOptions); if (cmdData.input_port != 0) @@ -201,7 +202,7 @@ std::shared_ptr build_mqtt5_client( fprintf(stderr, "MQTT5 Connection failed to start"); exit(-1); } - return std::make_shared(client5); + return Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation(), client5); } int main(int argc, char *argv[]) From e182fe20a49cf9ed9b52f34af840fb6fe66491a9 Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Wed, 28 May 2025 10:08:52 -0700 Subject: [PATCH 2/3] Fix guides --- documents/MIGRATION_GUIDE.md | 11 ++++++----- documents/MQTT5_Userguide.md | 15 +++++++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/documents/MIGRATION_GUIDE.md b/documents/MIGRATION_GUIDE.md index 2a4e501fd1..9fe933f2c2 100644 --- a/documents/MIGRATION_GUIDE.md +++ b/documents/MIGRATION_GUIDE.md @@ -120,7 +120,8 @@ std::shared_ptr builder( clientEndpoint, certificateFile, privateKeyFile)); -std::shared_ptr connectOptions = std::make_shared(); +std::shared_ptr connectOptions = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); util::String clientId = "client_id"; connectOptions->WithClientId(clientId); builder->WithConnectOptions(connectOptions); @@ -365,8 +366,8 @@ rc = client->PublishAsync(Utf8String::Create("my/topic"), #### Example of publishing in the v2 SDK ```cpp -std::shared_ptr publish = - std::make_shared( +std::shared_ptr publish = Aws::Crt::MakeShared( + Aws::Crt::DefaultAllocator(), "my topic", "hello", Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); @@ -458,7 +459,7 @@ std::shared_ptr client = builder->Build(); Mqtt5::Subscription sub1("my/own/topic", Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); std::shared_ptr subPacket = - std::make_shared(); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); subPacket->WithSubscription(std::move(sub1)); auto onSubAck = [&](int error_code, @@ -533,7 +534,7 @@ ResponseCode rc = client->UnsubscribeAsync( ```cpp std::shared_ptr unsub = - std::make_shared(); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); unsub->WithTopicFilter("my/topic"); auto unsubAck = [&](int, std::shared_ptr) { /* callback */ diff --git a/documents/MQTT5_Userguide.md b/documents/MQTT5_Userguide.md index 93f82ade15..c5a32b3695 100644 --- a/documents/MQTT5_Userguide.md +++ b/documents/MQTT5_Userguide.md @@ -657,8 +657,10 @@ The Subscribe operation takes a description of the SUBSCRIBE packet you wish to subscriptionList.push_back(data2); subscriptionList.push_back(data3); - // Creaet a SubscribePacket with the subscription list. You can also use packet->WithSubscription(subscription) to push_back a single subscription data. - std::shared_ptr packet = std::make_shared(); + // Create a SubscribePacket with the subscription list. You can also use packet->WithSubscription(subscription) + // to push_back a single subscription data. + std::shared_ptr packet = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); packet->WithSubscriptions(subscriptionList); bool subSuccess = mqtt5Client->Subscribe( @@ -692,7 +694,8 @@ The Unsubscribe operation takes a description of the UNSUBSCRIBE packet you wish Vector topics; topics.push_back(topic1); topics.push_back(topic2); - std::shared_ptr unsub = std::make_shared(); + std::shared_ptr unsub = + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); unsub->WithTopicFilters(topics); bool unsubSuccess = mqtt5Client->Unsubscribe( packet, @@ -727,7 +730,11 @@ If the PUBLISH was a QoS 1 publish, then the completion callback returns a PubAc ByteCursor payload = ByteCursorFromString(message_string); // Create PublishPacket. - std::shared_ptr publish = std::make_shared(testTopic, payload, QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); + std::shared_ptr publish = Aws::Crt::MakeShared( + Aws::Crt::DefaultAllocator(), + testTopic, + payload, + QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); // Setup publish completion callback. The callback will get triggered when the pulbish completes and publish result returned from the server OnPublishCompletionHandler callback = [](int, std::shared_ptr result){ From acd64676a4dff71af665e6301268848f57d488af Mon Sep 17 00:00:00 2001 From: Igor Abdrakhimov Date: Thu, 29 May 2025 09:11:05 -0700 Subject: [PATCH 3/3] Use DefaultAllocatorImplementation --- documents/MIGRATION_GUIDE.md | 8 ++++---- documents/MQTT5_Userguide.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/documents/MIGRATION_GUIDE.md b/documents/MIGRATION_GUIDE.md index 9fe933f2c2..9064cc274a 100644 --- a/documents/MIGRATION_GUIDE.md +++ b/documents/MIGRATION_GUIDE.md @@ -121,7 +121,7 @@ std::shared_ptr builder( certificateFile, privateKeyFile)); std::shared_ptr connectOptions = - Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); util::String clientId = "client_id"; connectOptions->WithClientId(clientId); builder->WithConnectOptions(connectOptions); @@ -367,7 +367,7 @@ rc = client->PublishAsync(Utf8String::Create("my/topic"), ```cpp std::shared_ptr publish = Aws::Crt::MakeShared( - Aws::Crt::DefaultAllocator(), + Aws::Crt::DefaultAllocatorImplementation(), "my topic", "hello", Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); @@ -459,7 +459,7 @@ std::shared_ptr client = builder->Build(); Mqtt5::Subscription sub1("my/own/topic", Mqtt5::QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE); std::shared_ptr subPacket = - Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); subPacket->WithSubscription(std::move(sub1)); auto onSubAck = [&](int error_code, @@ -534,7 +534,7 @@ ResponseCode rc = client->UnsubscribeAsync( ```cpp std::shared_ptr unsub = - Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); unsub->WithTopicFilter("my/topic"); auto unsubAck = [&](int, std::shared_ptr) { /* callback */ diff --git a/documents/MQTT5_Userguide.md b/documents/MQTT5_Userguide.md index c5a32b3695..431121f17b 100644 --- a/documents/MQTT5_Userguide.md +++ b/documents/MQTT5_Userguide.md @@ -660,7 +660,7 @@ The Subscribe operation takes a description of the SUBSCRIBE packet you wish to // Create a SubscribePacket with the subscription list. You can also use packet->WithSubscription(subscription) // to push_back a single subscription data. std::shared_ptr packet = - Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); packet->WithSubscriptions(subscriptionList); bool subSuccess = mqtt5Client->Subscribe( @@ -695,7 +695,7 @@ The Unsubscribe operation takes a description of the UNSUBSCRIBE packet you wish topics.push_back(topic1); topics.push_back(topic2); std::shared_ptr unsub = - Aws::Crt::MakeShared(Aws::Crt::DefaultAllocator()); + Aws::Crt::MakeShared(Aws::Crt::DefaultAllocatorImplementation()); unsub->WithTopicFilters(topics); bool unsubSuccess = mqtt5Client->Unsubscribe( packet, @@ -731,7 +731,7 @@ If the PUBLISH was a QoS 1 publish, then the completion callback returns a PubAc // Create PublishPacket. std::shared_ptr publish = Aws::Crt::MakeShared( - Aws::Crt::DefaultAllocator(), + Aws::Crt::DefaultAllocatorImplementation(), testTopic, payload, QOS::AWS_MQTT5_QOS_AT_LEAST_ONCE);