Comments (5)
With the information written in "10.7.10.2. MoreChunkedMessages" one can assume that the above logic should happen as soon as the "last message" 8the one with moreChunkedMessages=false" was arrived. Is this the right assumption and interpretation?
Yes that is correct. It is something provided by Interaction Model layer to let the Application layer know that the server has not sent a response to that invoke interaction at the time that the server has indicated that the Invoke interaction is completed.
from connectedhomeip.
@tehampson to get emails about this thread with how my email filters are set up
from connectedhomeip.
Thank you for verifying my assumptions. I think it could help to redce the confusion a bit whe the spec contains an additional sentence about it.
One side question for "multiple invokes": Whats a good "max number" if there is not natural limit because of RAM or such? Ok there is a natural maximum for UDP based messages, like 57 invokes as max ... but with TCP it could be more, right? In fact it is a uint16, but I think it makes no sense to allow 65k invokes ;-)
from connectedhomeip.
Thank you for verifying my assumptions. I think it could help to redce the confusion a bit whe the spec contains an additional sentence about it.
Do you have a recommendation on what to change/add? If you don't that is fine, it's just that I helped fix some part of the spec here so sometime I may be to close and may think that certain aspects are already.
One side question for "multiple invokes": Whats a good "max number" if there is not natural limit because of RAM or such? Ok there is a natural maximum for UDP based messages, like 57 invokes as max ... but with TCP it could be more, right? In fact it is a uint16, but I think it makes no sense to allow 65k invokes ;-)
yeah with UDP I found the max to tap out at around 57 command in the packet. But as you said TCP support is coming along.
Without knowing what exactly you are trying to optimize for it is hard to provide a recommendation. Also depends on server or client?
Server - whatever the constraint server device want to support up to the max of uint16 (IIRC). This is essentially an optional feature if the device doesn't want to support it at all they can just say MAX_PATHS_PER_INVOKE and nothing should ever send a batch command to it.
Client - depends on the constrains of the client device. If it is a fairly sizable device why not support whatever a theoretical max server code support 65k? Who know what the future hold and if there is a very large bridge device that may be on an industrial scale.
That said a client that supports sending out batch commands needs to be dynamic to a degree. If your API accepts batch of n
, but the server only supports receiving 1, the client code already need to handle splitting that work up to n
individual commands, so you could use that same logic to break it down to whatever you think that clients max should be. So the API could accept 65k, but your implementation breaks it up to chunks of whatever you think a reasonable.
from connectedhomeip.
Will think about textual ideas and provide here tomorrow.
For the Max-Invoke-Paths: I completely agree with you, because in fact I miss a bit the real world use cases for it. In fact it is about the "default max invoke paths" for matter.js as a framework (that can be overridden by the developer if needed) ... so my feeling is to go with something like 10 untell someine has good reasonsn for more - or stay at 1 :-)
And sure the controller/Client need to check how to send stuff and depending what the server allows it need to do multiple messages or send one.
Thank you for your feedback"
from connectedhomeip.
Related Issues (20)
- [Feature] Make RPC call synchronous in Fabric Admin and Fabric Bridge
- [BUG] Chip-Cert-Bins docker container script failing on TOT Master HOT 5
- [1.3] Building Darwin tool on latest commits giving error response HOT 2
- The CHIP_CONFIG_MAX_GROUP_ENDPOINTS_PER_FABRIC macro is inconsistent with the requirements in the specification HOT 1
- [Feature] Allows opening a commissioning window on a bridged node that is not on Endpoint 0.
- [1.3] Failed to generate and build a CHEF Basic Video Player matter example for efr32 platform
- [BUG] GetCredentialStatus with invalid user index shows run time failure error
- [BUG] SetCredentialResponse Command -nextCredentialIndex value deviates from Spec when RESOURCE_EXHAUTION
- Need better ways to read "last event of a given type" in YAML
- [Documentation] Flag List Change Actions Replace and Delete as provisional and document write List behavior HOT 1
- [Documentation] Conformance for DataVersionFilter and EventFilters wrong for Read/Subscribe? HOT 1
- [BUG] Issue with RequestHandler.swift HOT 3
- [BUG] Commands failing with "Run command failure: src/lib/core/TLVReader.cpp:750: Error 0x00000021" HOT 2
- [CERT-TEST-FAILURE] - TC-S-2.2- Test failed
- [ICD] Add ClientType Support in the Android Chip-tool
- [BUG] Failed to write atrribute with src/app/WriteClient.cpp:504: CHIP Error 0x00000032: Timeout HOT 2
- [BUG] Failed to Read attribute with src/app/ReadClient.cpp:343: CHIP Error 0x00000077: Missing secure session HOT 3
- [BUG] Failed to Read attribute with src/protocols/secure_channel/CASESession.cpp:2102: CHIP Error 0x000000DB: The Resource is busy and cannot process the request
- [BUG] ConvertToNOCResponseStatus should not convert unknown error codes to the "invalid NOC" status
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from connectedhomeip.