/// <summary> /// Creates a new instance using a request and the statement. /// </summary> public RequestHandler(IInternalSession session, Serializer serializer, IRequest request, IStatement statement) { _tcs = new TaskCompletionSource <RowSet>(); _session = session ?? throw new ArgumentNullException(nameof(session)); _request = request; Serializer = serializer ?? throw new ArgumentNullException(nameof(session)); Statement = statement; Policies = _session.Cluster.Configuration.Policies; RetryPolicy = Policies.ExtendedRetryPolicy; if (statement?.RetryPolicy != null) { RetryPolicy = statement.RetryPolicy.Wrap(Policies.ExtendedRetryPolicy); } _queryPlan = RequestHandler.GetQueryPlan(session, statement, Policies).GetEnumerator(); }
/// <summary> /// Creates a new instance using a request, the statement and the execution profile. /// </summary> public RequestHandler(IInternalSession session, Serializer serializer, IRequest request, IStatement statement, IRequestOptions requestOptions) { _tcs = new TaskCompletionSource <RowSet>(); _session = session ?? throw new ArgumentNullException(nameof(session)); _request = request; Serializer = serializer ?? throw new ArgumentNullException(nameof(session)); Statement = statement; RequestOptions = requestOptions ?? throw new ArgumentNullException(nameof(requestOptions)); RetryPolicy = RequestOptions.RetryPolicy; if (statement?.RetryPolicy != null) { RetryPolicy = statement.RetryPolicy.Wrap(RetryPolicy); } _queryPlan = RequestHandler.GetQueryPlan(session, statement, RequestOptions.LoadBalancingPolicy).GetEnumerator(); }
/// <summary> /// Creates a new instance using a request, the statement and the execution profile. /// </summary> public RequestHandler( IInternalSession session, ISerializer serializer, IRequest request, IStatement statement, IRequestOptions requestOptions) { _session = session ?? throw new ArgumentNullException(nameof(session)); _requestObserver = session.ObserverFactory.CreateRequestObserver(); _requestResultHandler = new TcsMetricsRequestResultHandler(_requestObserver); _request = request; Serializer = serializer ?? throw new ArgumentNullException(nameof(session)); Statement = statement; RequestOptions = requestOptions ?? throw new ArgumentNullException(nameof(requestOptions)); RetryPolicy = RequestOptions.RetryPolicy; if (statement?.RetryPolicy != null) { RetryPolicy = statement.RetryPolicy.Wrap(RetryPolicy); } _queryPlan = RequestHandler.GetQueryPlan(session, statement, RequestOptions.LoadBalancingPolicy).GetEnumerator(); }