• Avoid sending a new chunk when the body is already done

    As discussed in #26807 (comment), we'd like to
    add a new flag, `in_memory_done`, to `TransmitBodyConnectHandler` so
    that we can correctly finish and drop the sender correctly.
    
    When we send the bytes, we will mark the body as done and we can
    recognize it's already done in next tick so that we can send a Done
    request to finish the sender.
    
    Also, when there comes a redirect request, it will go to `re-extract`
    route, we can set the `done` flag to `false` which means we won't
    stop the IPC routers yet. Then, if the re-extract sent its bytes, we
    will be marked as done again so that we can finish with stopping the IPC
    routes when Chunk request comes.
    CYBAI committed Jun 13, 2020