Class AsyncReactiveQubjectFactoryBase<TInput, TOutput, TArgs>
Base class for the implementation of parameterized subject factories represented by an expression tree.
Inheritance
Implements
Namespace: Reaqtor
Assembly: Reaqtor.Expressions.Core.dll
Syntax
public abstract class AsyncReactiveQubjectFactoryBase<TInput, TOutput, TArgs> : Object, IAsyncReactiveQubjectFactory<TInput, TOutput, TArgs>, IAsyncReactiveSubjectFactory<TInput, TOutput, TArgs>, IAsyncReactiveExpressible, IExpressible
Type Parameters
Name | Description |
---|---|
TInput | Type of the data received by the subjects created by the factory. |
TOutput | Type of the data produced by the subjects created by the factory. |
TArgs | Type of the parameter passed to the subject factory. |
Constructors
AsyncReactiveQubjectFactoryBase(IAsyncReactiveQueryProvider)
Creates a new subject factory represented by an expression tree, using the specified associated query provider.
Declaration
protected AsyncReactiveQubjectFactoryBase(IAsyncReactiveQueryProvider provider)
Parameters
Type | Name | Description |
---|---|---|
IAsyncReactiveQueryProvider | provider | Query provider associated with the subject factory. |
Properties
Expression
Gets the expression tree representing the subject factory.
Declaration
public abstract Expression Expression { get; }
Property Value
Type | Description |
---|---|
System.Linq.Expressions.Expression |
Provider
Gets the query provider that is associated with the subject factory.
Declaration
public IAsyncReactiveQueryProvider Provider { get; }
Property Value
Type | Description |
---|---|
IAsyncReactiveQueryProvider |
Methods
CreateAsync(Uri, TArgs, Object, CancellationToken)
Creates a new stream with the specified stream URI.
Declaration
public Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsync(Uri streamUri, TArgs argument, object state = null, CancellationToken token = null)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArgs | argument | Parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveQubject<TInput, TOutput>> | Task returning a subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
CreateAsyncCore(Uri, TArgs, Object, CancellationToken)
Creates a new stream with the specified stream URI.
Declaration
protected abstract Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsyncCore(Uri streamUri, TArgs argument, object state, CancellationToken token)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArgs | argument | Parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveQubject<TInput, TOutput>> | Task returning a subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
Explicit Interface Implementations
IAsyncReactiveSubjectFactory<TInput, TOutput, TArgs>.CreateAsync(Uri, TArgs, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
Task<IAsyncReactiveSubject<TInput, TOutput>> IAsyncReactiveSubjectFactory<TInput, TOutput, TArgs>.CreateAsync(Uri streamUri, TArgs argument, object state, CancellationToken token)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArgs | argument | Parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveSubject<TInput, TOutput>> | Task returning a subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |