Class ReactiveSubjectBase<TInput, TOutput>
Base class for subjects.
Implements
Namespace: Reaqtor
Assembly: Reaqtor.Local.Core.dll
Syntax
public abstract class ReactiveSubjectBase<TInput, TOutput> : Object, IReactiveSubject<TInput, TOutput>, IReactiveObserver<TInput>, IObserver<TInput>, IReactiveObservable<TOutput>, IDisposable
Type Parameters
Name | Description |
---|---|
TInput | Type of the data received by the subject. |
TOutput | Type of the data produced by the subject. |
Constructors
ReactiveSubjectBase()
Declaration
protected ReactiveSubjectBase()
Methods
Dispose()
Disposes the subject.
Declaration
public void Dispose()
Dispose(Boolean)
Disposes the object.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | disposing | true if called from System.IDisposable.Dispose; otherwise, false. |
DisposeCore()
Disposes the subject.
Declaration
protected abstract void DisposeCore()
OnCompleted()
Reports completion of the subject.
Declaration
public void OnCompleted()
OnCompletedCore()
Reports completion of the subject.
Declaration
protected abstract void OnCompletedCore()
OnError(Exception)
Reports an error to the subject.
Declaration
public void OnError(Exception error)
Parameters
Type | Name | Description |
---|---|---|
System.Exception | error | Error to report on the subject. |
OnErrorCore(Exception)
Reports an error to the subject.
Declaration
protected abstract void OnErrorCore(Exception error)
Parameters
Type | Name | Description |
---|---|---|
System.Exception | error | Error to report on the subject. |
OnNext(TInput)
Sends a value to the subject.
Declaration
public void OnNext(TInput value)
Parameters
Type | Name | Description |
---|---|---|
TInput | value | Object to send to the subject. |
OnNextCore(TInput)
Sends a value to the subject.
Declaration
protected abstract void OnNextCore(TInput value)
Parameters
Type | Name | Description |
---|---|---|
TInput | value | Object to send to the subject. |
Subscribe(IReactiveObserver<TOutput>, Uri, Object)
Subscribes to the subject using the given observer.
Declaration
public IReactiveSubscription Subscribe(IReactiveObserver<TOutput> observer, Uri subscriptionUri, object state = null)
Parameters
Type | Name | Description |
---|---|---|
IReactiveObserver<TOutput> | observer | Observer to send the subject's data to. |
System.Uri | subscriptionUri | URI to identify the subscription. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveSubscription | A subscription object that can be used to cancel the subscription, or an exception if the submission was unsuccessful. |
SubscribeCore(IReactiveObserver<TOutput>, Uri, Object)
Subscribes to the subject using the given observer.
Declaration
protected abstract IReactiveSubscription SubscribeCore(IReactiveObserver<TOutput> observer, Uri subscriptionUri, object state)
Parameters
Type | Name | Description |
---|---|---|
IReactiveObserver<TOutput> | observer | Observer to send the subject's data to. |
System.Uri | subscriptionUri | URI to identify the subscription. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveSubscription | A subscription object that can be used to cancel the subscription, or an exception if the submission was unsuccessful. |