| | | 1 | | global using DbAckMode = AsyncResponse.Transports.SqlServer.SqlServerAckMode; |
| | | 2 | | global using DbBackgroundFailureContext = AsyncResponse.Transports.SqlServer.SqlServerBackgroundFailureContext; |
| | | 3 | | global using DbSubscriberOptions = AsyncResponse.Transports.SqlServer.SqlServerSubscriberOptions; |
| | | 4 | | global using DbSubscriberRole = AsyncResponse.Transports.SqlServer.SqlServerSubscriberRole; |
| | | 5 | | global using DbTransportDelivery = AsyncResponse.Transports.SqlServer.SqlServerTransportDelivery; |
| | | 6 | | global using DbTransportOptions = AsyncResponse.Transports.SqlServer.SqlServerAsyncResponseTransportOptions; |
| | | 7 | | global using DbTransportOptionsValidator = AsyncResponse.Transports.SqlServer.SqlServerTransportOptionsValidator; |
| | | 8 | | using Microsoft.Extensions.Logging; |
| | | 9 | | |
| | | 10 | | namespace AsyncResponse.Transports.SqlServer; |
| | | 11 | | |
| | | 12 | | /// <summary> |
| | | 13 | | /// Applies acknowledgement, redelivery, and dead-letter policy to SQL Server transport deliveries. |
| | | 14 | | /// All machinery lives in <see cref="DbMessageDispatcherBase"/> (shared source, compiled into this |
| | | 15 | | /// assembly); the global using aliases above bind the provider seam types, and this derivation |
| | | 16 | | /// supplies only the display strings rendered into logs and telemetry. |
| | | 17 | | /// </summary> |
| | | 18 | | internal sealed class SqlServerMessageDispatcher( |
| | | 19 | | Func<SqlServerTransportDelivery, CancellationToken, Task> handler, |
| | | 20 | | SqlServerAsyncResponseTransportOptions options, |
| | | 21 | | SqlServerSubscriberOptions subscriberOptions, |
| | | 22 | | ILogger logger, |
| | | 23 | | SqlServerSubscriberRole role) |
| | 3 | 24 | | : DbMessageDispatcherBase( |
| | 3 | 25 | | handler, |
| | 3 | 26 | | options, |
| | 3 | 27 | | subscriberOptions, |
| | 3 | 28 | | logger, |
| | 3 | 29 | | role, |
| | 3 | 30 | | providerName: "SQL Server", |
| | 3 | 31 | | unitNoun: "row", |
| | 3 | 32 | | telemetryName: "sqlserver"); |