[
https://issues.apache.org/jira/browse/MYNEWT-84?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15188425#comment-15188425
]
William San Filippo commented on MYNEWT-84:
-------------------------------------------
Here are the changes that were made to the code.
* The controller allocates a fixed amount of time slots for each connection
event when adding it to the scheduler.
* When a connection event starts, each device has to determine if it has more
data before transmitting a frame as the MD bit in the LL header has to be set.
* A connection event is allowed to continue as long as there is more data and
that the time it will take to send that data will not extend into the next
scheduled item or exceed the connection interval time. The old code would
simply end the connection event when the originally allocated time slots were
used up.
* When determining if the next packet can be sent the code always assumes
worst-case packet sizes (based on the effective max rx/tx bytes/time for that
connection) if it does not know the packet size beforehand. There are two cases
here, one for master and one for slave.
Master: IFS + current packet transmit time + IFS + worst-case receive frame +
IFS + next packet time + IFS + worst-case receive frame.
Slave: IFS + current packet transmit time + IFS + worst case receive frame +
IFS + next packet time.
> Extend connection events beyond originally scheduled time if no other events
> are scheduled
> ------------------------------------------------------------------------------------------
>
> Key: MYNEWT-84
> URL: https://issues.apache.org/jira/browse/MYNEWT-84
> Project: Mynewt
> Issue Type: Improvement
> Components: Nimble
> Affects Versions: v0_8_0_beta1
> Reporter: William San Filippo
> Assignee: William San Filippo
> Fix For: v0_8_0_rel
>
>
> The current scheduler allocates a fixed time slot for each connection event.
> While this might be OK, it limits the throughput on a device. What we should
> do is once the connection schedule item executes, we continue the connection
> event until the next scheduled item.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)