Azure / Azure/iot-operations-sdks

[Feature Request] Support streaming responses

Open
#542 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
20
Forks
27
Avg merge
2d 1h
Merged PRs (30d)
33

Description

Use case:

As a connector developer
I want to send multiple responses for the same request
So that I can reduce the size of a single response and improve the latency for the first answer.

Todo:

* Extend CommandExecutor to support multiple responses e.g.
```csharp
public required Func, CancellationToken, Task>>> OnCommandReceived { get; set; }
```
* Extend `CommandResponseMetadata` with `ResponseMessageId` as well as `IsLastResponse` propeties
* Extend `AkriSystemProperties` with `ResponseMessageId` (proposal ReservedPrefix + "respId")
* Extend `AkriSystemProperties` with `LastResponse` (proposal ReservedPrefix + "lastResp")

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing CommandExecutor handling of OnCommandReceived, then inspect CommandResponseMetadata and AkriSystemProperties where response metadata and reserved properties are defined. Follow the existing single-response flow to determine how multiple responses are emitted and identified; done means streamed responses carry response IDs and correctly mark the final response.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.