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



Sorry about the long wait. I am now volunteer for shepherding this work. Would 
still love to get this committed. So I re-opened the review.


src/linux/routing/queueing/discipline.hpp (line 52)
<https://reviews.apache.org/r/45605/#comment202160>

    This class is already under `namespace queueing {`. So adding another 
Queueing to class name does not make sense.
    
    I would create another file  `src/linux/routing/queueing/class.hpp` and 
move this definition there:
    ```
    namespace queueing {
    template <typename Config>
    struct Class {...};
    }
    ```



src/linux/routing/queueing/htb.hpp (line 38)
<https://reviews.apache.org/r/45605/#comment202171>

    Since we not have both `class` and `qdisc`, `exists` become ambiguous. I 
would rename the exiting funcitons to:
    ```
    existsDiscipline
    createDiscipline
    removeDiscipline
    statisticsDiscipline
    
    createClass
    removeClass
    ...
    ```



src/linux/routing/queueing/htb.cpp (lines 41 - 50)
<https://reviews.apache.org/r/45605/#comment202172>

    I think we need two Config now: one for Discipline and one for Class.
    
    Looking at 
https://www.infradead.org/~tgr/libnl/doc/api/group__qdisc__htb.html, the 
configuration for htb qdisc is different from configuration for htb class.



src/linux/routing/queueing/htb.cpp (line 64)
<https://reviews.apache.org/r/45605/#comment202175>

    See my comments below:
    
    ```
    template <>
    Try<Nothing> encode<htb::DisciplineConfig>(...);
    
    template <>
    Result<htb::DisciplineConfig> decode<htb::DisciplineConfig>(..);
    ```



src/linux/routing/queueing/htb.cpp (line 92)
<https://reviews.apache.org/r/45605/#comment202174>

    Given that you have two Config: `DisciplineConfig` and `ClassConfig`, you 
can still use `encode` here:
    ```
    template <>
    Try<Nothing> encode<htb::ClassConfig>(...);
    
    template <>
    Result<htb::ClassConfig> decode<htb::ClassConfig>(...);
    ```



src/linux/routing/queueing/internal.hpp (lines 335 - 350)
<https://reviews.apache.org/r/45605/#comment202177>

    Can you move these two forward declarations up right below `Result<Config> 
decode(const Netlink<struct rtnl_qdisc>& qdisc);`. Per my comments above, you 
can rename it to be encode and decode.



src/linux/routing/queueing/internal.hpp (lines 356 - 359)
<https://reviews.apache.org/r/45605/#comment202178>

    Can you move this up right below encodeDiscipline. Those are helpers for 
{en}decoding.


- Jie Yu


On April 1, 2016, 9:50 p.m., Cong Wang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45605/
> -----------------------------------------------------------
> 
> (Updated April 1, 2016, 9:50 p.m.)
> 
> 
> Review request for mesos, Ian Downes and Jie Yu.
> 
> 
> Bugs: mesos-4749
>     https://issues.apache.org/jira/browse/mesos-4749
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Introduced HTB class API, prepare for per-container bandwidth limit.
> 
> 
> Diffs
> -----
> 
>   src/linux/routing/internal.hpp 8f68119819f7c79ece1a13ac1894b1802ddc8e19 
>   src/linux/routing/queueing/discipline.hpp 
> 54d6b214ef6a38fd8279f6d01e6f4e3ccfddf634 
>   src/linux/routing/queueing/htb.hpp 857646190d21387f98832f5094128505a52a0776 
>   src/linux/routing/queueing/htb.cpp faadf32bd48cc6bf968b1229789903c0d01fd75c 
>   src/linux/routing/queueing/internal.hpp 
> 768ed325f9b259e150779eb3ad74f4e5d4bcc7a2 
> 
> Diff: https://reviews.apache.org/r/45605/diff/
> 
> 
> Testing
> -------
> 
> make && make check
> 
> 
> Thanks,
> 
> Cong Wang
> 
>

Reply via email to