7ArduinoStreamInputStream::ArduinoStreamInputStream(
Stream&
input)
10bool ArduinoStreamInputStream::isOpen()
const {
return status() ==
kOk; }
12size_t ArduinoStreamInputStream::tryRead(
byte* buf,
size_t count) {
13 if (!isOpen() || count == 0)
return 0;
14 size_t available = input_.available();
15 if (count > available)
count = available;
16 if (count == 0)
return 0;
17 return input_.readBytes((
char*)buf, count);
20size_t ArduinoStreamInputStream::read(
byte* buf,
size_t count) {
21 if (!isOpen() || count == 0)
return 0;
23 size_t available = input_.available();
24 if (count > available)
count = available;
26 if (count == 0) ++
count;
27 size_t result = input_.readBytes((
char*)buf, count);
28 if (result > 0)
return result;
33size_t ArduinoStreamInputStream::readFully(
byte* buf,
size_t count) {
34 if (!isOpen() || count == 0)
return 0;
37 size_t result = input_.readBytes((
char*)buf + total, count - total);
39 if (total >= count)
return total;
roo::basic_string_view< CharT, Traits > basic_string_view