"time"
)
-type NotificationManager struct{
- rnibReaderProvider func() reader.RNibReader
- rnibWriterProvider func() rNibWriter.RNibWriter
+type NotificationManager struct {
+ notificationHandlerProvider *providers.NotificationHandlerProvider
}
func NewNotificationManager(rnibReaderProvider func() reader.RNibReader, rnibWriterProvider func() rNibWriter.RNibWriter) *NotificationManager {
+ notificationHandlerProvider := providers.NewNotificationHandlerProvider(rnibReaderProvider, rnibWriterProvider)
+
return &NotificationManager{
- rnibReaderProvider: rnibReaderProvider,
- rnibWriterProvider: rnibWriterProvider,
+ notificationHandlerProvider: notificationHandlerProvider,
}
}
+
//TODO add NEWHandler with log
-func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse){
+func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse) {
- provider := providers.NewNotificationHandlerProvider(m.rnibReaderProvider, m.rnibWriterProvider)
- notificationHandler, err := provider.GetNotificationHandler(mbuf.MType)
+ notificationHandler, err := m.notificationHandlerProvider.GetNotificationHandler(mbuf.MType)
if err != nil {
logger.Errorf(fmt.Sprintf("%s", err))
return
}
- notificationRequest := models.NotificationRequest{RanName: mbuf.Meid, Len: mbuf.Len, Payload: *mbuf.Payload,
- StartTime: time.Now(), TransactionId: string(*mbuf.XAction)}
-
- go notificationHandler.Handle(logger, e2Sessions, ¬ificationRequest, responseChannel)
-}
\ No newline at end of file
+ notificationRequest := models.NewNotificationRequest(mbuf.Meid, *mbuf.Payload, time.Now(), string(*mbuf.XAction))
+ go notificationHandler.Handle(logger, e2Sessions, notificationRequest, responseChannel)
+}