Skip to content

Commit cb60bdf

Browse files
committed
add reserved bytes to connection string
1 parent 6386711 commit cb60bdf

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/ServiceControl.Transports.SQS/SQSTransportConnectionString.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace ServiceControl.Transports.SQS;
22

3+
using System;
34
using System.Data.Common;
45

56
public class SQSTransportConnectionString
@@ -50,6 +51,12 @@ public SQSTransportConnectionString(string connectionString)
5051
{
5152
DoNotWrapOutgoingMessages = doNotWrapOutgoingMessagesAsBool;
5253
}
54+
55+
56+
if (builder.TryGetValue("ReservedBytes", out object reservedBytes))
57+
{
58+
ReservedBytesInMessageSize = Convert.ToInt32(reservedBytes);
59+
}
5360
}
5461

5562
public string AccessKey { get; }
@@ -60,4 +67,5 @@ public SQSTransportConnectionString(string connectionString)
6067
public string S3BucketForLargeMessages { get; }
6168
public string S3KeyPrefix { get; }
6269
public bool DoNotWrapOutgoingMessages { get; }
70+
public int ReservedBytesInMessageSize { get; }
6371
}

src/ServiceControl.Transports.SQS/SQSTransportCustomization.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ protected override SqsTransport CreateTransport(TransportSettings transportSetti
7272
}
7373

7474
#pragma warning disable NSBSQSEXP0001 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
75-
var transport = new SqsTransport(sqsClient, snsClient, enableDelayedDelivery: false);
75+
var transport = new SqsTransport(sqsClient, snsClient, disableUnrestrictedDelayedDelivery: true);
7676
#pragma warning restore NSBSQSEXP0001
7777

7878
if (!string.IsNullOrEmpty(builder.QueueNamePrefix))
@@ -109,6 +109,7 @@ protected override SqsTransport CreateTransport(TransportSettings transportSetti
109109
}
110110

111111
transport.DoNotWrapOutgoingMessages = builder.DoNotWrapOutgoingMessages;
112+
transport.ReserveBytesInMessageSizeCalculation = builder.ReservedBytesInMessageSize;
112113

113114
transport.TransportTransactionMode = transport.GetSupportedTransactionModes().Contains(preferredTransactionMode) ? preferredTransactionMode : TransportTransactionMode.ReceiveOnly;
114115

src/ServiceControl.Transports.SQS/transport.manifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"TypeName": "ServiceControl.Transports.SQS.SQSTransportCustomization, ServiceControl.Transports.SQS",
88
"SampleConnectionString": "Region=<REGION>;QueueNamePrefix=<prefix>;TopicNamePrefix=<prefix>;AccessKeyId=<ACCESSKEYID>;SecretAccessKey=<SECRETACCESSKEY>;S3BucketForLargeMessages=<BUCKETNAME>;S3KeyPrefix=<KEYPREFIX>",
99
"AvailableInSCMU": true,
10-
"Help": "'Region' is mandatory. Specify 'AccessKeyId' and 'SecretAccessKey' values to set the AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY environment variables if not using IAM roles or EC2 metadata. Specify 'S3BucketForLargeMessages' and optionally 'S3KeyPrefix' if large message bodies are used.",
10+
"Help": "'Region' is mandatory. Specify 'AccessKeyId' and 'SecretAccessKey' values to set the AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY environment variables if not using IAM roles or EC2 metadata. Specify 'S3BucketForLargeMessages' and optionally 'S3KeyPrefix' if large message bodies are used. To reserve bytes in the message size, use 'ReservedBytes'.",
1111
"Aliases": [
1212
"NServiceBus.SqsTransport, NServiceBus.AmazonSQS",
1313
"ServiceControl.Transports.AmazonSQS.ServiceControlSqsTransport, ServiceControl.Transports.AmazonSQS"

0 commit comments

Comments
 (0)