private void processIncomingQueue()

in amazonfreertossdk/src/main/java/software/amazon/freertos/amazonfreertossdk/AmazonFreeRTOSDevice.java [346:387]


    private void processIncomingQueue() {
        try {
            mIncomingMutex.acquire();
            while (mIncomingQueue.size() != 0) {
                BleCommand bleCommand = mIncomingQueue.poll();
                Log.d(TAG, "Processing incoming queue. size: " + mIncomingQueue.size());
                byte[] responseBytes = bleCommand.getData();
                String cUuid = bleCommand.getCharacteristicUuid();
                switch (cUuid) {
                    case UUID_MQTT_PROXY_TX:
                        handleMqttTxMessage(responseBytes);
                        break;
                    case UUID_MQTT_PROXY_TXLARGE:
                        try {
                            mTxLargeObject.write(responseBytes);
                            sendBleCommand(new BleCommand(READ_CHARACTERISTIC,
                                    UUID_MQTT_PROXY_TXLARGE, UUID_MQTT_PROXY_SERVICE));
                        } catch (IOException e) {
                            Log.e(TAG, "Failed to concatenate byte array.", e);
                        }
                        break;
                    case UUID_NETWORK_TX:
                        handleNwTxMessage(responseBytes);
                        break;
                    case UUID_NETWORK_TXLARGE:
                        try {
                            mTxLargeNw.write(responseBytes);
                            sendBleCommand(new BleCommand(READ_CHARACTERISTIC,
                                    UUID_NETWORK_TXLARGE, UUID_NETWORK_SERVICE));
                        } catch (IOException e) {
                            Log.e(TAG, "Failed to concatenate byte array.", e);
                        }
                        break;
                    default:
                        Log.e(TAG, "Unknown characteristic " + cUuid);
                }
            }
            mIncomingMutex.release();
        } catch (InterruptedException e) {
            Log.e(TAG, "Incoming mutex error, ", e);
        }
    }