gecko-dev/netwerk/ipc/InputChannelThrottleQueueChild.cpp
Kershaw Chang 4bc096f818 Bug 1600254 - P8: Make nsIInputChannelThrottleQueue work with socket process r=dragana
The only information that devtools needs is the amount of how many bytes readed, so this patch introduces PInputChannelThrottleQueue ipdl for carrying on this information.

Differential Revision: https://phabricator.services.mozilla.com/D56710

--HG--
extra : moz-landing-system : lando
2020-01-30 13:32:55 +00:00

31 lines
980 B
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:set ts=4 sw=4 sts=4 et cin: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "InputChannelThrottleQueueChild.h"
#include "nsThreadUtils.h"
namespace mozilla {
namespace net {
NS_IMPL_ISUPPORTS_INHERITED0(InputChannelThrottleQueueChild, ThrottleQueue)
NS_IMETHODIMP
InputChannelThrottleQueueChild::RecordRead(uint32_t aBytesRead) {
ThrottleQueue::RecordRead(aBytesRead);
RefPtr<InputChannelThrottleQueueChild> self = this;
NS_DispatchToMainThread(NS_NewRunnableFunction(
"InputChannelThrottleQueueChild::RecordRead", [self, aBytesRead]() {
if (self->CanSend()) {
Unused << self->SendRecordRead(aBytesRead);
}
}));
return NS_OK;
}
} // namespace net
} // namespace mozilla