package smart import ( "gitea.unprism.ru/KRBL/n9m/v2/pkg/models" "gitea.unprism.ru/KRBL/n9m/v2/pkg/protocol" "net" "sync" ) type ProcessFunc func(*SmartPackage, protocol.Package) error type AlarmProcessFunc func(*SmartPackage, protocol.Package, models.SendAlarmInfoResponse) error type SmartPackage struct { pack protocol.Package conn net.Conn buff []byte payloadProcess map[protocol.PayloadType]ProcessFunc jsonProcess map[string]ProcessFunc alarmProcess map[protocol.AlarmType]AlarmProcessFunc Storage map[string]interface{} } type SmartChannelPackage struct { pack *SmartPackage mainPack *SmartPackage channelName string mutex sync.RWMutex ssrc map[uint16][]func([]byte) error }