/*
* init request, will be used later with RGWHTTPManager
*/
-int RGWHTTPClient::init_request(rgw_http_req_data *_req_data, bool send_data_hint)
+int RGWHTTPClient::init_request(rgw_http_req_data *_req_data)
{
ceph_assert(!req_data);
_req_data->get();
}
}
-int RGWHTTPManager::add_request(RGWHTTPClient *client, bool send_data_hint)
+int RGWHTTPManager::add_request(RGWHTTPClient *client)
{
rgw_http_req_data *req_data = new rgw_http_req_data;
- int ret = client->init_request(req_data, send_data_hint);
+ int ret = client->init_request(req_data);
if (ret < 0) {
req_data->put();
req_data = NULL;
bufferlist::iterator send_iter;
bool has_send_len;
long http_status;
+ bool send_data_hint{false};
size_t receive_pause_skip{0}; /* how many bytes to skip next time receive_data is called
due to being paused */
std::atomic<unsigned> stopped { 0 };
+
protected:
CephContext *cct;
RGWHTTPManager *get_manager();
- int init_request(rgw_http_req_data *req_data,
- bool send_data_hint = false);
+ int init_request(rgw_http_req_data *req_data);
virtual int receive_header(void *ptr, size_t len) {
return 0;
has_send_len = true;
}
+ void set_send_data_hint(bool hint) {
+ send_data_hint = hint;
+ }
long get_http_status() const {
return http_status;
int start();
void stop();
- int add_request(RGWHTTPClient *client, bool send_data_hint = false);
+ int add_request(RGWHTTPClient *client);
int remove_request(RGWHTTPClient *client);
int set_request_state(RGWHTTPClient *client, RGWHTTPRequestSetState state);
};
if (send_data) {
set_send_length(send_data->length());
set_outbl(*send_data);
- send_data_hint = true;
+ set_send_data_hint(true);
}
return RGWHTTP::send(this);
}
- int r = mgr->add_request(this, send_data_hint);
+ int r = mgr->add_request(this);
if (r < 0)
return r;