mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Reduce API component flash usage by consolidating error logging
This commit is contained in:
		| @@ -86,8 +86,8 @@ void APIConnection::start() { | |||||||
|   APIError err = this->helper_->init(); |   APIError err = this->helper_->init(); | ||||||
|   if (err != APIError::OK) { |   if (err != APIError::OK) { | ||||||
|     on_fatal_error(); |     on_fatal_error(); | ||||||
|     ESP_LOGW(TAG, "%s: Helper init failed: %s errno=%d", this->get_client_combined_info().c_str(), |     ESP_LOGW(TAG, "%s: Helper init failed %s errno=%d", this->get_client_combined_info().c_str(), api_error_to_str(err), | ||||||
|              api_error_to_str(err), errno); |              errno); | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|   this->client_info_ = helper_->getpeername(); |   this->client_info_ = helper_->getpeername(); | ||||||
| @@ -119,7 +119,7 @@ void APIConnection::loop() { | |||||||
|   APIError err = this->helper_->loop(); |   APIError err = this->helper_->loop(); | ||||||
|   if (err != APIError::OK) { |   if (err != APIError::OK) { | ||||||
|     on_fatal_error(); |     on_fatal_error(); | ||||||
|     ESP_LOGW(TAG, "%s: Socket operation failed: %s errno=%d", this->get_client_combined_info().c_str(), |     ESP_LOGW(TAG, "%s: Socket operation failed %s errno=%d", this->get_client_combined_info().c_str(), | ||||||
|              api_error_to_str(err), errno); |              api_error_to_str(err), errno); | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
| @@ -136,14 +136,8 @@ void APIConnection::loop() { | |||||||
|         break; |         break; | ||||||
|       } else if (err != APIError::OK) { |       } else if (err != APIError::OK) { | ||||||
|         on_fatal_error(); |         on_fatal_error(); | ||||||
|         if (err == APIError::SOCKET_READ_FAILED && errno == ECONNRESET) { |         ESP_LOGW(TAG, "%s: Reading failed %s errno=%d", this->get_client_combined_info().c_str(), api_error_to_str(err), | ||||||
|           ESP_LOGW(TAG, "%s: Connection reset", this->get_client_combined_info().c_str()); |                  errno); | ||||||
|         } else if (err == APIError::CONNECTION_CLOSED) { |  | ||||||
|           ESP_LOGW(TAG, "%s: Connection closed", this->get_client_combined_info().c_str()); |  | ||||||
|         } else { |  | ||||||
|           ESP_LOGW(TAG, "%s: Reading failed: %s errno=%d", this->get_client_combined_info().c_str(), |  | ||||||
|                    api_error_to_str(err), errno); |  | ||||||
|         } |  | ||||||
|         return; |         return; | ||||||
|       } else { |       } else { | ||||||
|         this->last_traffic_ = now; |         this->last_traffic_ = now; | ||||||
| @@ -1596,7 +1590,7 @@ bool APIConnection::try_to_clear_buffer(bool log_out_of_space) { | |||||||
|   APIError err = this->helper_->loop(); |   APIError err = this->helper_->loop(); | ||||||
|   if (err != APIError::OK) { |   if (err != APIError::OK) { | ||||||
|     on_fatal_error(); |     on_fatal_error(); | ||||||
|     ESP_LOGW(TAG, "%s: Socket operation failed: %s errno=%d", this->get_client_combined_info().c_str(), |     ESP_LOGW(TAG, "%s: Socket operation failed %s errno=%d", this->get_client_combined_info().c_str(), | ||||||
|              api_error_to_str(err), errno); |              api_error_to_str(err), errno); | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
| @@ -1617,12 +1611,8 @@ bool APIConnection::send_buffer(ProtoWriteBuffer buffer, uint8_t message_type) { | |||||||
|     return false; |     return false; | ||||||
|   if (err != APIError::OK) { |   if (err != APIError::OK) { | ||||||
|     on_fatal_error(); |     on_fatal_error(); | ||||||
|     if (err == APIError::SOCKET_WRITE_FAILED && errno == ECONNRESET) { |  | ||||||
|       ESP_LOGW(TAG, "%s: Connection reset", this->get_client_combined_info().c_str()); |  | ||||||
|     } else { |  | ||||||
|     ESP_LOGW(TAG, "%s: Packet write failed %s errno=%d", this->get_client_combined_info().c_str(), |     ESP_LOGW(TAG, "%s: Packet write failed %s errno=%d", this->get_client_combined_info().c_str(), | ||||||
|              api_error_to_str(err), errno); |              api_error_to_str(err), errno); | ||||||
|     } |  | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|   // Do not set last_traffic_ on send |   // Do not set last_traffic_ on send | ||||||
| @@ -1630,11 +1620,11 @@ bool APIConnection::send_buffer(ProtoWriteBuffer buffer, uint8_t message_type) { | |||||||
| } | } | ||||||
| void APIConnection::on_unauthenticated_access() { | void APIConnection::on_unauthenticated_access() { | ||||||
|   this->on_fatal_error(); |   this->on_fatal_error(); | ||||||
|   ESP_LOGD(TAG, "%s requested access without authentication", this->get_client_combined_info().c_str()); |   ESP_LOGD(TAG, "%s access without authentication", this->get_client_combined_info().c_str()); | ||||||
| } | } | ||||||
| void APIConnection::on_no_setup_connection() { | void APIConnection::on_no_setup_connection() { | ||||||
|   this->on_fatal_error(); |   this->on_fatal_error(); | ||||||
|   ESP_LOGD(TAG, "%s requested access without full connection", this->get_client_combined_info().c_str()); |   ESP_LOGD(TAG, "%s access without full connection", this->get_client_combined_info().c_str()); | ||||||
| } | } | ||||||
| void APIConnection::on_fatal_error() { | void APIConnection::on_fatal_error() { | ||||||
|   this->helper_->close(); |   this->helper_->close(); | ||||||
| @@ -1799,12 +1789,8 @@ void APIConnection::process_batch_() { | |||||||
|       this->helper_->write_protobuf_packets(ProtoWriteBuffer{&this->parent_->get_shared_buffer_ref()}, packet_info); |       this->helper_->write_protobuf_packets(ProtoWriteBuffer{&this->parent_->get_shared_buffer_ref()}, packet_info); | ||||||
|   if (err != APIError::OK && err != APIError::WOULD_BLOCK) { |   if (err != APIError::OK && err != APIError::WOULD_BLOCK) { | ||||||
|     on_fatal_error(); |     on_fatal_error(); | ||||||
|     if (err == APIError::SOCKET_WRITE_FAILED && errno == ECONNRESET) { |     ESP_LOGW(TAG, "%s: Batch write failed %s errno=%d", this->get_client_combined_info().c_str(), api_error_to_str(err), | ||||||
|       ESP_LOGW(TAG, "%s: Connection reset during batch write", this->get_client_combined_info().c_str()); |              errno); | ||||||
|     } else { |  | ||||||
|       ESP_LOGW(TAG, "%s: Batch write failed %s errno=%d", this->get_client_combined_info().c_str(), |  | ||||||
|                api_error_to_str(err), errno); |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
| #ifdef HAS_PROTO_MESSAGE_DUMP | #ifdef HAS_PROTO_MESSAGE_DUMP | ||||||
|   | |||||||
| @@ -428,7 +428,7 @@ bool APIServer::save_noise_psk(psk_t psk, bool make_active) { | |||||||
|   ESP_LOGD(TAG, "Noise PSK saved"); |   ESP_LOGD(TAG, "Noise PSK saved"); | ||||||
|   if (make_active) { |   if (make_active) { | ||||||
|     this->set_timeout(100, [this, psk]() { |     this->set_timeout(100, [this, psk]() { | ||||||
|       ESP_LOGW(TAG, "Disconnecting all clients to reset connections"); |       ESP_LOGW(TAG, "Disconnecting all clients to reset PSK"); | ||||||
|       this->set_noise_psk(psk); |       this->set_noise_psk(psk); | ||||||
|       for (auto &c : this->clients_) { |       for (auto &c : this->clients_) { | ||||||
|         c->send_message(DisconnectRequest()); |         c->send_message(DisconnectRequest()); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user