[ 
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)

Reply via email to