An apparatus for wireless communication arranged to operate in accordance with a current flow state, the apparatus comprising: means for monitoring a plurality of resource levels for the apparatus, the plurality of resource levels comprising at least two of: a number of operations being carried out by a processor of the apparatus per unit time; an amount of data stored in a memory of the apparatus; an amount of heat being dissipated by the apparatus; an amount of bandwidth being used by the apparatus; and an amount of power being used by the apparatus; means for determining a flow state corresponding to each of the plurality of resource levels monitored, the flow state corresponding to each of the resource levels monitored being of the same type, the flow state type comprising one of: an amount of physical layer throughput for an uplink; a media access control layer throughput for an uplink; an application layer throughput for an uplink; an amount of physical layer throughput for a downlink; a media access control layer throughput for a downlink; an application layer throughput for a downlink; bandwidth; spreading factor; and a radio link control window size for the apparatus; means for determining the most constrained flow state for the apparatus, the most constrained flow state being the minimum flow state from among each of the determined flow states corresponding to each of the determined resource levels; means for comparing the most constrained flow state to the current flow state; and means for setting the current flow state of the apparatus to the most constrained flow state dependent upon the result of the comparison. means for monitoring a plurality of resource levels for the apparatus, the plurality of resource levels comprising at least two of: a number of operations being carried out by a processor of the apparatus per unit time; an amount of data stored in a memory of the apparatus; an amount of heat being dissipated by the apparatus; an amount of bandwidth being used by the apparatus; and an amount of power being used by the apparatus; a number of operations being carried out by a processor of the apparatus per unit time; an amount of data stored in a memory of the apparatus; an amount of heat being dissipated by the apparatus; an amount of bandwidth being used by the apparatus; and an amount of power being used by the apparatus; means for determining a flow state corresponding to each of the plurality of resource levels monitored, the flow state corresponding to each of the resource levels monitored being of the same type, the flow state type comprising one of: an amount of physical layer throughput for an uplink; a media access control layer throughput for an uplink; an application layer throughput for an uplink; an amount of physical layer throughput for a downlink; a media access control layer throughput for a downlink; an application layer throughput for a downlink; bandwidth; spreading factor; and a radio link control window size for the apparatus; an amount of physical layer throughput for an uplink; a media access control layer throughput for an uplink; an application layer throughput for an uplink; an amount of physical layer throughput for a downlink; a media access control layer throughput for a downlink; an application layer throughput for a downlink; bandwidth; spreading factor; and a radio link control window size for the apparatus; means for determining the most constrained flow state for the apparatus, the most constrained flow state being the minimum flow state from among each of the determined flow states corresponding to each of the determined resource levels; means for comparing the most constrained flow state to the current flow state; and means for setting the current flow state of the apparatus to the most constrained flow state dependent upon the result of the comparison.