Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5467)

Unified Diff: chrome/browser/extensions/api/serial/serial_apitest.cc

Issue 10827123: Add serial bulk reads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/serial/serial_apitest.cc
diff --git a/chrome/browser/extensions/api/serial/serial_apitest.cc b/chrome/browser/extensions/api/serial/serial_apitest.cc
index db0d110d0d0f96ac9194222e1f064066671ffe53..16a7ab8d4532510eded23aa59ec39388dda7da04 100644
--- a/chrome/browser/extensions/api/serial/serial_apitest.cc
+++ b/chrome/browser/extensions/api/serial/serial_apitest.cc
@@ -77,16 +77,21 @@ class FakeEchoSerialConnection : public SerialConnection {
read_index_ = write_index_ = 0;
}
- virtual int Read(uint8* byte) {
- DCHECK(byte);
+ virtual int Read(scoped_refptr<net::IOBufferWithSize> io_buffer) {
+ DCHECK(io_buffer->data());
+ DCHECK(io_buffer->size() <= BUFFER_SIZE);
if (read_index_ >= write_index_) {
Peng 2012/08/01 22:14:00 As it is a ring bufer, I think just testing read_i
return 0;
}
- *byte = ring_buffer_[read_index_++];
- if (read_index_ == BUFFER_SIZE)
- read_index_ = 0;
- return 1;
+ char *data = io_buffer->data();
+ int bytes_to_copy = io_buffer->size();
+ while (bytes_to_copy--) {
+ *data++ = ring_buffer_[read_index_++];
+ if (read_index_ == BUFFER_SIZE)
+ read_index_ = 0;
+ }
+ return io_buffer->size();
}
virtual int Write(scoped_refptr<net::IOBuffer> io_buffer, int byte_count) {
« no previous file with comments | « chrome/browser/extensions/api/serial/serial_api.cc ('k') | chrome/browser/extensions/api/serial/serial_connection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698