Hi Juha,
indeed, there is the problem with storing the serial forking information.
I will review your idea and comment it in the next days.
Thanks and regards,
Bogdan
Juha Heinanen wrote:
Juha Heinanen writes:
> each time when t_relay is called (perhaps with a new "serial fork"
> parameter), it would serve the
> next set of branches that have the highest q value and then mark those
> as served in dset.c branches array.
if that is too much to ask, then how about adding an int "status" field
to branch struct and include it also as a new get_branch parameter. in
addition, there would be a new dset.h function that can be used to set
status value of a branch.
initial value of status field for each branch would be zero. when
t_relay is called, it always serves those branches whose status field
value is zero thus retaining backwards compatibility.
next_contacts/next_branches would then be able to do their job by
manipulating status field values. for example, when
load_contacts/serialize_branches is called, it would set "status" of
each branch to 1 (unused). each time next_contacts/next_branches is
called, it would set each zero valued branch to -1 (used) and then
select the highest unused q value branches and set their status field
value to zero. if there is no unused branches left,
next_contacts/next_branches would return -1.
i don't know the internals of tm module, but i would think that adding a
status==0 test before a branch is served, would not be a big deal.
comments?
-- juha
_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel