mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
19 lines
1.2 KiB
Go
19 lines
1.2 KiB
Go
package session
|
|
|
|
// Observer получает переходы состояния сессии. Дополняет Snapshot: снимок нужен
|
|
// для метрик на тик UI, наблюдатель - чтобы хост не опрашивал стадию ради
|
|
// событий, которые случаются несколько раз за сессию.
|
|
//
|
|
// Контракт:
|
|
// - OnPhase вызывается только при изменении (стадия, число стримов или текст
|
|
// ошибки), не на каждый тик;
|
|
// - вызовы сериализованы: последовательность приходит из одной горутины, локи
|
|
// на стороне хоста не нужны;
|
|
// - реализация не должна блокировать - она стоит на пути status-тикера.
|
|
//
|
|
// Логи идут не сюда, а через logx.Logger из Deps: уровень задаёт вызванный
|
|
// метод, второго канала для того же потока заводить незачем.
|
|
type Observer interface {
|
|
OnPhase(phase Phase, streams, total int, errMsg string)
|
|
}
|