HTTP/1 Chunk Encoder & Task Scheduling Revamp
Pre-release
Pre-release
HTTP/1 chunk encoder & task scheduling revamp (#272) This fixes issue https://github.com/awslabs/aws-c-http/issues/270 Encoder changes: - Combine the 2 state machines into 1. - Encoder no longer deals with the lock when getting new chunks. The stream will be responsible for getting new chunks into the thread. Task-Scheduling changes: - HTTP/1 connection shares 1 lock with all its streams. - connection has new `cross_thread_work_task` that moves work from `synced_data` to `thread_data`. - kicks off the `outgoing_stream_task` if necessary - similarly, stream has a `cross_thread_work_task` for moving work from `synced_data` to `thread_data`. - it can also kick off the connection's `outgoing_stream_task` if necessary