Пример #1
0
 public NanoHandler(NanoMessageBus nanoMessageBus, Guid clientId, NanoDocumentId nanoDocumentId, Func <NanoMessage, Task> onMessage)
 {
     _nanoMessageBus = nanoMessageBus;
     _onMessage      = onMessage;
     ClientId        = clientId;
     NanoDocumentId  = nanoDocumentId;
     HandlerId       = Guid.NewGuid();
 }
Пример #2
0
        public NanoHandler AddHandler(Guid clientId, NanoDocumentId nanoDocumentId, Func <NanoMessage, Task> onMessage)
        {
            var handler = new NanoHandler(this, clientId, nanoDocumentId, onMessage);

            _handlers.TryAdd(handler.HandlerId, handler);

            var nanoHandlers = _handlersByDocumentId.GetOrAdd(nanoDocumentId, new List <NanoHandler>());

            lock (nanoHandlers)
            {
                nanoHandlers.Add(handler);
            }

            return(handler);
        }
Пример #3
0
 public NanoSubsciptionKey(Type messageType, NanoDocumentId nanoDocumentId)
 {
     MessageType    = messageType;
     NanoDocumentId = nanoDocumentId;
 }