X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fbt_le_adapter%2Ftizen%2Fcaleserver.c;h=019984ddd6a6f878ca3c24e64ac16de3a9d9d6de;hb=6e3cc8579b539a9db9fc801df9ba488653018c01;hp=9c74caf5e6343570567ad011eb38179f723ede6c;hpb=9fb66e29a02ac51e17a64673473aad6e918d540f;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver.c b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver.c index 9c74caf..019984d 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver.c @@ -949,8 +949,35 @@ uint16_t CALEServerGetMtuSize(const char* address) OIC_LOG(DEBUG, TAG, "IN"); VERIFY_NON_NULL_RET(address, TAG, "address is null", CA_SUPPORTED_BLE_MTU_SIZE - CA_BLE_MTU_HEADER_SIZE); - //@Todo - OIC_LOG(INFO, TAG, - "bt_device_get_att_mtu is not supported"); - return CA_SUPPORTED_BLE_MTU_SIZE - CA_BLE_MTU_HEADER_SIZE; + + unsigned int mtu = CA_DEFAULT_BLE_MTU_SIZE; + int ret = 0; + + bt_gatt_client_h client = NULL; + ret = bt_gatt_client_create(address, &client); + if (0 != ret) + { + OIC_LOG_V(ERROR, TAG, + "bt_gatt_client_create failed with return [%s]", CALEGetErrorMsg(ret)); + return CA_DEFAULT_BLE_MTU_SIZE; + } + + ret = bt_gatt_client_get_att_mtu(client, &mtu); + if (0 != ret) + { + OIC_LOG_V(ERROR, TAG, + "bt_gatt_client_get_att_mtu failed with return [%s]", CALEGetErrorMsg(ret)); + return CA_DEFAULT_BLE_MTU_SIZE; + } + + ret = bt_gatt_client_destroy(client); + if (0 != ret) + { + OIC_LOG_V(ERROR, TAG, + "bt_gatt_client_destroy failed with return [%s]", CALEGetErrorMsg(ret)); + return CA_DEFAULT_BLE_MTU_SIZE; + } + + OIC_LOG_V(INFO, TAG, "mtu size(including header) from bt_device_get_att_mtu is %d", mtu); + return mtu - CA_BLE_MTU_HEADER_SIZE; }