> On Oct. 6, 2015, 1:14 a.m., Ben Mahler wrote: > > 3rdparty/libprocess/3rdparty/stout/include/stout/inheritancetree.hpp, lines > > 30-52 > > <https://reviews.apache.org/r/37996/diff/11/?file=1091095#file1091095line30> > > > > Hm.. what will this abstraction be used for? I have a hard time > > understanding what this is abstracting, is this general enough to belong in > > stout?
To your first question, while performing HTTP Authentication, it will be used to check the authentication realm of the endpoint. I also though that it will allow the firewall rules "disable_endpoints" to be able to cover children endpoints and not only the full path given. Which leads to the second question, the use cases are all built in libprocess, but given that this is a header only, template class, it makes sense to be in stout. And finally yes, I can think on multiple cases in which this abstraction is general enough, think of setting ownership of a directory, using this abstraction allows you to set ownership to one folder, and all its children automatically inherit the ownership unless explicitly stated otherwise. I already mention the one of setting authentication realms for endpoints or other rules that are passed to children. You can also set permissions in directories or files without having to create a node for each, etc. - Alexander ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/37996/#review101552 ----------------------------------------------------------- On Oct. 5, 2015, 6:02 p.m., Alexander Rojas wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/37996/ > ----------------------------------------------------------- > > (Updated Oct. 5, 2015, 6:02 p.m.) > > > Review request for mesos, Adam B, Benjamin Hindman, Bernd Mathiske, and Till > Toenshoff. > > > Bugs: MESOS-3231 > https://issues.apache.org/jira/browse/MESOS-3231 > > > Repository: mesos > > > Description > ------- > > Introduces the `InheritanceTree` class which allows to create a tree where > nodes can be tag with some property. This property is then inherited by > children nodes. > > Two behaviors are implemented, overriding, i.e. Adding a property to the > child node of another node with a property already will result in the > ancestor property being lost. The second behavior, accumulating, takes a > function and accumulates > properties of all ancestors. > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/Makefile.am > 76e1674e08bbe65a4fdf86731823a61f231d6d12 > 3rdparty/libprocess/3rdparty/stout/include/Makefile.am > 9e9c3119ad18f4cbc70c70095c71dc4fd19553df > 3rdparty/libprocess/3rdparty/stout/include/stout/inheritancetree.hpp > PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/tests/CMakeLists.txt > 94292f8a46ec31bbaf6e52f48109322bbe123f70 > 3rdparty/libprocess/3rdparty/stout/tests/inheritancetree_tests.cpp > PRE-CREATION > > Diff: https://reviews.apache.org/r/37996/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Alexander Rojas > >