title: Is the native Android BLE implementation synchronous in nature?
body: <p>I remember reading in the <a href="http://img-developer.samsung.com/contents/authCdn/ble/Guide_and_Hints_for_Samsung_BLE_API.pdf?__gda__=1375430976_5fccae8604db7eb9b442186689e3381d" rel="nofollow noreferrer">"Guide and Hint"</a>-doc to the <a href="http://web.archive.org/web/20130610122039/http://developer.samsung.com/ble" rel="nofollow noreferrer">Samsung BLE API (archived page)</a>:</p>
  
  <blockquote>
    <p>One of the most important concepts of the Samsung F/W and stack is
    its <strong>synchronous nature</strong>. That is, if we call for example,
    <code>writeCharacteristic</code> for a particular characteristic, if it returns
    <code>true</code>, the next call to any <code>BluetoothGatt</code> or <code>BluetoothGattServer</code> method
    should be done after the <code>onCharacteristicRead</code> callback is received.
    This is because the stack is designed to support and process only one
    GATT call at a time, and if, for example, you call
    <code>writeCharacteristic</code> or <code>readCharacteristic</code> on any characteristic soon
    after the first one, it is ignored.</p>
  </blockquote>
  
  <ol>
  <li>Does that also apply to the native implementation of BLE introduced
  in Android 4.3?</li>
  <li>Samsung API also supports only one connected GATT device at a time.
  Has this changed in the native API?</li>
  </ol>