Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b4d8147 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Bluetooth-OPP: Check socket congestion status before writing the data"

parents a821192a 39b40fa2
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -587,6 +587,20 @@ public class BluetoothOppObexClientSession implements BluetoothOppObexSession {
                            }

                            readLength = a.read(buffer, 0, outputBufferSize);

                            while (true) {
                                int congStatus = ((BluetoothOppTransport)mTransport1).getSockCongStatus();
                                if ((congStatus == 0) || (congStatus == -1)) {
                                    break;
                                }
                                try {
                                    Thread.sleep(5);
                                } catch (InterruptedException slpe) {
                                    Log.v(TAG, "Interrupted while checking the socket congestion evt");
                                    break;
                                }
                            }

                            int writtenLength = 0;
                            while (writtenLength != readLength) {
                                //SET MTU SIZE BEFORE WRITE
+15 −0
Original line number Diff line number Diff line
@@ -99,6 +99,21 @@ public class BluetoothOppTransport implements ObexTransport {
       return status;
    }

    /**
     * Returns the Congestion status of the Socket
     */
    public int getSockCongStatus() {
        ByteBuffer bb = ByteBuffer.allocate(4);
        bb.order(ByteOrder.LITTLE_ENDIAN);
        int status;
        try {
            status = mSocket.getSocketOpt(5, bb.array());
        } catch (IOException ex) {
            return -1;
        }
        return bb.getInt();
    }

    public void connect() throws IOException {
    }