Opc.Ua.ClientBase.RequestCompleted C# (CSharp) Method

RequestCompleted() protected method

Called when a request completes.
protected RequestCompleted ( IServiceRequest request, IServiceResponse response, string serviceName ) : void
request IServiceRequest The request.
response IServiceResponse The response.
serviceName string The name of the service.
return void
        protected virtual void RequestCompleted(IServiceRequest request, IServiceResponse response, string serviceName)
        {
            uint requestHandle = 0;
            StatusCode statusCode = StatusCodes.Good;

            if (request != null)
            {
                requestHandle = request.RequestHeader.RequestHandle;
            }
            else if (response != null)
            {
                requestHandle = response.ResponseHeader.RequestHandle;
                statusCode = response.ResponseHeader.ServiceResult;
            }
            
            if (response == null)
            {
                statusCode = StatusCodes.Bad;
            }

            int pendingRequestCount = Interlocked.Decrement(ref m_pendingRequestCount);

            if (statusCode != StatusCodes.Good)
            {
                Utils.Trace(
                    (int)Utils.TraceMasks.Service,
                    "{0} Completed. RequestHandle={1}, PendingRequestCount={3}, StatusCode={2}",
                    serviceName,
                    requestHandle,
                    statusCode,
                    pendingRequestCount);
            }
            else
            {
                Utils.Trace(
                    (int)Utils.TraceMasks.Service,
                    "{0} Completed. RequestHandle={1}, PendingRequestCount={2}",
                    serviceName,
                    requestHandle,
                    pendingRequestCount);
            }
        }