Commit graph

64 commits

Author SHA1 Message Date
hinto-janaiyo
9b1a815089
helper: p2pool - fix uptime, format with commas and spaces 2022-12-06 15:17:37 -05:00
hinto-janaiyo
e1829f967c
helper: p2pool - process output regardless of API file status 2022-12-06 13:23:16 -05:00
hinto-janaiyo
2a9ebd4cdf
helper: p2pool - connect major [Helper] APIs to GUI thread
Lots of stuff in this commit:
1. Implement [Start/Stop/Restart] and make it not possible for
the GUI to interact with that UI if [Helper] is doing stuff.
This prevents the obviously bad situation where [Helper] is in
the middle of spawning P2Pool, but the user is still allowed to
start it again, which would spawn another P2Pool. The main GUI
matches on the state and disables the appropriate UI so the
user can't do this.

2. Sync P2Pool's [Priv] and [Pub] output so that the GUI thread
is only rendering it once a second. All of Gupax also refreshes
at least once a second now as well.

3. Match the [ProcessState] with some colors in the GUI

4. GUI thread no longer directly starts/stops/restarts a process.
It will call a function in [Helper] that acts as a proxy.

5. The tokio [async_spawn_p2pool_watchdog()] function that was
a clone of the PTY version (but had async stuff) and all of the
related functions like the async STDOUT/STDERR reader is now
completely gone. It doesn't make sense to write the same code
twice, both [Simple] and [Advanced] will have a PTY, only
difference being the [Simple] UI won't have an input box.

6. P2Pool's exit code is now examined, either success or failure

7. Output was moved into it's own [Arc<Mutex>]. This allows for
more efficient writing/reading since before I had to lock all of
[Helper], which caused some noticable deadlocks in the GUI.

8. New [tab] field in [State<Gupax>], and GUI option to select
the tab that Gupax will start on.
2022-12-05 22:50:00 -05:00
hinto-janaiyo
1f3a472869
helper: p2pool - stdout payouts/xmr parser, priv -> pub functions 2022-12-05 14:55:50 -05:00
hinto-janaiyo
5d293054cf
helper: p2pool - fix args, basic watchdog loop, add STDOUT/STDERR handle to [Process] struct 2022-12-04 11:24:38 -05:00
hinto-janaiyo
d9d71c40d4
helper: translate priv p2pool/xmrig API into pub [Human*] structs 2022-12-03 20:12:40 -05:00
hinto-janaiyo
1a7df1e355
helper: turn [Helper] fields into [Arc]'s, add p2pool watchdog 2022-12-03 16:02:34 -05:00
hinto-janaiyo
0a8deee359
helper: add functions for p2pool/xmrig UI -> command arguments 2022-12-03 13:41:14 -05:00
hinto-janaiyo
f33207b503
main: fade in/out of black when resizing frame 2022-12-02 14:00:03 -05:00
hinto-janaiyo
bfbe0ee969
helper: map xmrig/p2pool JSON API key/values to structs for serde 2022-12-01 23:13:53 -05:00
hinto-janaiyo
cb28d705b4
helper: async read both STDOUT/STDERR in separate tokio runtime 2022-12-01 15:51:05 -05:00
hinto-janaiyo
1d8cd88309
helper: create wireframe of the [Helper::helper()] event loop 2022-11-30 22:03:49 -05:00
hinto-janaiyo
c6dad5849d
helper: add initial struct, add [HumanTime] for formatting uptime 2022-11-30 17:21:55 -05:00
hinto-janaiyo
eb4a70c483
helper: add stdout/stderr pipe threads to model 2022-11-30 16:08:06 -05:00
Renamed from src/process.rs (Browse further)