Handle ThingDescriptions as streams
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 45
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
In the 08/03 call, we briefly explored the idea of handling Thing Descriptions as Streams. The discussion was originally brought up by the latest advancements in WoT Profiles and WoT Discovery. In particular, this issue is linked to the idea of a minimum supported hardware platform for WoT and Handle big TDs or set of TDs.
As discussed in the call we don't have a well-defined use case extracted for those issues, but the main idea is to allow a possible consumer application to read a TD incrementally. We have pinpointed three possible places that we'll need to be updated: the getThingDescription, consume, and the discovery method.
Notice that in Scripting API the only method to fetch TDs is using the discovery method. Furthermore, if we don't want to force the implementation to store everything in memory the method getThingDescription should be modified to return a stream and the consume method too. About this last point, my conjecture is that is possible to read a TD incrementally and create a ConsumeThing without having the whole TD always stored in some memory buffer.
Still, we find that the issue needs concrete examples where the current API design fails. The optimal would be having a concrete board or hardware as an example.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked WoT Profiles issue and WoT Discovery issue, then examine the getThingDescription, consume, and discovery methods in the Scripting API. Define a concrete board or hardware use case where the current API fails and document the required streaming behavior before attempting implementation.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100