Apple provides requirements on BLE connection parameters: https://developer.apple.com/library/archive/qa/qa1931/_index.html
Do these assume the iOS device is in master (central) mode, or do they also apply to slave (peripheral) mode?
Given that the master ultimately defines the connection parameters (i.e. it can reject parameter adjustment requests from slave), if a non-iOS master specifies "non-compatible" connection parameters, does the iOS device just skip/ignore master packets/frames that are non-compliant? I don't see how this could be the case if the iOS BLE stack is Bluetooth certified. I.e., it would seem that iOS cannot enforce any restrictions on BLE communication if the iOS device is connected in slave mode.
Edit: One example of where an iOS peripheral/slave would presumably break spec is in vol 6, part B, section 4.5.1 of BT spec 5.0: "When connSlaveLatency is set to zero the slave device shall listen at every anchor point. If the slave does not receive a packet from the master after applying slave latency, it should listen at each anchor point and not apply slave latency until it receives a packet from the master."
Therefore, regardless of whether slave latency is zero or non-zero, the slave must be able to accommodate listening at every anchor point. So unless the iOS peripheral is refusing to enter a connection with a BLE central of non-compatible connection parameters (or will end the connection if the BLE master changes connection parameters mid-connection), then the iOS slave must comply or does not satisfy the spec. So would it be considered "in-spec" if the iOS BLE peripheral/slave stack will not enter or end a connection regardless of the user application's wishes?