{"push_id":721929150,"size":1,"distinct_size":1,"ref":"refs/heads/ab-138","head":"5699cbf3ca0f285b52fc7bd9241e1b47642eb412","before":"bceb8254d6d805063bc700c54a4c6345d77dbcd4","commits":[{"sha":"5699cbf3ca0f285b52fc7bd9241e1b47642eb412","author":{"email":"da23614e02469a0d7c7bd1bdab5c9c474b1904dc@natsys-lab.com","name":"Aleksey Baulin"},"message":"Implement new SKB data processing design (#138)\n\nA couple of major points:\n1. An SKB is handed over to Tempesta from Sync Sockets, and Tempesta becomes\n   responsible for it. That includes releasing an SKB when necessary. Because\n   of that, processing of data in an SKB is moved to Tempesta. Sync Sockets\n   expects now that each SKB is processed in full, and just needs to know if\n   processing results in success or failure. Due to connection callback design\n   TfwMsg{}.skb_offset is introduced to keep the current offset of data in the\n   current SKB.\n2. Data is parsed in separate chunks that an SKB holds. In case of pipelined\n   HTTP requests processing may stop in the middle of data chunk. However the\n   number of parsed bytes is not returned to the caller due to internal design.\n   To deal with that, conn->msg is used in combination with TFW_PASS result code.\n3. Now SKBs or requests/responses are never used after they were released.","distinct":true,"url":"https://api.github.com/repos/natsys/tempesta/commits/5699cbf3ca0f285b52fc7bd9241e1b47642eb412"}]}