Source/Tx.SqlServer/XeSubject.cs (20 lines of code) (raw):

// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. using System; using System.Reactive.Subjects; using Microsoft.SqlServer.XEvent; using Microsoft.SqlServer.XEvent.Linq; namespace Tx.SqlServer { public abstract class XeSubject : IXETarget, IObservable<PublishedEvent> { protected abstract Subject<PublishedEvent> Instance { get; } // how to get OnCompleted and OnError? public IDisposable Subscribe(IObserver<PublishedEvent> observer) { return Instance.Subscribe(observer); } public override void ProcessEvent(PublishedEvent eventToProcess) { Instance.OnNext(eventToProcess); } } }