<div dir="ltr">Hi,<div><br></div><div>any status update on your work?</div><div><br></div><div>We are still waiting for the initial merge of your code into the new branch.</div><div><br></div><div>Henning Rogge</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 3, 2015 at 12:25 PM, Ferry Huberts <span dir="ltr"><<a href="mailto:mailings@hupie.com" target="_blank">mailings@hupie.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok.<br>
<br>
There now is a branch 'dijkstra-binary-heap' on the olsrd repo.<br>
<br>
The setting in the configuration file is 'DijkstraBinaryHeap', which adjusts the setting 'olsr_cnf->dijkstra_binary_heap' (which is false by default).<br>
<br>
Please follow the plan and when done, notify us.<br>
<br>
And I still want to see performance numbers to justify pulling in these changes to the core of olsrd.<br>
<br>
<br>
Ferry<span class=""><br>
<br>
On 01/08/15 01:52, Diogo Gonçalves wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Hi,<br>
<br>
Thanks for trusting in my work.<br>
This plan is fine to me, I will work on it. I just suggest to rename the<br>
configuration setting 'dijkstraHeapBinary' to 'dijkstraBinaryHeap'.<br>
<br>
Diogo.<br>
<br>
2015-07-31 7:43 GMT-03:00 Ferry Huberts <<a href="mailto:mailings@hupie.com" target="_blank">mailings@hupie.com</a><br></span>
<mailto:<a href="mailto:mailings@hupie.com" target="_blank">mailings@hupie.com</a>>>:<div><div class="h5"><br>
<br>
Ok guys.<br>
<br>
Henning and I talked about this and we're willing to merge the work.<br>
<br>
However, don't cheer to soon because we do have a few demands that<br>
must be met before we actually merge it.<br>
<br>
The plan:<br>
1- I'll create a new branch 'dijkstra-binary-heap' next week<br>
2- On that branch I'll put patches that create a new configuration<br>
setting 'dijkstraHeapBinary'.<br>
3- You will rebase your branch on the new branch.<br>
4- You will rework your patches such that:<br>
- they are reviewable (see )<br>
- the configuration setting 'dijkstraHeapBinary' determines<br>
whether the current heap code is used or your code.<br>
<br>
If your rework is complete, we'll review it again.<br>
<br>
<br>
How is that for a plan?<br>
Please let us know.<br>
<br>
<br>
Ferry & Henning<br>
<br>
PS. Henning would like to pick up your work for olsrd v2 once complete.<br>
<br>
On 31/07/15 08:48, Diogo Gonçalves wrote:<br>
<br>
ohh, you are right, thank you!<br>
<br>
If all node's pointers are NULL, the node isn't in the heap, but<br>
there<br>
is one special case for root node, this node doesn't point to<br>
another one.<br>
<br>
I already fixed it in the function. Thank you again.<br>
<br>
Diogo<br>
<br>
2015-07-31 3:02 GMT-03:00 Henning Rogge <<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a><br>
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>><br></div></div>
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>>>>:<span class=""><br>
<br>
No,<br>
<br>
I think we are mostly fine...<br>
<br>
Just a last question about the new "heap_is_node_added"<br>
inline... are<br>
you sure about the second return command? I think it will<br>
only return<br>
"true" if all three fields in the heap are NULL.<br>
<br>
What are you trying to test, are ALL of these fields<br>
initialized<br>
normally or just a few of them?<br>
<br>
If all of them are !NULL I would suggest replacing the if()<br>
condition<br>
and the both return with:<br>
> return node && node->parent && node->left && node->right;<br>
<br>
if just one of them should be !NULL, maybe this will work:<br>
> return node && (node->parent || node->left || node->right);<br>
<br>
Henning<br>
<br>
On Fri, Jul 31, 2015 at 7:55 AM, Diogo Gonçalves<br>
<<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a><br>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a>><br></span>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a><span class=""><br>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a>>>> wrote:<br>
> Hi,<br>
><br>
> I updated my binary heap lib in the olsrd [1] with some<br>
static<br>
functions. Is<br>
> there something else that I can do?<br>
><br>
> [1]<a href="https://github.com/diogomg/olsrd" rel="noreferrer" target="_blank">https://github.com/diogomg/olsrd</a><br>
><br>
> 2015-07-30 9:22 GMT-03:00 Henning Rogge<br>
<<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>><br></span>
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>>>>:<span class=""><br>
>><br>
>> Hi,<br>
>><br>
>> I lost a bit track of this while away at the IETF in<br>
Prague...<br>
>><br>
>> Can you send a new patch with the current version of<br>
the code to the<br>
>> list? I think we can clean up the rest inside the<br>
<a href="http://olsr.org" rel="noreferrer" target="_blank">olsr.org</a> <<a href="http://olsr.org" rel="noreferrer" target="_blank">http://olsr.org</a>><br>
<<a href="http://olsr.org" rel="noreferrer" target="_blank">http://olsr.org</a>> repository.<br>
>><br>
>> Is the github code still "up to date" in terms of the<br>
head.[ch]<br>
code?<br>
>> If yes I will give it a try to use it in the olsrd2<br>
Dijkstra too.<br>
>><br>
>> Henning Rogge<br>
>><br>
>> On Tue, Jul 14, 2015 at 9:27 PM, Henning Rogge<br>
<<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>><br></span><span class="">
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>>>> wrote:<br>
>> > Yes,<br>
>> ><br>
>> > that looks better... always a good idea to keep the<br>
internal<br>
functions<br>
>> > hidden.<br>
>> ><br>
>> > Henning<br>
>> ><br>
>> > On Tue, Jul 14, 2015 at 5:19 PM, Diogo Gonçalves<br>
>> > <<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a><br>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a>><br></span>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a><span class=""><br>
<mailto:<a href="mailto:diogomachadogoncalves@gmail.com" target="_blank">diogomachadogoncalves@gmail.com</a>>>> wrote:<br>
>> >> HI,<br>
>> >><br>
>> >> I cleaned up my heap.h[1], leaving only functions<br>
for the<br>
users, as you<br>
>> >> asked me. I hope i'm on right way but I know that<br>
there are<br>
>> >> improvements to<br>
>> >> do, so if you have something else to suggest you can<br>
ask me.<br>
>> >><br>
>> >><br>
>> >> [1] <a href="https://github.com/diogomg/olsrd" rel="noreferrer" target="_blank">https://github.com/diogomg/olsrd</a><br>
>> >><br>
>> >> 2015-07-13 14:10 GMT-03:00 Henning Rogge<br>
<<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>><br></span>
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>>>>:<span class=""><br>
>> >>><br>
>> >>> Hi,<br>
>> >>><br>
>> >>> since we have some people to ask when we have questions<br>
about it, I<br>
>> >>> think it will be good to merge.<br>
>> >>><br>
>> >>> But I would also like someone of you to look after<br>
it when I<br>
build it<br>
>> >>> into the olsrd2 dijkstra. If you can clean up the<br>
"heap.h"<br>
file so<br>
>> >>> that it only contains the necessary functions for<br>
an user<br>
(and not the<br>
>> >>> internal ones), it should be easy to supply a few good<br>
accessor macros<br>
>> >>> (similar to list.h and avl.h in OONF).<br>
>> >>><br>
>> >>> Henning<br>
>> >>><br>
>> >>> On Mon, Jul 13, 2015 at 7:07 PM, Saulo Queiroz<br>
<<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a> <mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a>><br></span>
<mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a> <mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a>>>><span class=""><br>
>> >>> wrote:<br>
>> >>> > Ferry and Henning, ok.<br>
>> >>> > We have just to care about real routing metrics,<br>
like ETX<br>
>> >>> > since the priority queue will be arranged based<br>
on such<br>
>> >>> > real value. What you think?<br>
>> >>> ><br>
>> >>> ><br>
>> >>> > On 13 July 2015 at 13:47, Henning Rogge<br>
<<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>><br></span><span class="">
<mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a> <mailto:<a href="mailto:hrogge@gmail.com" target="_blank">hrogge@gmail.com</a>>>> wrote:<br>
>> >>> >><br>
>> >>> >> On Mon, Jul 13, 2015 at 6:01 PM, Saulo Queiroz<br>
>> >>> >> <<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a><br></span>
<mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a>> <mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a><span class=""><br>
<mailto:<a href="mailto:ssaulojorge@gmail.com" target="_blank">ssaulojorge@gmail.com</a>>>><br>
>> >>> >> wrote:<br>
>> >>> >> > Yes,<br>
>> >>> >> > something like 1/priority_value (for instance)<br>
might work.<br>
>> >>> >><br>
>> >>> >> I thought more about (UINT32_MAX-value)<br>
>> >>> >><br>
>> >>> >> Henning<br>
>> >>> ><br>
>> >>> ><br>
>> >>> ><br>
>> >>> ><br>
>> >>> > --<br>
>> >>> > Saulo Jorge bq<br>
>> >>> > -<br>
>> >>> > "In theory, there is no difference between<br>
practice and<br>
theory, in<br>
>> >>> > practice<br>
>> >>> > there is"<br>
>> >>> > -- Someone<br>
>> >><br>
>> >><br>
><br>
><br>
<br>
<br>
<br>
<br>
<br>
--<br>
Ferry Huberts<br>
<br>
<br>
</span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Ferry Huberts<br>
</font></span></blockquote></div><br></div>