volcengine / ve-tos-cpp-sdk

Volcengine TOS C++ SDK
Apache License 2.0
7 stars 5 forks source link

getObject是否能支持SetResponseStreamFactory #49

Open dongxiao1198 opened 1 month ago

dongxiao1198 commented 1 month ago

S3的getObject支持自定义SetResponseStreamFactory,在外部提供的buffered stream上直接写response数据,这样可以不用多copy一次 https://github.com/aws/aws-sdk-cpp/blob/main/src/aws-cpp-sdk-core/include/aws/core/AmazonWebServiceRequest.h

Aws::S3::Model::GetObjectRequest request; request.SetResponseStreamFactory([=]() { return Aws::New("directReadAt", buf, size); });

cos 、oss也都支持类似的接口: https://github.com/tencentyun/cos-cpp-sdk-v5/blob/master/include/request/object_req.h : GetObjectByStreamReq https://github.com/aliyun/aliyun-oss-cpp-sdk/blob/master/sdk/include/alibabacloud/oss/ServiceRequest.h : ServiceRequest 否则在拿到response后还需要copy出去到自己的buffer。

dongxiao1198 commented 1 month ago

看了下code。貌似很简单的改改就能支持? 没有测过 0002-zero-copy.patch

dongxiao1198 commented 1 month ago

``

看了下code。貌似很简单的改改就能支持? 没有测过 0002-zero-copy.patch

测了下 这样不行。