RadioLib
Universal wireless communication library for Arduino
TransportLayer.h
1 #ifndef _RADIOLIB_TRANSPORT_LAYER_H
2 #define _RADIOLIB_TRANSPORT_LAYER_H
3 
4 #include "../../TypeDef.h"
5 
13  public:
14  // constructor
15  // this class is purely virtual and does not require explicit constructor
16 
17  // basic methods
18 
32  virtual int16_t openTransportConnection(const char* host, const char* protocol, uint16_t port, uint16_t tcpKeepAlive = 0) = 0;
33 
39  virtual int16_t closeTransportConnection() = 0;
40 
48  virtual int16_t send(const char* data) = 0;
49 
59  virtual int16_t send(uint8_t* data, size_t len) = 0;
60 
72  virtual size_t receive(uint8_t* data, size_t len, uint32_t timeout = 10000) = 0;
73 
83  virtual size_t getNumBytes(uint32_t timeout = 10000, size_t minBytes = 10) = 0;
84 };
85 
86 #endif
TransportLayer::send
virtual int16_t send(const char *data)=0
Send string-based data.
TransportLayer::receive
virtual size_t receive(uint8_t *data, size_t len, uint32_t timeout=10000)=0
Receive data.
TransportLayer::getNumBytes
virtual size_t getNumBytes(uint32_t timeout=10000, size_t minBytes=10)=0
Get number of received bytes.
TransportLayer::openTransportConnection
virtual int16_t openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0)=0
Open transport layer connection.
TransportLayer
Provides common interface for protocols that run on modules with Internet connectivity,...
Definition: TransportLayer.h:12
TransportLayer::closeTransportConnection
virtual int16_t closeTransportConnection()=0
Close transport layer connection.