Commit Graph

97 Commits

Author SHA1 Message Date
J. Nick Koston 2c6f3d40ed
Add optional basic cython implementation for frame_helper (#564) 2023-10-12 08:12:39 -10:00
J. Nick Koston 275ca3a660
Run tests on multiple python versions (#566) 2023-10-11 12:52:19 -10:00
J. Nick Koston 96a448b02c
Fix bad except clauses order (#565) 2023-10-11 12:22:50 -10:00
J. Nick Koston aecade1e1b
Small cleanups to connection code (#554) 2023-09-24 23:26:52 +02:00
J. Nick Koston 11a19438cb
Avoid a few calls to fetch loop time (#533) 2023-09-04 12:56:23 -05:00
J. Nick Koston 3bb2c085e6
Increase SO_RCVBUF to 2MiB to reduce chance of ESP32 cam disconnects (#515) 2023-07-27 08:47:01 -05:00
J. Nick Koston 8acefd1d05
Fix BadNameAPIError to include the expected name (#514) 2023-07-27 08:37:31 -05:00
J. Nick Koston b9ec1d0bc5
Remove impossible check in send_message_await_response (#513) 2023-07-27 08:32:30 -05:00
J. Nick Koston 48b56ad25c
Fix not trying to disconnect cleanly on forced disconnect (#512) 2023-07-27 08:28:14 -05:00
J. Nick Koston 762d00faff
Fix failed disconnect requests not being logged (#511) 2023-07-27 08:25:46 -05:00
J. Nick Koston 2df4effef3
Reduce overhead to process packets (#503) 2023-07-21 04:37:17 -05:00
J. Nick Koston 49d86f940e
Refactor frame helpers to share more code (#500) 2023-07-21 03:11:04 -05:00
J. Nick Koston 589235c79d
Fix api calls not raising until timeout when the ESPHome device disconnects while waiting for a response (#498) 2023-07-20 12:01:57 -05:00
J. Nick Koston 82ab7e489d
Add messages to all task cancels (#497) 2023-07-19 15:37:59 -05:00
J. Nick Koston d63b9bbf5d
Upgrade python code to 3.9 (#496) 2023-07-19 15:33:28 -05:00
J. Nick Koston 2d89b9e267
Cleanup bluetooth connection failure code (#495) 2023-07-19 14:25:32 -05:00
J. Nick Koston 65e659e4a5
Split _frame_helper into plain_text and noise (#491) 2023-07-18 14:28:56 -05:00
J. Nick Koston 7b215038f7
Cleanup connection send_message from earlier refactoring (#488) 2023-07-18 13:15:56 -05:00
J. Nick Koston 7196ca6ee8
Speed up encrypted handshake (#487) 2023-07-17 14:51:47 -10:00
J. Nick Koston ab3c096c9b
Speed up noise handshake (#486) 2023-07-17 14:13:58 -10:00
J. Nick Koston 0c1f710869
Cleanups to connect process (#485) 2023-07-17 10:11:34 -10:00
J. Nick Koston e909891ebe
Fix pong timer warning when pending ping is skipped (#483) 2023-07-17 09:27:59 -10:00
J. Nick Koston 6aeea79884
Speed up BLE connections (#482) 2023-07-15 11:16:44 -10:00
J. Nick Koston ed0a611994
Improve error reporting for authenticated vs non-authenticated requests (#481) 2023-07-15 10:34:46 -10:00
J. Nick Koston 24cddc22a8
Reduce overhead to send and process a complex message (#480) 2023-07-15 10:12:29 -10:00
J. Nick Koston f8ffa6ae83
Reduce overhead to send messages that need to wait for responses (#479) 2023-07-15 09:58:45 -10:00
J. Nick Koston bbfa761aa0
Speed up timeout implementation in send_message_await_response_complex (#478) 2023-07-15 09:28:06 -10:00
J. Nick Koston 8306058703
Improve performance of processing incoming packets (#475) 2023-07-15 08:48:47 -10:00
J. Nick Koston 0dbab1ebac
Make do_append and do_stop optional in send_message_await_response_complex (#474) 2023-07-15 08:31:37 -10:00
J. Nick Koston 0a0172fa89
Reduce latancy when sending complex messages (#473) 2023-07-15 08:24:03 -10:00
J. Nick Koston ce07e11e93
Reduce overhead to handle read exceptions (#472) 2023-07-15 08:18:31 -10:00
J. Nick Koston 0dfaa58f07
Simplify logic in send_message_callback_response (#471) 2023-07-15 08:00:33 -10:00
J. Nick Koston 7a80e3529b
Improve error reporting when encryption is disabled on device but client requests it (#464) 2023-07-10 21:15:14 -10:00
J. Nick Koston 6b0d84110e
Avoid sending pings when we have traffic (#463) 2023-07-10 21:00:24 -10:00
J. Nick Koston 69b4c42cf3
Add checks for debug logging in the write path (#458) 2023-07-03 19:54:22 -05:00
J. Nick Koston 974b8e3ac1
Check if debug is enabled once per packet (#455) 2023-07-02 16:55:36 -05:00
J. Nick Koston 34f6badcde
Use slots for APIConnection and APIClient (#453) 2023-07-01 16:31:58 -05:00
J. Nick Koston eaa5e295cf
Fix more cases where incorrect encryption keys were not detected (#447) 2023-06-24 10:47:24 -05:00
Jesse Hills 44f0b8027d
Add raw ble advertisements support (#439)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-06-07 00:42:57 -05:00
J. Nick Koston 6b32b7c5a3
Avoid one dict lookup when processing packets (#431) 2023-05-08 10:07:51 -05:00
J. Nick Koston 8261700bdd
Fix disconnecting while handshake is in process (#428) 2023-05-04 12:47:03 -05:00
J. Nick Koston de9b7266f1
Refactor reconnect logic to reduce complexity (#426) 2023-04-25 16:11:40 -04:00
J. Nick Koston a539a6e950
Improve data throughput (#421) 2023-04-19 20:47:38 -10:00
J. Nick Koston eacf758900
Allow any message from the remote to cancel the pong timer (#401) 2023-03-13 09:56:36 -10:00
J. Nick Koston 0327f75414
Adjust ping timeout to prevent premature disconnections (#395) 2023-03-05 18:56:22 -10:00
J. Nick Koston 51d581dd9c
Cooldown before reconnecting on expected disconnect (#397) 2023-03-05 18:54:54 -10:00
J. Nick Koston 81f6e67038
Fix disconnect message not being sent when disconnecting during hello phase (#396) 2023-03-05 18:52:55 -10:00
J. Nick Koston 0656b65ca1
Ensure we hold strong references to tasks (#382) 2023-02-13 14:11:58 +13:00
dependabot[bot] 422f25f776
Bump pylint from 2.15.10 to 2.16.1 (#374)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-02-09 12:03:38 +13:00
J. Nick Koston a83838d025
Fix Invalid protobuf message: expected bytes, bytearray found and add coverage (#359) 2023-01-07 14:24:24 -10:00