Restructure stream inits

This commit is contained in:
Nonoo 2020-10-26 09:13:30 +01:00
parent d2efa14e9c
commit 49d6fcab4b
4 changed files with 21 additions and 40 deletions

View file

@ -127,7 +127,11 @@ func (s *audioStream) loop() {
}
}
func (s *audioStream) start(devName string) error {
func (s *audioStream) init(devName string) error {
if err := s.common.init("audio", 50003); err != nil {
return err
}
if err := s.audio.init(devName); err != nil {
return err
}
@ -142,6 +146,9 @@ func (s *audioStream) start(devName string) error {
log.Print("stream started")
s.rxSeqBufEntryChan = make(chan seqBufEntry)
s.rxSeqBuf.init(audioRxSeqBufLength, 0xffff, 0, s.rxSeqBufEntryChan)
s.timeoutTimer = time.NewTimer(audioTimeoutDuration)
s.deinitNeededChan = make(chan bool)
@ -150,15 +157,6 @@ func (s *audioStream) start(devName string) error {
return nil
}
func (s *audioStream) init() error {
if err := s.common.init("audio", 50003); err != nil {
return err
}
s.rxSeqBufEntryChan = make(chan seqBufEntry)
s.rxSeqBuf.init(audioRxSeqBufLength, 0xffff, 0, s.rxSeqBufEntryChan)
return nil
}
func (s *audioStream) deinit() {
if s.deinitNeededChan != nil {
s.deinitNeededChan <- true

View file

@ -204,11 +204,11 @@ func (s *controlStream) handleRead(r []byte) error {
copy(s.authID[:], r[26:32])
s.gotAuthID = true
if err := s.serial.start(devName); err != nil {
if err := s.serial.init(devName); err != nil {
return errors.New("serial/" + err.Error())
}
if err := s.audio.start(devName); err != nil {
if err := s.audio.init(devName); err != nil {
return errors.New("audio/" + err.Error())
}
@ -254,7 +254,9 @@ func (s *controlStream) loop() {
}
}
func (s *controlStream) start() error {
func (s *controlStream) init() error {
log.Debug("init")
if err := s.common.init("control", 50001); err != nil {
return err
}
@ -308,18 +310,6 @@ func (s *controlStream) start() error {
return nil
}
func (s *controlStream) init() error {
log.Debug("init")
if err := s.serial.init(); err != nil {
return err
}
if err := s.audio.init(); err != nil {
return err
}
return nil
}
func (s *controlStream) deinit() {
s.deinitializing = true
s.serialAndAudioStreamOpened = false

View file

@ -32,11 +32,6 @@ func runControlStream(osSignal chan os.Signal) (shouldExit bool, exitCode int) {
c.deinit()
return true, 1
}
if err := c.start(); err != nil {
log.Error(err)
c.deinit()
return
}
select {
case <-gotErrChan:

View file

@ -209,7 +209,11 @@ func (s *serialStream) loop() {
}
}
func (s *serialStream) start(devName string) error {
func (s *serialStream) init(devName string) error {
if err := s.common.init("serial", 50002); err != nil {
return err
}
if enableSerialDevice {
if err := s.serialPort.init(devName); err != nil {
return err
@ -233,6 +237,9 @@ func (s *serialStream) start(devName string) error {
return err
}
s.rxSeqBufEntryChan = make(chan seqBufEntry)
s.rxSeqBuf.init(serialRxSeqBufLength, 0xffff, 0, s.rxSeqBufEntryChan)
s.deinitNeededChan = make(chan bool)
s.deinitFinishedChan = make(chan bool)
@ -243,15 +250,6 @@ func (s *serialStream) start(devName string) error {
return nil
}
func (s *serialStream) init() error {
if err := s.common.init("serial", 50002); err != nil {
return err
}
s.rxSeqBufEntryChan = make(chan seqBufEntry)
s.rxSeqBuf.init(serialRxSeqBufLength, 0xffff, 0, s.rxSeqBufEntryChan)
return nil
}
func (s *serialStream) deinit() {
if s.common.conn != nil {
_ = s.sendOpenClose(true)