Commit graph

9 commits

Author SHA1 Message Date
Christopher Willis-Ford
953144379d Mac: misc reliability improvements
An `EventAwaiter` timeout now throws a `TimeoutException` instead of a
`TaskCanceledException`.

Disconnecting a micro:bit while subscribed for change notifications was
causing an exception because a notification was being triggered after
the socket closed. Fixing that led to an attempt to close the socket
after it was closed and set to `null`. That one was solved with a null
check.

For BT, connection is still not reliable but it's a step in the right
direction... I think. The socket lock is now held while opening the
RFCOMM channel, which is an awful long time to hold a lock, but really
no other thread should be messing with the socket during that time so I
guess it's the right thing to do. I also added debug printouts on the
RFCOMM event delegate.
2023-01-13 08:21:37 -08:00
Christopher Willis-Ford
db051ddf65 Mac: add status bar item 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
bddf0dc50f clean up JsonRpc2Exception a bit 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
7ec18de421 share BTSession's address privacy implementation with BLESession 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
0b0b8802a8 add an extension to lock a SemaphoreSlim with 'using' 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
ac5e4a4431 close BLE session if the device disconnects 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
172fc2c534 switch to Fleck for WebSockets 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
2c9e4c600a fixed usings and namespaces 2023-01-13 08:21:36 -08:00
Christopher Willis-Ford
2897e2d16f begin splitting scratch-link into scratch-link-{common,mac}
Note that this currently doesn't build since the files have not yet been
adapted to the new framework.
2023-01-13 08:21:36 -08:00
Renamed from scratch-link/Session.cs (Browse further)