63 void (*event_input_buffer_not_empty)(
Stream *stream) =
nullptr;
65 void (*event_output_buffer_not_empty)(
Stream *stream) =
nullptr;
102 virtual uint16_t
ReadFromBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty, uint8_t *
string, uint16_t &string_size);
117 virtual void WriteToBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty,
bool &overflow_flag, uint8_t *
string, uint16_t &string_size,
void (*cb)(
Stream *stream));
128 virtual bool ReadByteFromBuffer(uint8_t& byte, uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty);
142 virtual void WriteByteToBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty,
bool &overflow_flag, uint8_t &byte,
void (*cb)(
Stream *stream));
177 virtual uint16_t
CalculateLength(uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty);
186 virtual void FlushStream(uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size,
bool &empty);
196 Stream(uint16_t input_stream_size, uint16_t output_stream_size);
203 virtual void Write(uint8_t *
string, uint16_t size);
210 virtual uint16_t
Read(uint8_t *
string, uint16_t size);
216 virtual bool ReadByte(uint8_t& byte);
virtual void WriteToBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty, bool &overflow_flag, uint8_t *string, uint16_t &string_size, void(*cb)(Stream *stream))
Definition: stream.cpp:82
Stream(uint16_t input_stream_size, uint16_t output_stream_size)
Definition: stream.cpp:199
uint8_t * output_buffer
Definition: stream.h:31
virtual bool CheckInputOverflowFlag()
Definition: stream.cpp:160
virtual bool ReadByteFromOutputStream(uint8_t &byte)
Definition: stream.cpp:114
This class is an interface for implementing a duplex FIFO stream.
Definition: stream.h:19
virtual uint16_t ReadFromBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty, uint8_t *string, uint16_t &string_size)
Definition: stream.cpp:58
virtual void FlushOutputBuffer()
Definition: stream.cpp:194
uint16_t output_buffer_size
Definition: stream.h:61
virtual void WriteByteToInputStream(uint8_t &byte)
Definition: stream.cpp:124
virtual uint8_t GetAvailableReadBytes()
Definition: stream.cpp:28
bool input_buffer_empty
Definition: stream.h:71
virtual bool CheckOutputOverflowFlag()
Definition: stream.cpp:52
virtual uint16_t CalculateLength(uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty)
Definition: stream.cpp:166
virtual uint16_t GetInputBufferLength()
Definition: stream.cpp:175
virtual void FlushInputBuffer()
Definition: stream.cpp:189
virtual void WriteToInputStream(uint8_t *string, uint16_t size)
Definition: stream.cpp:16
uint16_t input_buffer_size
Definition: stream.h:56
virtual void WriteByte(uint8_t byte)
Definition: stream.cpp:47
virtual void FlushStream(uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty)
Definition: stream.cpp:183
uint16_t input_buffer_stop_index
Definition: stream.h:46
virtual bool ReadByteFromBuffer(uint8_t &byte, uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty)
Definition: stream.cpp:129
bool output_buffer_overflowed
Definition: stream.h:89
virtual void Write(uint8_t *string, uint16_t size)
Definition: stream.cpp:12
uint8_t * input_buffer
Definition: stream.h:26
virtual uint16_t GetOutputBufferLength()
Definition: stream.cpp:179
virtual void WriteByteToBuffer(uint8_t *buffer, uint16_t &start_index, uint16_t &stop_index, uint16_t &buffer_size, bool &empty, bool &overflow_flag, uint8_t &byte, void(*cb)(Stream *stream))
Definition: stream.cpp:143
virtual uint16_t ReadFromOutputStream(uint8_t *string, uint16_t size)
Definition: stream.cpp:171
virtual uint8_t GetAvailableWriteBytes()
Definition: stream.cpp:24
bool input_buffer_overflowed
Definition: stream.h:83
virtual uint16_t Read(uint8_t *string, uint16_t size)
Definition: stream.cpp:20
virtual bool ReadByte(uint8_t &byte)
Definition: stream.cpp:37
bool output_buffer_empty
Definition: stream.h:77
uint16_t output_buffer_start_index
Definition: stream.h:41
uint16_t input_buffer_start_index
Definition: stream.h:36
uint16_t output_buffer_stop_index
Definition: stream.h:51