void IOpCompletionCallback.OnComplete(bool success) { try { completionCallbackData.Callback(success, this, completionCallbackData.State); } catch (Exception e) { Logger.Error(e, "Exception occured while invoking batch completion delegate."); } finally { completionCallbackData = default(CompletionCallbackData); Recycle(); } }
public void SetCompletionCallback(BatchCompletionDelegate callback, object state) { GrpcPreconditions.CheckState(completionCallbackData.Callback == null); GrpcPreconditions.CheckNotNull(callback, nameof(callback)); completionCallbackData = new CompletionCallbackData(callback, state); }