blockdiag client server session_id type=TRANSFER_START session_id offset window_end_offset type=PARAMETERS_RETRANSMIT max_chunk_size chunk_delay session_id offset data (remaining_bytes) session_id offset window_end_offset type=PARAMETERS_CONTINUE (max_chunk_size) (chunk_delay) session_id offset data remaining_bytes=0 session_id status=OK start set transfer parameters requested bytes (zero or more chunks) update transfer parameters (as needed) final chunk acknowledge completion