You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.8 KiB
Plaintext
43 lines
1.8 KiB
Plaintext
3 years ago
|
alright time to do this correctly because this is brutal
|
||
|
|
||
|
7/18
|
||
|
DM -> RLC -> RM -> Sys -> TM -> TC
|
||
|
this basic struct will guide us
|
||
|
|
||
|
Work backwards to start from what the TC wants and work to how to deliver
|
||
|
|
||
|
TC
|
||
|
- wants to know what the overall reactor status are and the associated device status on selection
|
||
|
- its OK if this is a bit out of date, but probably want a synchronized view between clients
|
||
|
- could be a performance hit but f it
|
||
|
|
||
|
TM
|
||
|
Needs to:
|
||
|
- provide up to date information about the reactors connected and know which reactor is selected and provide updates for it
|
||
|
Relies on
|
||
|
- Needs a central struct, 2 methods for data
|
||
|
- call on request to query for ir
|
||
|
- keep its own copy and empty its buffer on request
|
||
|
- this is probably the best route
|
||
|
|
||
|
So TM really needs an intermediate struct a sort of device buffer
|
||
|
- I like the thing we had before with the channels and embedding but it needs to be fleshed out
|
||
|
|
||
|
All of this resides on the server which we can use to our advantage
|
||
|
Lets flesh out the TM a bit more
|
||
|
|
||
|
TM sys struct
|
||
|
this struct will attach itself to a channel and buffer updates for that channel
|
||
|
has to have a few methods
|
||
|
- GetBuffer() returns any new entries and empties the buffer
|
||
|
- ListenTo(reactorID) starts listening to a reactor and returns any devices on that branch so the client can refresh its list
|
||
|
- Refresh() forces the client to get all reactors and devices if listening to any branch
|
||
|
NewSysMonitor() has to return struct and current client status to load fortui client
|
||
|
|
||
|
this client will be given to a TUI at creation
|
||
|
|
||
|
TUI can then call associated commands to get updates for the client
|
||
|
|
||
|
TM sys struct just relies on underlying sys implementation which seems to be working south of the RM so i am just going to work on this TM sys struct for now
|
||
|
|