Task <ISagaInstance> ISagaActivator.Activate <TEvent>(IReceiveEvent <TEvent> eventReceiver, TEvent @event, CancellationToken cancellationToken) { Contract.Requires <ArgumentException>(eventReceiver != null, nameof(eventReceiver)); Contract.Requires <ArgumentException>(@event != null, nameof(@event)); Contract.Ensures(Contract.Result <Task <ISagaInstance> >() != null); return(null); }
ISagaInstance ISagaInstanceActivator.Activate <TEvent>(IReceiveEvent <TEvent> eventReceiver, SagaMetadata metadata, IClock clock) { Contract.Requires <ArgumentNullException>(eventReceiver != null, nameof(eventReceiver)); Contract.Requires <ArgumentNullException>(metadata != null, nameof(metadata)); Contract.Requires <ArgumentNullException>(clock != null, nameof(clock)); Contract.Ensures(Contract.Result <ISagaInstance>() != null); return(null); }
public Connection(string name, TcpClient c, IReceiveEvent ire, ConnectionDroppedDelegate dropConDelegate) { onConnectionDropDelegate = dropConDelegate; IsServer = false; Name = name; tcpClient = c; EventHandler = ire; semWrite = new Semaphore(0, 1); semRead = new Semaphore(0, 1); (threadRead = new Thread(new ThreadStart(SetupConn))).Start(); }
public async Task <ISagaInstance> Activate <TEvent>(IReceiveEvent <TEvent> receiver, TEvent @event, CancellationToken cancellationToken) where TEvent : class, IEvent { Contract.Requires(receiver != null); Contract.Requires(@event != null); Contract.Ensures(Contract.Result <Task <ISagaInstance> >() != null); var sagaType = receiver.GetType(); var metadata = sagaMetadata.Find(sagaType); var activator = activators.GetOrAdd(metadata.SagaDataType, CreateActivator); var instance = activator.Activate(receiver, metadata, clock); var searchResult = await activator.GetData(instance, storage, @event, cancellationToken).ConfigureAwait(false); await AttachData(instance, searchResult, @event, cancellationToken).ConfigureAwait(false); return(instance); }
void Listen() // Listen to incoming connections. { log.InfoFormat("Listen"); server = new TcpListener(ip, port); server.Start(); while (running) { log.InfoFormat("[Listen:{0}] Waiting for new connection", port); TcpClient tcpClient = null; try { tcpClient = server.AcceptTcpClient(); // Accept incoming connection. } catch (SocketException e) // detecto que se efectio un listener.stop { log.ErrorFormat("Excepcion [Listen:{0}], se detiene la escucha", port, e); running = false; } if (running) { log.InfoFormat("nueva conexion de control(:{2}) desde {0}:{1}", ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address, ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Port, port); IReceiveEvent responseHandler = null; if (isTransfer) { responseHandler = new ReceiveTransfersEventHandler(); } else { responseHandler = new ReceiveEventHandler(); } Connection conn = new Connection(connectionCounter.ToString(), tcpClient, responseHandler, delegado); // Handle in another thread. lock (openConnections) { openConnections.Add(conn.Name, conn); connectionCounter++; } } } }
/// <summary> /// Returns a value indicating whether the event receiver is a saga. /// </summary> /// <typeparam name="TEvent">The type of event.</typeparam> /// <param name="eventReceiver">The <see cref="IReceiveEvent{T}">event receiver</see> to evaluate.</param> /// <returns>True if the <paramref name="eventReceiver">event receiver</paramref> is a saga; otherwise, false.</returns> public static bool IsSaga <TEvent>(this IReceiveEvent <TEvent> eventReceiver) where TEvent : IEvent { Arg.NotNull(eventReceiver, nameof(eventReceiver)); return(eventReceiver.GetType().IsSaga()); }
public Connection(string name, TcpClient c, IReceiveEvent ire) : this(name, c, ire, null) { }
public Connection(TcpClient c, IReceiveEvent ire) : this("Unknown", c, ire, null) { }
public Connection(TcpClient c, IReceiveEvent ire) : this(UNKNOWN, c, ire, null) { }
public LoopbackEventReceiver(IReceiveEvent receiver) { _receiver = receiver; }
public EventReceiverCorrelationEnricherBehavior(IOptions <CorrelationLogOptions> options, CorrelationContext.Correlation correlation, IReceiveEvent next) : base(options, correlation) { _next = next; }
public HttpEventReceiver(ILogger log, IReceiveEvent eventReceiver) { _log = log; _eventReceiver = eventReceiver; }
public RabbitEventReceiver(IReceiveEvent eventReceiver) { _eventReceiver = eventReceiver; }
public PrometheusEventMetricsBehavior(IMetricsService metrics, IReceiveEvent next) { _metrics = metrics; _next = next; }