You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2007/12/09 03:06:59 UTC
svn commit: r602609 - in /webservices/sandesha/trunk/c: config/module.xml
include/sandesha2_constants.h include/sandesha2_sender.h src/workers/sender.c
Author: damitha
Date: Sat Dec 8 18:06:57 2007
New Revision: 602609
URL: http://svn.apache.org/viewvc?rev=602609&view=rev
Log:
removing mutex and related code from sender. remove stop_sender_for_seq and is_sender_started functions from sender as these functions are no longer needed. Now sender's life time is only for one sequence.
Modified:
webservices/sandesha/trunk/c/config/module.xml
webservices/sandesha/trunk/c/include/sandesha2_constants.h
webservices/sandesha/trunk/c/include/sandesha2_sender.h
webservices/sandesha/trunk/c/src/workers/sender.c
Modified: webservices/sandesha/trunk/c/config/module.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/config/module.xml?rev=602609&r1=602608&r2=602609&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/config/module.xml (original)
+++ webservices/sandesha/trunk/c/config/module.xml Sat Dec 8 18:06:57 2007
@@ -81,7 +81,7 @@
<parameter name="InvokeInOrder" locked="false">AXIS2_FALSE</parameter>
<parameter name="MessageTypesToDrop" locked="false">none</parameter>
<parameter name="MaxRetransCount" locked="false">10</parameter>
- <parameter name="SenderSleepTime" locked="false">1</parameter>
+ <parameter name="SenderSleepTime" locked="false">100000</parameter><!-- In micro seconds-->
<parameter name="InvokerSleepTime" locked="false">1</parameter>
<parameter name="PollingWaitTime" locked="false">3</parameter>
Modified: webservices/sandesha/trunk/c/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_constants.h?rev=602609&r1=602608&r2=602609&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_constants.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_constants.h Sat Dec 8 18:06:57 2007
@@ -421,7 +421,7 @@
#define SANDESHA2_INVOKER_SLEEP_TIME 1 /*4 1 */
- #define SANDESHA2_SENDER_SLEEP_TIME 1 /*4 1*/
+ #define SANDESHA2_SENDER_SLEEP_TIME 100000 /*micro seconds*/
#define SANDESHA2_POLLING_MANAGER_WAIT_TIME 3 /* 4 3 */
Modified: webservices/sandesha/trunk/c/include/sandesha2_sender.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_sender.h?rev=602609&r1=602608&r2=602609&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_sender.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_sender.h Sat Dec 8 18:06:57 2007
@@ -58,19 +58,8 @@
const axutil_env_t *env);
axis2_status_t AXIS2_CALL
-sandesha2_sender_stop_sender_for_seq(
- sandesha2_sender_t *sender,
- const axutil_env_t *env,
- axis2_char_t *seq_id);
-
-axis2_status_t AXIS2_CALL
sandesha2_sender_stop_sending (
sandesha2_sender_t *sender,
- const axutil_env_t *env);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_sender_is_sender_started(
- sandesha2_sender_t *sender,
const axutil_env_t *env);
axis2_status_t AXIS2_CALL
Modified: webservices/sandesha/trunk/c/src/workers/sender.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/sender.c?rev=602609&r1=602608&r2=602609&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/workers/sender.c (original)
+++ webservices/sandesha/trunk/c/src/workers/sender.c Sat Dec 8 18:06:57 2007
@@ -50,10 +50,6 @@
{
axis2_conf_ctx_t *conf_ctx;
axis2_bool_t run_sender;
- axutil_array_list_t *working_seqs;
- axutil_thread_mutex_t *mutex;
- int seq_index;
- int counter;
axis2_char_t *seq_id;
axis2_bool_t persistent_msg_ctx;
};
@@ -75,11 +71,9 @@
const axutil_env_t *env)
{
sandesha2_sender_t *sender = NULL;
-
sender = (sandesha2_sender_t *)AXIS2_MALLOC
(env->allocator,
sizeof(sandesha2_sender_t));
-
if(NULL == sender)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
@@ -87,17 +81,8 @@
}
sender->conf_ctx = NULL;
sender->run_sender = AXIS2_FALSE;
- sender->working_seqs = NULL;
- sender->mutex = NULL;
- sender->counter = 0;
- sender->seq_index = -1;
sender->seq_id = NULL;
- sender->working_seqs = axutil_array_list_create(env,
- AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
- sender->mutex = axutil_thread_mutex_create(env->allocator,
- AXIS2_THREAD_MUTEX_DEFAULT);
-
return sender;
}
@@ -117,52 +102,21 @@
sandesha2_sender_t *sender,
const axutil_env_t *env)
{
- /* Do not free this */
sender->conf_ctx = NULL;
-
- if(sender->mutex)
- {
- axutil_thread_mutex_destroy(sender->mutex);
- sender->mutex = NULL;
- }
- if(sender->working_seqs)
- {
- axutil_array_list_free(sender->working_seqs, env);
- sender->working_seqs = NULL;
- }
AXIS2_FREE(env->allocator, sender);
return AXIS2_SUCCESS;
}
axis2_status_t AXIS2_CALL
-sandesha2_sender_stop_sender_for_seq(
- sandesha2_sender_t *sender,
- const axutil_env_t *env,
- axis2_char_t *seq_id)
-{
- AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FAILURE);
-
- sender->run_sender = AXIS2_FALSE;
- return AXIS2_SUCCESS;
-}
-
-axis2_status_t AXIS2_CALL
-sandesha2_sender_stop_sending (
+sandesha2_sender_stop_sending(
sandesha2_sender_t *sender,
const axutil_env_t *env)
{
sender->run_sender = AXIS2_FALSE;
+ sandesha2_sender_free(sender, env);
return AXIS2_SUCCESS;
}
-axis2_bool_t AXIS2_CALL
-sandesha2_sender_is_sender_started(
- sandesha2_sender_t *sender,
- const axutil_env_t *env)
-{
- return sender->run_sender;
-}
-
axis2_status_t AXIS2_CALL
sandesha2_sender_run_for_seq(
sandesha2_sender_t *sender,
@@ -173,7 +127,6 @@
{
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[sandesha2]Entry:sandesha2_sender_run_for_seq");
- axutil_thread_mutex_lock(sender->mutex);
AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE);
sender->conf_ctx = conf_ctx;
@@ -181,7 +134,6 @@
sender->persistent_msg_ctx = persistent;
sender->seq_id = seq_id;
sandesha2_sender_run(sender, env);
- axutil_thread_mutex_unlock(sender->mutex);
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[sandesha2]Exit:sandesha2_sender_run_for_seq");
return AXIS2_SUCCESS;
@@ -204,10 +156,10 @@
worker_thread = axutil_thread_pool_get_thread(env->thread_pool,
sandesha2_sender_worker_func, (void*)args);
- if(NULL == worker_thread)
+ if(!worker_thread)
{
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2]Thread creation "
- "failed sandesha2_sender_run");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2]Thread creation "\
+ "failed for sandesha2_sender_run");
return AXIS2_FAILURE;
}
axutil_thread_pool_thread_detach(env->thread_pool, worker_thread);
@@ -251,23 +203,25 @@
SANDESHA2_SENDER_SLEEP);
if(sleep_time_param)
{
- sleep_time = AXIS2_ATOI(axutil_param_get_value(sleep_time_param, env));
+ sleep_time = AXIS2_ATOI(axutil_param_get_value(sleep_time_param,
+ env));
}
axutil_qname_free(qname, env);
seq_id = sender->seq_id;
while(sender->run_sender)
{
- sandesha2_sender_mgr_t *mgr = NULL;
+ sandesha2_sender_mgr_t *sender_mgr = NULL;
sandesha2_sender_bean_t *sender_bean = NULL;
axis2_char_t *msg_id = NULL;
seq_prop_mgr = sandesha2_storage_mgr_get_seq_property_mgr(
storage_mgr, env);
- mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env);
- sender_bean = sandesha2_sender_mgr_get_next_msg_to_send(mgr, env, seq_id);
+ sender_mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env);
+ sender_bean = sandesha2_sender_mgr_get_next_msg_to_send(sender_mgr, env,
+ seq_id);
if(!sender_bean)
{
- AXIS2_USLEEP(100000);
+ AXIS2_USLEEP(sleep_time);
continue;
}
msg_id = sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *)
@@ -277,12 +231,11 @@
axis2_bool_t status = AXIS2_TRUE;
status = sandesha2_sender_worker_send(env, sender->conf_ctx, msg_id,
sender->persistent_msg_ctx);
- AXIS2_SLEEP(sleep_time * 2);
if(!status)
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"[sandesha2]Stopping the sender for sequence %s", seq_id);
- sandesha2_sender_stop_sender_for_seq(sender, env, seq_id);
+ sandesha2_sender_stop_sending(sender, env);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org