tcMenu
Loading...
Searching...
No Matches
tcremote::BaseBufferedRemoteTransport Class Referenceabstract

#include <BaseBufferedRemoteTransport.h>

Inheritance diagram for tcremote::BaseBufferedRemoteTransport:
TagValueTransport

Public Member Functions

 BaseBufferedRemoteTransport (BufferingMode bufferMode, uint8_t readBufferSize, uint8_t writeBufferSize, EncryptionHandler *encHandler=nullptr)
void endMsg () override
int writeChar (char data) override
int writeStr (const char *data) override
uint8_t readByte () override
bool readAvailable () override
void close () override
void flushIfRequired ()
void flushInternal ()
virtual int fillReadBuffer (uint8_t *dataBuffer, int maxSize)=0
Public Member Functions inherited from TagValueTransport
 TagValueTransport (TagValueTransportType type)
virtual void startMsg (uint16_t msgType)
void startBinMsg (uint16_t msgType, uint16_t byteLen)
void writeField (uint16_t field, const char *value)
void writeFieldInt (uint16_t field, int value)
void writeFieldLong (uint16_t field, long value)
FieldAndValuefieldIfAvailable ()
void clearFieldStatus (FieldValueType ty=FVAL_PROCESSING)
TagValueTransportType getTransportType ()
virtual void flush ()=0
virtual bool available ()=0
virtual bool connected ()=0

Protected Attributes

const uint16_t writeBufferSize
const uint16_t readBufferSize
uint8_t * readBuffer
uint8_t * writeBuffer
uint8_t * encryptionBuffer
uint16_t writeBufferPos
uint16_t readBufferPos
uint16_t encryptionBufferPos
uint16_t readBufferAvail
EncryptionHandlerencryptionHandler
BufferingMode mode
uint8_t ticksSinceWrite
Protected Attributes inherited from TagValueTransport
FieldAndValue currentField
TagValueTransportType transportType
uint8_t protocolUsed

Detailed Description

Many transports need buffering of messages, for example the regular Ethernet2 library will send a character at a time with no buffering. The BLE driver requires buffering because it is only legal to send single full messages at a time. Some other drivers can benefit from some level of buffering. To avoid writing this code many times in different contexts it is available in this core package.

Member Function Documentation

◆ endMsg()

void tcremote::BaseBufferedRemoteTransport::endMsg ( )
overridevirtual

Reimplemented from TagValueTransport.

◆ writeChar()

int tcremote::BaseBufferedRemoteTransport::writeChar ( char data)
overridevirtual

Implements TagValueTransport.

◆ writeStr()

int tcremote::BaseBufferedRemoteTransport::writeStr ( const char * data)
overridevirtual

Implements TagValueTransport.

◆ readByte()

uint8_t tcremote::BaseBufferedRemoteTransport::readByte ( )
overridevirtual

Implements TagValueTransport.

◆ readAvailable()

bool tcremote::BaseBufferedRemoteTransport::readAvailable ( )
overridevirtual

Implements TagValueTransport.

◆ close()

void tcremote::BaseBufferedRemoteTransport::close ( )
overridevirtual

Implements TagValueTransport.


The documentation for this class was generated from the following files: