dotnet / dotnet/MQTTnet

IManagedMqttClient.SubscribeAsync lacks support for subscription identifiers

Open
#1,643 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
5.1k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

### Describe the bug

The `IManagedMqttClient` API lacks the possibility to specify subscription identifiers:

```csharp
Task SubscribeAsync(ICollection topicFilters);
```

The `IMqttClient` interface, on the other hand, allows this because it takes a `MqttClientSubscribeOptions` object:

```csharp
Task SubscribeAsync(MqttClientSubscribeOptions options,
CancellationToken cancellationToken = default);
```

Using the internal client through the `InternalClient` property of `IManagedMqttClient` as a workaround is not an option, because the connection is not guaranteed to be open.

### Which component is your bug related to?

- ManagedClient

### To Reproduce
Steps to reproduce the behavior:
1. Using the latest Nuget version of MQTTnet
2. Try to subscribe and pass a subscription identifier
3. No such method is available

### Expected behavior

The managed client offers the same subscription possibilities as the unmanaged client.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.