Rename to .cc, fix Makefile bugs, add example_clock

This commit is contained in:
Ian Gulliver
2019-04-28 21:30:15 +00:00
parent b444bc5964
commit d712b0c687
13 changed files with 53 additions and 5 deletions

26
stream_buffer.cc Normal file
View File

@@ -0,0 +1,26 @@
#include "stream_buffer.h"
StreamBuffer::StreamBuffer(int sock, size_t size)
: Buffer(size),
sock_(sock) {}
bool StreamBuffer::BufferAtLeast(size_t len) {
CHECK_LE(start_ + len, size_);
while (ReadMaxLen() < len) {
auto read_len = read(sock_, WritePtr(), WriteMaxLen());
PCHECK(read_len >= 0);
if (read_len == 0) {
return false;
}
Wrote(read_len);
}
return true;
}
const char *StreamBuffer::Read(size_t len) {
if (!BufferAtLeast(len)) {
return nullptr;
}
return Buffer::Read(len);
}