public NanoHandler(NanoMessageBus nanoMessageBus, Guid clientId, NanoDocumentId nanoDocumentId, Func <NanoMessage, Task> onMessage) { _nanoMessageBus = nanoMessageBus; _onMessage = onMessage; ClientId = clientId; NanoDocumentId = nanoDocumentId; HandlerId = Guid.NewGuid(); }
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); }
public NanoSubsciptionKey(Type messageType, NanoDocumentId nanoDocumentId) { MessageType = messageType; NanoDocumentId = nanoDocumentId; }