3.2.5.1.2 STATE_RECEIVE_FRAGMENTS

 Wait for the BITS message sent from the client for the given BITS session.
  
 If (message type is CLOSE-SESSION)
    Set State to COMPLETE
    Return from this state.
  
 If (message type is CANCEL-SESSION)
    Set State to CANCEL
    Return from this state.
  
 If (message type is FRAGMENT)
    Apply the message processing rules as described in sections 3.2.5.1, 3.2.5.2 and 3.2.5.5
    If (NotifyCache is true)
       Send response to the client with the message format described in section 2.2.7.
       Return from this state.
    If(UploadComplete is true)
       Set state to STATE_NOTIFY
       Return from this state.
    If (processed the last fragment of the entity successfully)
       Set UploadComplete to true
       Set state to STATE_NOTIFY
       Return from this state.
    If (not the last fragment of the request entity)
       Set state to RECEIVE_FRAGMENTS
       Return from this state.