Commit Graph

52 Commits

Author SHA1 Message Date
J. Nick Koston e2bbbf4da5
Avoid creating tasks for starting/finishing the connection (#826) 2024-02-16 20:47:26 -06:00
dependabot[bot] d63f10d6e3
Bump black from 23.12.1 to 24.1.1 (#812)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-04 21:39:47 -06:00
J. Nick Koston 5b4bdb8716
Refactor tests for new pytest-asyncio (#820) 2024-02-04 21:30:19 -06:00
J. Nick Koston e2365545f3
Make failure to increase the recv buffer size non-fatal (#802) 2023-12-19 10:00:06 -10:00
J. Nick Koston de1d08493d
Add support for passing multiple addresses to the client (#796) 2023-12-12 11:22:14 -10:00
J. Nick Koston 05ee53c16d
Add happy eyeballs support (RFC 8305) (#789) 2023-12-12 07:24:31 -10:00
J. Nick Koston 1b51530642
Reduce duplicate code between connection and frame helper (#763) 2023-11-27 23:51:38 -06:00
J. Nick Koston ab5834ca0d
Fix not backing off when connection requires encryption (#762) 2023-11-27 18:39:22 -06:00
J. Nick Koston 99380487a5
Add test for resolver timing out while connecting (#713) 2023-11-25 10:08:34 -06:00
J. Nick Koston 66e654084b
Add test for unexpected hello responses (#712) 2023-11-25 09:58:30 -06:00
J. Nick Koston 3711d54ffa
Add test for trying to finish an unstarted connection (#706) 2023-11-25 08:44:25 -06:00
J. Nick Koston 3abf9ff8d4
Make force_disconnect a normal function (#705) 2023-11-25 08:39:04 -06:00
J. Nick Koston b67e19bd94
Add test for attempting to reuse an APIConnection object raises (#703) 2023-11-25 08:18:08 -06:00
J. Nick Koston 9edba66d30
Add test coverage for invalid protobuf messages (#701) 2023-11-25 08:10:26 -06:00
J. Nick Koston 67661dbd7f
Avoid expensive debug logging checks in packet processor (#700) 2023-11-25 07:51:48 -06:00
J. Nick Koston e01f22d99a
Fix race in cleaning up connection (#698) 2023-11-25 07:11:34 -06:00
J. Nick Koston 095ef822f1
Fix error in noise frame helper were we could write when the writer was unset (#685) 2023-11-24 09:42:56 -06:00
J. Nick Koston e1447dd249
Improve connection tests for handling pings (#663) 2023-11-23 13:36:30 +01:00
J. Nick Koston 0afa8c6832
Remove in_do_connect contextvar (#652) 2023-11-21 15:36:43 +01:00
J. Nick Koston f88b15e33b
Fix `eof_received` not raising SocketClosedAPIError (#651) 2023-11-21 14:56:31 +01:00
J. Nick Koston ccf2f1f245
Add tests for ping responses (#650) 2023-11-21 14:01:58 +01:00
J. Nick Koston 298aa01b00
Small cleanups to connection (#648) 2023-11-21 13:08:48 +01:00
J. Nick Koston f783438a7d
Ensure expected_disconnect is True when sending DisconnectResponse fails (#646) 2023-11-20 19:08:29 +01:00
J. Nick Koston 3ccb36b6fc
Refactor frame helper to avoid py conversions when processing packets (#641) 2023-11-16 12:24:50 -06:00
J. Nick Koston 3ffcca3bdd
Make log runner code reusable and add coverage (#630) 2023-11-11 13:06:27 -06:00
J. Nick Koston b227f79dad
Refactor bluetooth client functions to reduce duplicate code (#629) 2023-11-10 17:14:00 -06:00
J. Nick Koston a15b96c76b
Send hello and login asynchronously to speed up connecting (#628) 2023-11-09 19:17:53 -06:00
J. Nick Koston 8357a3a0c6
Remove extra timeouts (#610) 2023-10-31 23:20:22 -05:00
J. Nick Koston 1d2682a76e
Improve logging on clean disconnect failure (#609) 2023-10-31 23:07:40 -05:00
J. Nick Koston e1c42e95bf
Ensure frame_helper is always closed before the underlying socket (#602) 2023-10-23 19:22:08 -05:00
J. Nick Koston 1630816dc8
Fix unhandled exception when handshake times out (#601) 2023-10-23 12:32:20 -05: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 275ca3a660
Run tests on multiple python versions (#566) 2023-10-11 12:52:19 -10:00
J. Nick Koston 49d86f940e
Refactor frame helpers to share more code (#500) 2023-07-21 03:11:04 -05:00
J. Nick Koston ab3c096c9b
Speed up noise handshake (#486) 2023-07-17 14:13:58 -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 8306058703
Improve performance of processing incoming packets (#475) 2023-07-15 08:48:47 -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 34f6badcde
Use slots for APIConnection and APIClient (#453) 2023-07-01 16:31:58 -05:00
J. Nick Koston 51d581dd9c
Cooldown before reconnecting on expected disconnect (#397) 2023-03-05 18:54:54 -10: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
J. Nick Koston 2886d361f0
Simplify connection flow with an asyncio.Protocol (#352) 2023-01-05 23:24:10 -05:00
Otto Winter 9964034f18
Expect a name for connections (#122)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-20 12:03:36 +01:00
Otto Winter 3b8b2d9d66
Fix login error cleanup (#126) 2021-10-21 19:20:05 +02:00
Otto Winter f3aaf0391d
Remove eventloop parameter (#110) 2021-10-13 10:15:30 +02:00
Otto Winter 06806b4490
Fix wrapping native RequiresEncryption error types (#113) 2021-10-05 10:56:35 +02:00
Otto Winter 5b99d5c1dd
Refactor connection class to resolve connect issues (#108) 2021-10-04 12:12:43 +02:00
Otto Winter 015e9c8d5e
Add noise API transport support (#100) 2021-09-09 09:12:07 +12:00