internal/chat: мультиканальный Router (UserID-сессии, routing, pending Ask/ответ) + Channel интерфейс
All checks were successful
build-test / build (push) Successful in 41s
All checks were successful
build-test / build (push) Successful in 41s
This commit is contained in:
20
internal/chat/errors.go
Normal file
20
internal/chat/errors.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package chat
|
||||
|
||||
import "errors"
|
||||
|
||||
// Классы ошибок (M1..M5) — по конвенции проекта. Определены как отдельные
|
||||
// sentinel-ошибки, чтобы вызывающий мог отличить их errors.Is().
|
||||
|
||||
var (
|
||||
// M1 — нет маршрута для UserID. Send → no-op; Ask → ошибка.
|
||||
ErrRouteNotFound = errors.New("chat: route not found for user")
|
||||
|
||||
// M2 — канал не смог доставить исходящее.
|
||||
ErrSendFailed = errors.New("chat: send failed")
|
||||
|
||||
// M3 — Ask при уже открытом pending-вопросе (не затираем).
|
||||
ErrWaitingAnswer = errors.New("chat: pending question already open")
|
||||
|
||||
// M5 — Run-цикл канала упал фатально (Router перезапускает канал).
|
||||
ErrChannelFatal = errors.New("chat: channel fatal")
|
||||
)
|
||||
Reference in New Issue
Block a user