axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damitha Kumarage (JIRA)" <j...@apache.org>
Subject [jira] Closed: (AXIS2C-1189) svc_client_send_receive could be improved significantly in blocking dual channel case.
Date Sat, 28 Jun 2008 03:21:45 GMT

     [ https://issues.apache.org/jira/browse/AXIS2C-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Damitha Kumarage closed AXIS2C-1189.
------------------------------------

    Resolution: Fixed

I have fixed this some time back. No issure is reported so far. So closing the issue.

> svc_client_send_receive could be improved significantly in blocking dual channel case.
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-1189
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1189
>             Project: Axis2-C
>          Issue Type: Bug
>         Environment: all
>            Reporter: Damitha Kumarage
>            Assignee: Damitha Kumarage
>
> I observered that in svc_client_send_receive function's blocking dual related code section
could be improved.
> Currently after establishing the callback and starting listener manager it repeatedly
call op_client_receive function in a loop. It in tern call engine receive.It then extract
the response soap envelope from the response message context passed to  engine receive. But
this is redundant and expensive calls to engine_receive. By this time, the callback we passed
already contain the response soap envelope. What we need is just the following code to get
the response envelope instead of having some unneccessary complexity.
> index = axis2_options_get_timeout_in_milli_seconds(svc_client->options, env) / 10;
> while(!axis2_callback_get_complete(callback, env))
> {
>     if(index-- >= 0)
>     {
>        AXIS2_USLEEP(10000);
>     }
>     else
>     {
>         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RESPONSE_TIMED_OUT, AXIS2_FAILURE);
>         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response time out");
>     }
>     
>     soap_envelope = axis2_callback_get_envelope(callback, env);
> }
> Note that I use the function axis2_callback_get_complete() function as the loop condition.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message