network-shaper icon indicating copy to clipboard operation
network-shaper copied to clipboard

Request to Add Slot Functionality and Difficulty in Building the Project

Open zvladru opened this issue 1 year ago • 2 comments

First of all, I want to express my appreciation for this project. It’s an excellent tool, and it fits my needs perfectly. I really like it! However, I have encountered significant difficulties while trying to build the project. Despite spending a considerable amount of time on it, I couldn't successfully compile a working version due to issues when loading the app.js and webcomponents.min.js files in the browser.

I was particularly interested in adding support for the "slot" functionality as described in the tc-netem manual. This feature would allow emulating slotted networks and could provide a crude approximation of bursty MACs such as DOCSIS, WiFi, and LTE.

From the tc-netem manual: https://man7.org/linux/man-pages/man8/tc-netem.8.html

slot MIN_DELAY [ MAX_DELAY ]
    allows emulating slotted networks. Defer delivering
    accumulated packets to within a slot. Each available slot
    is configured with a minimum delay to acquire, and an
    optional maximum delay.

slot distribution
    allows configuring based on distribution similar to
    distribution option for packet delays.

    These slot options can provide a crude approximation of
    bursty MACs such as DOCSIS, WiFi, and LTE.

    Slot emulation is limited by several factors: the kernel
    clock granularity, as with a rate, and attempts to deliver
    many packets within a slot will be smeared by the timer
    resolution, and by the underlying native bandwidth also.

    It is possible to combine slotting with a rate, in which
    case complex behaviors where either the rate, or the slot
    limits on bytes or packets per slot, govern the actual
    delivered rate.

I believe adding this functionality would significantly enhance the project and make it even more versatile. Unfortunately, due to the challenges I've encountered during the build process, I haven't been able to implement this feature.

Thank you for your hard work and for considering this request. I look forward to any advice or solutions you can provide regarding the build issues.

zvladru avatar Sep 02 '24 09:09 zvladru