project structure refactoring

This commit is contained in:
Artem
2024-11-05 23:47:00 +01:00
parent 1f5a56cc5d
commit c228921237
16 changed files with 51 additions and 47 deletions

54
stream/ustreamer.go Normal file
View File

@@ -0,0 +1,54 @@
package stream
import (
"rkkvm/config"
"rkkvm/external/process"
"time"
log "github.com/sirupsen/logrus"
)
var ustreamer *UStreamer
type UStreamer struct {
*process.ExtProcess
config.UStreamer
state State
}
func InitUStreamer(path string, args []string) *UStreamer {
ustreamer = &UStreamer{
ExtProcess: process.Init(path, args),
UStreamer: config.Get().UStreamer,
}
return ustreamer
}
func GetUStreamer() *UStreamer {
return ustreamer
}
func (u *UStreamer) MonitorState() {
ticker := time.NewTicker(1 * time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
{
state, err := GetState()
if err != nil {
u.state = State{}
log.Errorf("Failed to get process state: %v", err)
continue
}
u.state = state
}
}
}
}
func (u *UStreamer) GetState() State {
return u.state
}