Commit Graph

104 Commits

Author SHA1 Message Date
J. Nick Koston 359ed510a2
Move mypy disable for async_timeout to mypy.ini (#593) 2023-10-20 06:25:20 -10:00
J. Nick Koston f31b250fe2
Remove unless local variable in _connect_resolve_host (#588) 2023-10-17 14:05:39 -10:00
J. Nick Koston c5f4bfa561
Small reduction in connect overhead (#578) 2023-10-15 12:01:00 -10:00
J. Nick Koston b7449d4ded
Split connection process to enable faster reconnects (#576) 2023-10-14 16:03:12 -10:00
J. Nick Koston dc367b67bb
Narrow msg_types to only accept tuples (#574) 2023-10-13 18:25:27 -10:00
J. Nick Koston 74facc8fef
Improve performance of processing incoming packets (#573) 2023-10-13 18:01:34 -10:00
J. Nick Koston f9fa36a89c
Remove async_timeout requirement on python 3.11+ (#570) 2023-10-12 10:03:30 -10:00
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