public async Task PublishAsync <TEvent>(TEvent @event, PublishSettings <TEvent> settings = null) { var serializer = settings?.Serializer ?? _defaultSerializerFactory.Create <TEvent>(); var hubClientEvent = new HubClientEvent(serializer.Serialize(@event), settings?.DestinationEndpointId); await _hubClientTransport.DeliverAsync(hubClientEvent); }
public async Task DeliverAsync(HubClientEvent hubClientEvent) { var endpointIds = hubClientEvent.RecipientId.HasValue ? new[] { hubClientEvent.RecipientId.Value } : GetEndpointIds(hubClientEvent.Event.TypeId); var hubEvent = new HubEvent(hubClientEvent.Event, endpointIds); await _hubEventRepository.UpdateAsync(hubEvent); _queue.Enqueue(hubEvent); }
async Task IHubClientTransport.DeliverAsync(HubClientEvent hubClientEvent) { await _hub.DeliverAsync(hubClientEvent); }
internal async Task DeliverAsync(HubClientEvent hubClientEvent) { await _hub.DeliverAsync(hubClientEvent); }