public Observer(IReceiveEndpointObserverConnector endpoint, CancellationToken cancellationToken) { _cancellationToken = cancellationToken; _ready = TaskUtil.GetTask <ReceiveEndpointReady>(); if (cancellationToken.CanBeCanceled) { _registration = cancellationToken.Register(() => { if (_faulted != null) { _handle?.Disconnect(); _ready.TrySetExceptionOnThreadPool(_faulted.Exception); } _registration.Dispose(); }); } _handle = endpoint.ConnectReceiveEndpointObserver(this); }
public void AddDependency(IReceiveEndpointObserverConnector connector) { var dependency = new ReceiveEndpointDependency(connector); _dependencies.Add(dependency); }
public void AddDependency(IReceiveEndpointObserverConnector connector) { }
public ReceiveEndpointDependency(IReceiveEndpointObserverConnector connector) { _ready = TaskUtil.GetTask <ReceiveEndpointReady>(); _handle = connector.ConnectReceiveEndpointObserver(this); }