Class AsyncReactiveQubjectFactoryBase<TInput, TOutput, TArg1, TArg2, TArg3, TArg4>
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, TArg1, TArg2, TArg3, TArg4> : Object, IAsyncReactiveQubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4>, IAsyncReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4>, 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. |
TArg1 | Type of the first parameter passed to the subject factory. |
TArg2 | Type of the second parameter passed to the subject factory. |
TArg3 | Type of the third parameter passed to the subject factory. |
TArg4 | Type of the fourth 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, TArg1, TArg2, TArg3, TArg4, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
public Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsync(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, object state = null, CancellationToken token = null)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. 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, TArg1, TArg2, TArg3, TArg4, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
protected abstract Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsyncCore(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, object state, CancellationToken token)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. 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, TArg1, TArg2, TArg3, TArg4>.CreateAsync(Uri, TArg1, TArg2, TArg3, TArg4, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
Task<IAsyncReactiveSubject<TInput, TOutput>> IAsyncReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4>.CreateAsync(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, object state, CancellationToken token)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. 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. |