Package io.rong.imlib

## Class CMPStrategy

- All Implemented Interfaces:

      public class CMPStrategy

  基本策略：从导航获取到 cmp 列表后， sp 文件和内存里各保存一份. sp 文件里保存的列表作为基准。连接过程中根据连接情况调整内存里的 cmp 顺序。 重连时，如果网络没有变动，使用内存里的 cmp list. 否则使用 sp 里的基准 cmp list. 特殊情况处理：连接成功后，返回 32054 或者 ping 超时，则调整 cmp 顺序，将第一个 cmp entry 移动到最后。

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CMPStrategy()` |

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static CMPStrategy` | `getInstance()` |
    `void` | `onGetCmpEntriesFromNavi()` |
    `List<CmpData>` | `getCmpList()` |
    `boolean` | `isQuicForConnectedCmp()` |
    `boolean` | `isCMPValid(String cmp)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CMPStrategy

          CMPStrategy()

  - ### Method Detail

    - #### getInstance

           static CMPStrategy getInstance()

    - #### onGetCmpEntriesFromNavi

           void onGetCmpEntriesFromNavi()

    - #### getCmpList

           List<CmpData> getCmpList()

    - #### isQuicForConnectedCmp

           boolean isQuicForConnectedCmp()

    - #### isCMPValid

           boolean isCMPValid(String cmp)