moonfire-nvr/server/src
Scott Lamb 7b0a489541 rework stream threading model
Fixes #206. 307a388 switched to creating a single-threaded runtime for
each stream, then destroying prior to waiting for TEARDOWN on shutdown.
This meant that the shutdown process could panic with this error:

```
panic at '/home/slamb/git/retina/src/client/mod.rs:219:22': teardown Sender shouldn't be dropped: RecvError(())
```

Let's switch back to expecting a multithreaded runtime context.
Create one for the config subcommand, too.

Don't go all the way back to the old code with its channels, though.
That had the downside that the underlying retina::Session might outlive
the caller, so there could still be an active session when we start
the next one. I haven't seen this cause problems in practice but it
still doesn't seem right.
2022-04-13 11:39:38 -07:00
..
cmds rework stream threading model 2022-04-13 11:39:38 -07:00
testdata restructure into "server" and "ui" subdirs 2021-01-22 22:01:17 -08:00
web check WebSocket origin 2022-03-22 14:51:12 -07:00
body.rs read sample files from dedicated threads 2021-06-04 19:50:13 -07:00
h264.rs drop ffmpeg support 2022-03-18 13:22:47 -07:00
json.rs include ext stream in API response; better docs 2021-11-23 13:04:02 -08:00
main.rs shutdown better 2021-09-23 16:33:29 -07:00
mp4.rs drop ffmpeg support 2022-03-18 13:22:47 -07:00
slices.rs address some no-op clippy warnings 2021-05-17 15:00:51 -07:00
stream.rs rework stream threading model 2022-04-13 11:39:38 -07:00
streamer.rs rework stream threading model 2022-04-13 11:39:38 -07:00