blob: 751e682487782fea1c0f942e1d2f96596459839e [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "services/network/resource_scheduler_client.h"
#include "net/url_request/url_request_context.h"
#include "services/network/network_context.h"
namespace network {
ResourceSchedulerClient::ResourceSchedulerClient(
int child_id,
int route_id,
ResourceScheduler* resource_scheduler,
net::NetworkQualityEstimator* estimator)
: child_id_(child_id),
route_id_(route_id),
resource_scheduler_(resource_scheduler) {
resource_scheduler_->OnClientCreated(child_id_, route_id_, estimator);
}
ResourceSchedulerClient::~ResourceSchedulerClient() {
resource_scheduler_->OnClientDeleted(child_id_, route_id_);
}
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
ResourceSchedulerClient::ScheduleRequest(bool is_async,
net::URLRequest* url_request) {
return resource_scheduler_->ScheduleRequest(child_id_, route_id_, is_async,
url_request);
}
void ResourceSchedulerClient::ReprioritizeRequest(
net::URLRequest* request,
net::RequestPriority new_priority,
int intra_priority_value) {
resource_scheduler_->ReprioritizeRequest(request, new_priority,
intra_priority_value);
}
} // namespace network