diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-08-02 10:28:37 +0200 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-08-02 10:28:37 +0200 |
commit | 07f5a2245d7c15dfb6d716e307d2618a498886d9 (patch) | |
tree | b68f8f80adb4e69f61d2ffb698e953311db1693c /src/Handle.cc | |
parent | 11e1cea6667467b2fa5b5791c86b64444420a16a (diff) |
Switching Handle's readU8() to be a Future, and using it in SimpleMustache.
Diffstat (limited to 'src/Handle.cc')
-rw-r--r-- | src/Handle.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Handle.cc b/src/Handle.cc index 67eb412..361561a 100644 --- a/src/Handle.cc +++ b/src/Handle.cc @@ -94,6 +94,18 @@ ssize_t Balau::Handle::forceWrite(const void * _buf, size_t count, Events::BaseE return total; } +Balau::Future<uint8_t> Balau::Handle::readU8() { + IO<Handle> t(this); + auto func = [t]() mutable -> uint8_t { + uint8_t r; + t->read(&r, 1); + return r; + }; + Future<uint8_t> r; + r.m_run = func; + return r; +} + void Balau::Handle::rseek(off_t offset, int whence) throw (GeneralException) { if (canSeek()) throw GeneralException(String("Handle ") + getName() + " can seek, but rseek() not implemented (missing in class " + ClassName(this).c_str() + ")"); |