Use single callback for replies to async operations
Single callback simplifies copying of callbacks and makes
control flow more obvious.
BUG:24267885
Change-Id: I489e7158e2bb1adf8c9c3966a0859fa024a57db2
Reviewed-on: https://weave-review.googlesource.com/1302
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/src/test/fake_stream.cc b/libweave/src/test/fake_stream.cc
index 786aa01..7c86c4a 100644
--- a/libweave/src/test/fake_stream.cc
+++ b/libweave/src/test/fake_stream.cc
@@ -30,33 +30,30 @@
void FakeStream::Read(void* buffer,
size_t size_to_read,
- const ReadSuccessCallback& success_callback,
- const ErrorCallback& error_callback) {
+ const ReadCallback& callback) {
if (read_data_.empty()) {
task_runner_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&FakeStream::Read, base::Unretained(this), buffer,
- size_to_read, success_callback, error_callback),
+ FROM_HERE, base::Bind(&FakeStream::Read, base::Unretained(this), buffer,
+ size_to_read, callback),
base::TimeDelta::FromSeconds(0));
return;
}
size_t size = std::min(size_to_read, read_data_.size());
memcpy(buffer, read_data_.data(), size);
read_data_ = read_data_.substr(size);
- task_runner_->PostDelayedTask(FROM_HERE, base::Bind(success_callback, size),
+ task_runner_->PostDelayedTask(FROM_HERE, base::Bind(callback, size, nullptr),
base::TimeDelta::FromSeconds(0));
}
void FakeStream::Write(const void* buffer,
size_t size_to_write,
- const SuccessCallback& success_callback,
- const ErrorCallback& error_callback) {
+ const WriteCallback& callback) {
size_t size = std::min(size_to_write, write_data_.size());
EXPECT_EQ(
write_data_.substr(0, size),
std::string(reinterpret_cast<const char*>(buffer), size_to_write));
write_data_ = write_data_.substr(size);
- task_runner_->PostDelayedTask(FROM_HERE, success_callback,
+ task_runner_->PostDelayedTask(FROM_HERE, base::Bind(callback, nullptr),
base::TimeDelta::FromSeconds(0));
}