[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eFlowController\u003c/code\u003e class in the Google API Client Libraries for Java, offering various versions of the class, with the latest being 2.63.1.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eFlowController\u003c/code\u003e class offers flow control capabilities, managing limits for elements and request bytes, and is intended for internal use by Google Cloud Java clients.\u003c/p\u003e\n"],["\u003cp\u003eIt offers constructors for \u003ccode\u003eFlowController\u003c/code\u003e that accept either \u003ccode\u003eDynamicFlowControlSettings\u003c/code\u003e or \u003ccode\u003eFlowControlSettings\u003c/code\u003e as parameters.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes methods to manage flow control limits by decreasing or increasing them, checking current, maximum, and minimum limits for element count and request bytes, and reserving or releasing resources.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowController\u003c/code\u003e has methods that provide the ability to access flow control statistics, alongside methods that are inherited from \u003ccode\u003ejava.lang.Object\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class FlowController (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.batching.FlowController)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.batching.FlowController)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.batching.FlowController)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.batching.FlowController)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.batching.FlowController)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.batching.FlowController)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.batching.FlowController)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.batching.FlowController)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.batching.FlowController)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.batching.FlowController)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.batching.FlowController)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.batching.FlowController)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.batching.FlowController)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.batching.FlowController)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.batching.FlowController)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.batching.FlowController)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.batching.FlowController)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.batching.FlowController)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.batching.FlowController)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.batching.FlowController)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.batching.FlowController)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.batching.FlowController)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.batching.FlowController)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.batching.FlowController)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.batching.FlowController)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.batching.FlowController)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.batching.FlowController)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.batching.FlowController)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.batching.FlowController)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.batching.FlowController)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.batching.FlowController)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.batching.FlowController)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.batching.FlowController)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.batching.FlowController)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.batching.FlowController)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.batching.FlowController)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.batching.FlowController)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.batching.FlowController)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.batching.FlowController)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.batching.FlowController)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.batching.FlowController)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.batching.FlowController)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.batching.FlowController)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.batching.FlowController)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.batching.FlowController)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.batching.FlowController)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.batching.FlowController)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.batching.FlowController)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.batching.FlowController)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.batching.FlowController)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.batching.FlowController)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.batching.FlowController)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.batching.FlowController)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.batching.FlowController) \n\n public class FlowController\n\nProvides flow control capability. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e FlowController \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### FlowController(DynamicFlowControlSettings settings)\n\n public FlowController(DynamicFlowControlSettings settings)\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### FlowController(FlowControlSettings settings)\n\n public FlowController(FlowControlSettings settings)\n\nMethods\n-------\n\n### decreaseThresholds(long elementSteps, long byteSteps)\n\n public void decreaseThresholds(long elementSteps, long byteSteps)\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\nDecrease flow control limits to allow elementSteps fewer elements and byteSteps fewer request\nbytes before enforcing flow control.\n\n### getCurrentElementCountLimit()\n\n public Long getCurrentElementCountLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### getCurrentRequestBytesLimit()\n\n public Long getCurrentRequestBytesLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### getFlowControlEventStats()\n\n public FlowControlEventStats getFlowControlEventStats()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### getMaxElementCountLimit()\n\n public Long getMaxElementCountLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For internal use by google-cloud-java clients only*\n\n### getMaxRequestBytesLimit()\n\n public Long getMaxRequestBytesLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For internal use by google-cloud-java clients only*\n\n### getMinElementCountLimit()\n\n public Long getMinElementCountLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### getMinRequestBytesLimit()\n\n public Long getMinRequestBytesLimit()\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\n### increaseThresholds(long elementSteps, long byteSteps)\n\n public void increaseThresholds(long elementSteps, long byteSteps)\n\n| **Internal Only**: This feature is not stable for application use.\n|\n| *For google-cloud-java client use only*\n\nIncrease flow control limits to allow extra elementSteps elements and byteSteps request bytes\nbefore enforcing flow control.\n\n### release(long elements, long bytes)\n\n public void release(long elements, long bytes)\n\n### reserve(long elements, long bytes)\n\n public void reserve(long elements, long bytes)"]]