{"record":{"id":"053987d14f36a22c","repo":"eclipse-vertx/vert.x","slug":"initialmaxdata-must-be-0","errorCode":null,"errorMessage":"initialMaxData must be >= 0","messagePattern":"initialMaxData must be >= 0","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"vertx-core/src/main/java/io/vertx/core/net/QuicConfig.java","lineNumber":118,"sourceCode":"   * @see #setInitialMaxData(long)\n   */\n  public long getInitialMaxData() {\n    return initialMaxData;\n  }\n\n  /**\n   * <p>Set the {@code initialMaxData} transport parameter.</p>\n   *\n   * <p>When set to a non-zero value, it will only allow at most {@code initialMaxData} bytes of incoming stream data to be buffered\n   * for the whole connection (that is, data that is not yet read by the application) and will allow more data to be\n   * received as the buffer is consumed by the application.</p>\n   *\n   * @param initialMaxData the value to set\n   * @return this instance\n   */\n  public QuicConfig setInitialMaxData(long initialMaxData) {\n    if (initialMaxData < 0) {\n      throw new IllegalArgumentException(\"initialMaxData must be >= 0\");\n    }\n    this.initialMaxData = initialMaxData;\n    return this;\n  }\n\n  /**\n   * @return the {@code initialMaxStreamDataBidiLocal } parameter value\n   * @see #setInitialMaxStreamDataBidiLocal(long)\n   */\n  public long getInitialMaxStreamDataBidiLocal() {\n    return initialMaxStreamDataBidiLocal;\n  }\n\n  /**\n   * <p>Set the {@code initialMaxStreamDataBidiLocal} transport parameter.</p>\n   *\n   * <p>When set to a non-zero value it will only allow at most {@code initialMaxStreamDataBidiLocal} bytes of incoming stream data\n   * to be buffered for each locally-initiated bidirectional stream (that is, data that is not yet read by the application) and will","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/eclipse-vertx/vert.x/blob/fb308bd8c3f12c79f4ae89bef67fadf6c80d036e/vertx-core/src/main/java/io/vertx/core/net/QuicConfig.java#L100-L136","documentation":"Configuration validation in QuicConfig.setInitialMaxData: the QUIC transport parameter bounding incoming stream data for the whole connection must be non-negative. A negative limit cannot be advertised to the peer and is rejected by the setter (zero disables the flow-control bound).","triggerScenarios":"Thrown at vertx-core/src/main/java/io/vertx/core/net/QuicConfig.java:118 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a value >= 0","Validate QUIC transport parameters from external configuration before applying"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb308bd8c3f12c79f4ae89bef67fadf6c80d036e","analyzedAt":"2026-09-06T11:37:12.241Z","contentChangedAt":"2026-09-06T11:37:12.241Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}