On 10/08/2008 09:54 PM, Vinicius Petrucci wrote:
> hi,
> 
> I'm writing a module that needs to modify the elements (workers) of
> load balancers. That is, to move workers between different balancers.
> 
> for example, suppose we have two balancers b1 and b2.  also, we have a
> worker "w"  to be moved from "b1" to "b2"
> 
> basically, I do a push in "b2->workers" array:
> 
> new_worker = apr_array_push(b2->workers);
> memcpy(new_worker, w, sizeof(proxy_worker));
> 
> then, I decrement by one the elements from "b1" --- we still need to guarantee
> that the positions of "b1->workers" array  are fixed (shifted):
> 
> proxy_worker *tmp_w = w++;
> for (j = i; j < b1->workers->nelts-1; j++, tmp_w = w, w++) {
>    memcpy(tmp_w, w, sizeof(proxy_worker));
> }
> b1->workers->nelts--;
> 
> the problem is that in my module these changes are made. but when I
> use the balancer-manager interface to list the balancer and respective
> workers' settings, nothing has changed. this information isn't shared between
> the modules?

Correct. So you cannot change the assignment of workers to a balancer during
runtime.
BTW: What is the goal that rises the need for you to change the assignment
of workers to balancers during runtime?

Regards

RĂ¼diger

Reply via email to