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

Reply via email to