[ https://issues.apache.org/jira/browse/MYNEWT-287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15798679#comment-15798679 ]
Christopher Collins commented on MYNEWT-287: -------------------------------------------- Thanks, Johan, that is very interesting to hear. Will and I were just discussing this issue yesterday: flow control for ACL data, but no means of stopping the controller from sending events. After giving it some thought, I agree that relying on the underlying transport's flow control mechanism should be sufficient (better actually, because it controls the flow of both data and events). I wonder why controller-to-host flow control is even specified in bluetooth. Do you have any insight into the rationale? Maybe this flow control was specified in case a new HCI transport which does not have its own flow control mechanism gets added to the spec. > Host Flow Control > ----------------- > > Key: MYNEWT-287 > URL: https://issues.apache.org/jira/browse/MYNEWT-287 > Project: Mynewt > Issue Type: New Feature > Components: Nimble > Environment: Using nimble from an external host stack > Reporter: Johan Hedberg > Assignee: Christopher Collins > Fix For: v1_0_0_rel > > > If the Nimble controller part is connected to an external host stack the host > may need to control the flow of ACL packets from the controller to the host. > This is particularly important for resource-constrained hosts that have a > limited amount of RX ACL data buffers. > The Bluetooth core specification provides a standard feature to accomplish > this called Host Flow Control. (Vol 2, Part E, Section 4.2). To implement > this the controller needs to support the "Set Controller To Host Flow > Control", "Host Buffer Size" and "Host Number Of Completed Packets" HCI > commands. -- This message was sent by Atlassian JIRA (v6.3.4#6332)