protected void OnBeginRequest() { //默认写法 //if (BeginRequest != null) BeginRequest(this, new EventArgs()); //新写法 BeginRequest?.Invoke(this, new EventArgs()); }
public void ExecuteEventHandler() { BeginRequest?.Invoke(this, null); PostMapRequestHandler?.Invoke(this, null); AcquireRequestState?.Invoke(this, null); //Error?.Invoke(this, null);这个只有异常才调用,所以不需要在这里调用 }
private void StartTimer(TimeSpan timeout, BeginRequest requestToRetry) { if (timer != null) { System.Diagnostics.Debug.Assert(timer == null); } if (logger != null) { logger.TraceFormat("{0} will time out in {1}", this, timeout); } timer = new Timer(OnRequestTimeout, requestToRetry, timeout, TimeSpan.FromMilliseconds(-1)); }
private void OnRequestCompleted(BeginRequest nextRequest) { request = null; content = null; if (nextRequest == null) { OnConnectionFinished(); } else { nextRequest(); } }
public void SendsAndReceives() { IClient client = CreateClient(); _runtime.ReadResponse().Returns(GetOkResponse(new BeginResponse("myPromiseId"))); BeginRequest request = new BeginRequest ( objectReference: new ObjectReference { { "$jsii.byref", "myRef" } }, method: "myMethod", arguments: new object[] { "arg1", "arg2" } ); client.Begin(request); _runtime.Received().WriteRequest(Arg.Is <string>( actual => PlatformIndependentEqual(JsonConvert.SerializeObject(request), actual) )); _runtime.Received().ReadResponse(); }
private void OnRequestTimeout(object state) { if (timer != null) { timer.Dispose(); timer = null; } BeginRequest requestToRetry = (BeginRequest)state; request = null; content = null; if (requestToRetry == null) { OnConnectionFinished(); } else { requestToRetry(); } }
public BeginResponse Begin(BeginRequest request) { return(Send <BeginRequest, BeginResponse>(request)); }
/// <summary> /// Sends a Begin Request to the Arduino. /// </summary> /// <param name="request">Begin Request</param> /// <returns>The Begin Response</returns> public async Task <BeginResponse> SendAsync(BeginRequest request) { return((BeginResponse) await InternalSendAsync(request)); }
private void OnRequestFailed(string description, RetryStrategy retryStrategy, BeginRequest requestToRetry) { CancelTimer(); request = null; content = null; if (!isRunning) { return; } switch (retryStrategy) { case RetryStrategy.Immediately: { if (description != null && logger != null) { logger.WarnFormat("{0} Will retry immediately", description); } requestToRetry(); break; } case RetryStrategy.AfterDefaultPeriod: { if (description != null && logger != null) { logger.WarnFormat("{0} Will retry in {1}", description, RetryTimeout); } StartTimer(RetryTimeout, requestToRetry); break; } case RetryStrategy.WhenAuthenticated: { if (description != null && logger != null) { logger.WarnFormat("{0} Will retry when authenticated", description); } break; } case RetryStrategy.Never: { if (description != null && logger != null) { logger.WarnFormat("Failed to send {0}; will not retry", description); } OnConnectionFinished(); break; } } }