h*v      0.1.2 Safe-Inferred%& network-control)The representation of window size update.network-control HTTP/2 stylenetwork-control QUIC stylenetwork-controlFlow for receiving.  rxfBufSize |------------------------| --------------------------------------> ^ ^ ^ rxfConsumed rxfReceived rxfLimit |-----------| The size which the peer can send rxWindowSize network-controlReceive buffer size.network-control1The total size which the application is consumed.network-control The total already-received size.network-control$The total size which can be recived. network-controlFlow for sending --------------------------------------> ^ ^ txfSent txfLimit |-----------| The size which this node can send txWindowSize network-controlThe total size of sent data. network-control)The total size of data which can be sent. network-control Window size.network-controlDefault max streams. (64)network-control*Default max data of a stream. (256K bytes)network-control!Default max data of a connection.By default, this is set to (defaultMaxStreams * defaultMaxStreamData. This ensures that streams that are not currently handled cannot exhaust the connection window.1If you use a smaller connection window size, you must ensure that if you are handling fewer concurrent streams than allowed by , that the unhandled streams cannot exhaust the connection window, or risk the entire system deadlocking.network-control,Creating TX flow with a receive buffer size.network-control  -  .network-control-Creating RX flow with an initial window size.network-control - .network-controlWhen an application consumed received data, this function should be called to update . If the available buffer size is less than the half of the total buffer size AND window size update is greater than 1/8 of the the total buffer size, the representation of the window size update is returned. Example: rxfBufSize |------------------------| --------------------------------------> ^ ^ ^ rxfConsumed rxfReceived rxfLimit |01234567890| In the case where the window update should be informed to the peer,  and 2 move to the right. The difference of old and new  is window update. rxfBufSize |------------------------| --------------------------------------> ^ ^ ^ rxfConsumed rxfReceived rxfLimit |0123456789012| : window glows Otherwise, only  moves to the right. rxfBufSize |------------------------| --------------------------------------> ^ ^ ^ rxfConsumed rxfReceived rxfLimit |01234567890| : window stays network-controlChecking if received data is acceptable against the current window.network-controlThe consumed size.network-control , if the size should be informed to the peer.network-controlThe size of received data.network-controlAcceptable if !.   Safe-Inferred%& network-control)Sized cache based on least recently used.network-controlEmpty .network-control Inserting.network-control Deleting.network-control Looking up.network-control The size of . Safe-InferredXnetwork-controlType for rating.network-controlCreating a new .network-controlGetting the current rate. If one or more seconds have passed since the previous call, the counter is re-initialized with 1 and it is returned. Otherwise, incremented counter number is returned.network-controlGetting the current rate. If one or more seconds have passed since the previous call, the counter is re-initialized with the second argument and it is returned. Otherwise, increased counter number is returned. Safe-Inferred    "       !"#$%&'()*,network-control-0.1.2-9nDMzVMhQEPKnmi7s9Eq4LNetwork.Controlnetwork-controlNetwork.Control.FlowNetwork.Control.LRUCacheNetwork.Control.RateFlowControlTypeFCTWindowUpdate FCTMaxDataRxFlow rxfBufSize rxfConsumed rxfReceivedrxfLimitTxFlowtxfSenttxfLimit WindowSizedefaultMaxStreamsdefaultMaxStreamDatadefaultMaxData newTxFlow txWindowSize newRxFlow rxWindowSizemaybeOpenRxWindow checkRxLimitLRUCacheemptyinsertdeletelookupRatenewRategetRateaddRatebase GHC.MaybeJustghc-prim GHC.TypesTrue