I developed an iOS app that communicates with an OS X app over Bluetooth. There appears to be a speed difference in transferring data depending on which one I make the peripheral. The iOS app is going to be sending data quickly to the OS X app and needs to be received with no delay. If I make the iOS app the peripheral and the OS X app the central this works relatively well. If I make the iOS app the central and the OS X app the peripheral then the data is sent with a lag, as if it is being buffered. Because I plan to use this on WatchOS too, I need to make the iOS app the central and the OS X app the peripheral. I'm setting CBCharacteristicWriteWithoutResponse when I send the data. I also tried to open a L2CAP channel but saw the same performance issue.
Is this a known limitation or is there something I could be doing wrong?