修复了WS连接稳定性问题
This commit is contained in:
@@ -139,7 +139,7 @@ static const domain_expression_catalog_entry_t s_expression_catalog[] = {
|
||||
.priority = 100,
|
||||
.interrupt_current = true,
|
||||
.return_to_idle = true,
|
||||
.asset_dir = "server_error",
|
||||
.asset_dir = "jichubiaoqing",
|
||||
.frame_order = s_server_error_frame_order,
|
||||
.frame_order_count = sizeof(s_server_error_frame_order) / sizeof(s_server_error_frame_order[0]),
|
||||
.repeat_count = 5,
|
||||
@@ -867,43 +867,51 @@ static esp_err_t load_legacy_auth_state(void *out, size_t out_len, size_t *out_l
|
||||
return ESP_ERR_INVALID_SIZE;
|
||||
}
|
||||
|
||||
domain_auth_state_legacy_blob_t state = {0};
|
||||
domain_auth_state_legacy_blob_t *state = calloc(1, sizeof(*state));
|
||||
if (state == NULL) {
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
|
||||
bool found_any = false;
|
||||
|
||||
size_t jwt_len = 0U;
|
||||
esp_err_t err = platform_storage_get_string(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_JWT_KEY,
|
||||
state.jwt,
|
||||
sizeof(state.jwt),
|
||||
state->jwt,
|
||||
sizeof(state->jwt),
|
||||
&jwt_len);
|
||||
if (err == ESP_OK) {
|
||||
found_any = true;
|
||||
state.jwt_valid = jwt_len > 1U && state.jwt[0] != '\0';
|
||||
state->jwt_valid = jwt_len > 1U && state->jwt[0] != '\0';
|
||||
} else if (err != ESP_ERR_NOT_FOUND) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = storage_get_optional_u64(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_EXP_KEY,
|
||||
&state.exp_epoch_s,
|
||||
&state->exp_epoch_s,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = storage_get_optional_u32(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_SCOPE_KEY,
|
||||
&state.scope_mask,
|
||||
&state->scope_mask,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = storage_get_optional_u32(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_KEY_VERSION_KEY,
|
||||
&state.key_version,
|
||||
&state->key_version,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -913,34 +921,39 @@ static esp_err_t load_legacy_auth_state(void *out, size_t out_len, size_t *out_l
|
||||
&wait_factory,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
state.wait_factory_persisted = wait_factory != 0U;
|
||||
state->wait_factory_persisted = wait_factory != 0U;
|
||||
|
||||
err = storage_get_optional_u32(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_FAIL_COUNT_KEY,
|
||||
&state.fail_count,
|
||||
&state->fail_count,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = storage_get_optional_u64(DOMAIN_AUTH_STATE_STORE_NAMESPACE,
|
||||
DOMAIN_AUTH_LEGACY_STATE_NEXT_RETRY_KEY,
|
||||
&state.next_retry_epoch_s,
|
||||
&state->next_retry_epoch_s,
|
||||
&found_any);
|
||||
if (err != ESP_OK) {
|
||||
free(state);
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!found_any) {
|
||||
free(state);
|
||||
return ESP_ERR_NOT_FOUND;
|
||||
}
|
||||
|
||||
memcpy(out, &state, sizeof(state));
|
||||
memcpy(out, state, sizeof(*state));
|
||||
if (out_len_actual != NULL) {
|
||||
*out_len_actual = sizeof(state);
|
||||
*out_len_actual = sizeof(*state);
|
||||
}
|
||||
free(state);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user