wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_roam.cpp
equal
deleted
inserted
replaced
14 * Description: Statemachine for roaming |
14 * Description: Statemachine for roaming |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 /* |
18 /* |
19 * %version: 76 % |
19 * %version: 76.1.2 % |
20 */ |
20 */ |
21 |
21 |
22 #include "core_operation_roam.h" |
22 #include "core_operation_roam.h" |
23 #include "core_server.h" |
23 #include "core_server.h" |
24 #include "core_tools.h" |
24 #include "core_tools.h" |
462 } |
462 } |
463 case core_state_req_enable_userdata: |
463 case core_state_req_enable_userdata: |
464 { |
464 { |
465 DEBUG( "core_operation_roam_c::next_state() - connection done" ); |
465 DEBUG( "core_operation_roam_c::next_state() - connection done" ); |
466 |
466 |
467 server_m->get_connection_data()->set_last_rcp_class( core_rcp_normal ); |
|
468 server_m->get_connection_data()->set_ssid( ssid_m ); |
467 server_m->get_connection_data()->set_ssid( ssid_m ); |
469 server_m->get_core_settings().roam_metrics().set_roam_ts_userdata_enabled(); |
468 server_m->get_core_settings().roam_metrics().set_roam_ts_userdata_enabled(); |
470 server_m->get_core_settings().roam_metrics().inc_roam_success_count(); |
469 server_m->get_core_settings().roam_metrics().inc_roam_success_count(); |
471 |
470 |
472 server_m->get_connection_data()->clear_ap_association_failure_count( |
471 server_m->get_connection_data()->clear_ap_association_failure_count( |
509 buf ); |
508 buf ); |
510 |
509 |
511 server_m->get_connection_data()->set_last_connection_state( |
510 server_m->get_connection_data()->set_last_connection_state( |
512 state ); |
511 state ); |
513 } |
512 } |
|
513 } |
|
514 |
|
515 if ( server_m->get_connection_data()->last_rcp_class() != core_rcp_normal ) |
|
516 { |
|
517 DEBUG( "core_operation_roam_c::next_state() - sending a notification about the normal signal level" ); |
|
518 |
|
519 u8_t buf[5]; |
|
520 buf[0] = static_cast<u8_t>( core_rcp_normal ); |
|
521 buf[1] = current_ap_m->rcpi(); |
|
522 |
|
523 adaptation_m->notify( |
|
524 core_notification_rcp_changed, |
|
525 sizeof( buf ), |
|
526 buf ); |
|
527 server_m->get_connection_data()->set_last_rcp_class( core_rcp_normal ); |
514 } |
528 } |
515 |
529 |
516 if ( current_ap_m->is_wpx() ) |
530 if ( current_ap_m->is_wpx() ) |
517 { |
531 { |
518 server_m->get_wpx_adaptation_instance().handle_wpx_roam_success( |
532 server_m->get_wpx_adaptation_instance().handle_wpx_roam_success( |
1207 server_m->get_connection_data()->iap_data().is_802dot1x_used() && |
1221 server_m->get_connection_data()->iap_data().is_802dot1x_used() && |
1208 entry->ap_data->is_wpx_fast_roam_available() && |
1222 entry->ap_data->is_wpx_fast_roam_available() && |
1209 is_security_association_available( *server_m->get_connection_data()->current_ap_data() ) ) |
1223 is_security_association_available( *server_m->get_connection_data()->current_ap_data() ) ) |
1210 { |
1224 { |
1211 DEBUG( "core_operation_roam_c::process_frame() - WPX fast-roam supported" ); |
1225 DEBUG( "core_operation_roam_c::process_frame() - WPX fast-roam supported" ); |
1212 |
1226 |
1213 entry->is_cached_sa_available = true_t; |
1227 entry->is_cached_sa_available = true_t; |
1214 entry_score += CORE_ROAMING_LIST_BONUS_WPX_FAST_ROAM; |
1228 entry_score += CORE_ROAMING_LIST_BONUS_WPX_FAST_ROAM; |
1215 } |
1229 } |
1216 else if( server_m->get_connection_data()->iap_data().is_eap_used() && |
1230 else if( server_m->get_connection_data()->iap_data().is_eap_used() && |
1217 is_security_association_available( *entry->ap_data ) ) |
1231 is_security_association_available( *entry->ap_data ) ) |