← The board

D10 Bandwidth & scheduling

Area
D — Content & household
Audience
operator
Kind
feature
Status
accepted
Maturity
built
Labels
network
Requires
B5
Relates to
C2C7D5

The feature in the specification · Read at

Requirements

  1. D10-R1acceptedMUST

    Limits MUST be expressible as a proportion of measured capacity as well as absolute values.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@122972daeblemonfiber@f36be73a73
  2. D10-R2acceptedMUST

    Measured connection capacity MUST be shown alongside any proportional limit.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  3. D10-R3acceptedMUST

    Schedules MUST support active and quiet periods, defined once and applied to all download clients.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/qbittorrent/throttling.rscrates/lemonfiber-contract/src/capabilities/download.rscrates/lemonfiber-ports/src/service/throttling.rs
    cited by
    lemonfiber@6caa15de7blemonfiber@f36be73a73
  4. D10-R4acceptedMUST

    Upload limits MUST be configurable separately and MUST default more conservatively than download.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  5. D10-R5acceptedMUST

    Any limit affecting seeding MUST state the ratio consequence.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  6. D10-R6acceptedMUST

    Schedule boundaries MUST apply to in-progress transfers immediately.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/qbittorrent/throttling.rscrates/lemonfiber-contract/src/capabilities/download.rscrates/lemonfiber-ports/src/service/throttling.rs
    cited by
    lemonfiber@6caa15de7blemonfiber@f36be73a73
  7. D10-R7acceptedMUST

    Schedules MUST follow local time and MUST handle daylight-saving transitions without gaps or double application.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  8. D10-R8acceptedMUST

    Declared data caps MUST be tracked against measured stack usage, with a warning before exhaustion.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  9. D10-R9acceptedMUST

    Cap-exceeded behaviour MUST be configured in advance, not prompted at the time.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/qbittorrent/fetching.rscrates/lemonfiber-contract/src/capabilities/download.rscrates/lemonfiber-ports/src/service/fetching.rs
    cited by
    lemonfiber@6caa15de7blemonfiber@f36be73a73
  10. D10-R10acceptedMUST

    Data-cap tracking MUST state that non-stack household usage is not counted.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  11. D10-R11acceptedMUST

    Temporary overrides MUST be time-boxed and MUST report on expiry.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  12. D10-R12acceptedMUST

    lemonfiber MUST limit only its own services and MUST NOT perform system-wide traffic shaping.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  13. D10-R13acceptedMUST

    Applied limits MUST be verified as accepted, and actual throughput exceeding a limit MUST be reported.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  14. D10-R14acceptedMUST

    Local playback traffic MUST NOT be subject to bandwidth limits.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth.rscrates/lemonfiber-ports/src/service/throttling.rscrates/lemonfiber-ports/src/service/metering.rscrates/lemonfiber-core/src/bandwidth/limit.rscrates/lemonfiber-core/src/bandwidth/rhythm.rscrates/lemonfiber-core/src/instant.rs
    cited by
    lemonfiber@f36be73a73
  15. D10-R15acceptedMUST

    Every download client the stack runs MUST be pausable and resumable in one request, at the command line and over the web API. The outcome MUST name each client with what it read back afterwards, and a rehearsal MUST change nothing.

    locked by
    0.18.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth/run/pausing.rscrates/lemonfiber-ports/src/service/fetching.rs
    cited by
    lemonfiber@3b75a54b31lemonfiber-web@2b0e739bc7lemonfiber-web@b4db1690e0
  16. D10-R16acceptedMUST

    A pause MUST hold until it is resumed. A schedule boundary, a temporary override, a new month or a lifted cap MUST NOT resume a paused client.

    locked by
    0.18.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/bandwidth/run/pausing.rscrates/lemonfiber-ports/src/service/fetching.rs
    cited by
    lemonfiber@3b75a54b31lemonfiber-web@b4db1690e0