> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 295-297
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line295>
> >
> >     Let's introduce this when we actually need it!

I use it in port_mapping.cpp instead of static net::IP LOOPBACK_IP = 
net::IP::fromDotDecimal("127.0.0.1/8").get();


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, line 48
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line48>
> >
> >     Why this change? What does an IP storage mean? Please revert it.

I prefer storage because we use IP for both address and netmask. IP address for 
netmask would not make sense!


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, line 66
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line66>
> >
> >     ```
> >     explicit IP(const struct in_addr& in)
> >       : family_(AF_INET)
> >     {
> >       clear();
> >       storage_.in = in;
> >     }
> >     ```
> >     
> >     Please add a private helper for 'memset' as it's used in many places:
> >     
> >     ```
> >     // NOTE: We need to clear the union when creating
> >     // an IP because the equality check uses memcmp.
> >     void clear()
> >     {
> >       memset(&storage_, 0, sizeof(storage_));
> >     }
> >     ```

ok


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 89-93
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line89>
> >
> >     Why do you want to allow this default constructor?

sometimes I need to write IP ip and initialize it later. If I don't do that, it 
does not compile.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 111-122
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line111>
> >
> >     Is this used anywhere? If not, please introduce this once it becomes 
> > necessary! Let's keep each patch small and atomic hopefully!

process.cpp
 if (isInaddrAny.get() || isLoopback.get()) {
 sched.cpp slave.cpp scheduler.cpp master.cpp
   if (isLoopback.get()) {


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 143-146
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line143>
> >
> >     No need to have the extra parathesis:
> >     
> >     ```
> >     return memcmp(&storage_, &that.storage_, sizeof(storage_)) == 0;
> >     ```

ok


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 154-171
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line154>
> >
> >     Why this is needed?

Address uses this type of operators.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 174-181
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line174>
> >
> >     This is already in class `IP`, therefore the `InternetAddress` seems to 
> > be redundant. How about calling it Storage?
> >     
> >     ```
> >     private:
> >       int family_;
> >     
> >       union Storage
> >       {
> >         struct in_addr in;
> >         // struct in6_addr in6;
> >       } storage;
> >     ```

ok


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, line 191
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line191>
> >
> >     As I said before, we should not introduce this. Here is my suggestion:
> >     
> >     ```
> >     inline Try<IP> IP::parse(const std::string& value, int family)
> >     {
> >       if (family == AF_INET) {
> >         struct in_addr in;
> >         if (inet_pton(AF_INET, value.c_str(), &in) != 1) {
> >           return Error("Failed to parse the IP address");
> >         }
> >         
> >         return IP(in);
> >       } else {
> >         return Error("Unsupported family: " + stringify(family));
> >       }
> >     }
> >     ```

networkToHost is instead of ntohl


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 232-235
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line232>
> >
> >     Again, you don't need these. These are extremely confusing!

why? they are simple wrappers as I explained in previous review requests.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 242-243
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line242>
> >
> >     Please properly align the arguments.

do you ant to pus each one on a separate line ?


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 265-278
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line265>
> >
> >     Please introduce it when you actually need it!

yes, I need it for UPID and Address hash_value methods. Otherise, for each of 
them I have to duplicate the code.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 282-283
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line282>
> >
> >     Please wrap comments in 70 char width. Here and everywhere else!

I don't understand, the lines don't get over 70 chars.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, line 293
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line293>
> >
> >     You probably need to pass in the family here.

ok


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 320-326
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line320>
> >
> >     Since we control the contstruction of an IPNetwork, can you move all 
> > these checks there? 'prefix()' should simply return size_t.

Maybe someone will make the family field public/ add a setter and put different 
types of families for address and netmask.


> On Feb. 27, 2015, 8:28 p.m., Jie Yu wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp, lines 333-337
> > <https://reviews.apache.org/r/31471/diff/3/?file=879788#file879788line333>
> >
> >     Why change the impl. here. The purpose of this patch is to add IPv6 
> > capability. Please do not change impl in this patch. Let's do it step by 
> > step. THanks!

ok


- Evelina


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/31471/#review74552
-----------------------------------------------------------


On Feb. 27, 2015, 9:22 a.m., Evelina Dumitrescu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31471/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2015, 9:22 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Dominic Hamon, Jie Yu, Joris Van 
> Remoortere, and Niklas Nielsen.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> see summary
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp 
> 3293086a009a8f7cf7bd343eb7d3e85623636550 
>   3rdparty/libprocess/3rdparty/stout/include/stout/net.hpp 
> 9635bbc6f7dae1d75a780069fcc60fb706221053 
>   3rdparty/libprocess/3rdparty/stout/tests/ip_tests.cpp 
> fb98317a68986cb1228c584a8cd83b07737895a8 
> 
> Diff: https://reviews.apache.org/r/31471/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Evelina Dumitrescu
> 
>

Reply via email to