mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Mahler" <benjamin.mah...@gmail.com>
Subject Re: Review Request 34943: Added validation to flags.
Date Wed, 24 Jun 2015 22:22:20 GMT

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



3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp (lines 748 - 758)
<https://reviews.apache.org/r/34943/#comment141856>

    Seems nice to have this print the same kind of error strings as above, so that the caller
can just compose a specific error, rather than having to explicitly include the flag name:
    
    ```
      foreachvalue (const Flag& flag, flags_) {
        Option<Error> error = flag.validate(*this);
        if (error.isSome()) {
          return "Invalid value for '" + flag.name + "': " + error.get();
        }
      }
    ```
    
    Then the caller can just do:
    
    ```
      add(&Flags::duration,
          "duration",
          "",
          DEFAULT_DURATION,
          [](const Duration& value) -> Option<Error> {
            if (value < Seconds(1)) {
              return Error("Must be greater than " + stringify(Seconds(1)));
            }
            return None();
          });
    ```
    
    vs.
    
    ```
      add(&Flags::duration,
          "duration",
          "",
          DEFAULT_DURATION,
          [](const Duration& value) -> Option<Error> {
            if (value < Seconds(1)) {
              return Error("--duration must be greater than " + stringify(Seconds(1)));
            }
            return None();
          });
    ```
    
    Thoughts?
    
    Thoughts?


- Ben Mahler


On June 18, 2015, 3:34 p.m., Benjamin Hindman wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/34943/
> -----------------------------------------------------------
> 
> (Updated June 18, 2015, 3:34 p.m.)
> 
> 
> Review request for mesos and Niklas Nielsen.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Also refactored existing 'lambda::bind' arguments to use C++11 lambdas, enabling us to
get rid of our "loader" and "stringifier" functors.
> 
> Also, followed up as requested of some reviewers and added initial documentation for
flags in https://reviews.apache.org/r/35611.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 6ac2f04a6a1d8db1725972a3b4b46a0dd734566f

>   3rdparty/libprocess/3rdparty/stout/include/stout/flags/flag.hpp 87606d860dea3235ec70d127d3379065d42dc90b

>   3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp ee855da6128c2d671eb2fc7eaa2c0aab2341aebb

>   3rdparty/libprocess/3rdparty/stout/include/stout/flags/loader.hpp 51d3ab020bd2bae1f12b66cac0da5383c813d5d7

>   3rdparty/libprocess/3rdparty/stout/include/stout/flags/stringifier.hpp fda5ae1328a23a4371475652f921341dce7448d5

>   3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp 80450185f60c5b273face490e0bb9e695b0cb984

> 
> Diff: https://reviews.apache.org/r/34943/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Benjamin Hindman
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message