27 #ifndef SSLClientImpl_H_ 28 #define SSLClientImpl_H_ 75 explicit SSLClientImpl(
const br_x509_trust_anchor *trust_anchors,
76 const size_t trust_anchors_num,
const int analog_pin,
80 explicit SSLClientImpl(
const br_x509_trust_anchor *trust_anchors,
81 const size_t trust_anchors_num,
const int analog_pin,
93 size_t write_impl(
const uint8_t *buf,
size_t size);
148 if (level > m_debug || !Serial)
return;
167 bool m_soft_connected(
const char* func_name);
169 int m_start_ssl(
const char* host,
SSLSession& ssl_ses);
171 int m_run_until(
const unsigned target);
173 unsigned m_update_engine();
175 int m_get_session_index(
const char* host,
const IPAddress& addr)
const;
182 const int m_analog_pin;
184 size_t m_session_index;
190 br_ssl_client_context m_sslctx;
191 br_x509_minimal_context m_x509ctx;
205 unsigned char m_iobuf[2048];
size_t write_impl(const uint8_t *buf, size_t size)
Definition: SSLClientImpl.cpp:147
virtual uint16_t remotePort()=0
void m_print(const T str, const char *func_name, const DebugLevel level) const
debugging print function, only prints if m_debug is true
Definition: SSLClientImpl.h:146
Definition: SSLClientImpl.h:66
virtual IPAddress remoteIP()=0
SSLSession & get_session_impl(const char *host, const IPAddress &addr)
Definition: SSLClientImpl.cpp:305
This class stores values which allow SSLClient to save and resume SSL sessions.
Definition: SSLSession.h:52
void m_info(const T str, const char *func_name) const
Prints a info message to serial, if info messages are enabled.
Definition: SSLClientImpl.h:157
SSLClientImpl(const br_x509_trust_anchor *trust_anchors, const size_t trust_anchors_num, const int analog_pin, const DebugLevel debug)
Definition: SSLClientImpl.cpp:53
void m_error(const T str, const char *func_name) const
Definition: SSLClientImpl.h:163
int peek_impl()
Definition: SSLClientImpl.cpp:226
Definition: SSLClientImpl.h:68
Definition: SSLClientImpl.h:64
This struct stores data required for SSLClient to use mutual authentication.
Definition: SSLClientParameters.h:52
Definition: SSLClientImpl.h:49
virtual size_t getSessionCount() const =0
virtual SSLSession * get_session_array()=0
Definition: SSLClientImpl.h:47
Definition: SSLClientImpl.h:39
void m_print_ssl_error(const int ssl_error, const DebugLevel level) const
Prints the string associated with a write error.
Definition: SSLClientImpl.cpp:671
int available_impl()
Definition: SSLClientImpl.cpp:190
Error
Static constants defining the possible errors encountered.
Definition: SSLClientImpl.h:38
Definition: SSLClientImpl.h:43
int read_impl(uint8_t *buf, size_t size)
Definition: SSLClientImpl.cpp:211
void remove_session_impl(const char *host, const IPAddress &addr)
Definition: SSLClientImpl.cpp:324
Definition: SSLClientImpl.h:45
virtual Client & get_arduino_client()=0
Definition: SSLClientImpl.h:41
void m_print_prefix(const char *func_name, const DebugLevel level) const
Prints a debugging prefix to all logs, so we can attatch them to useful information.
Definition: SSLClientImpl.cpp:653
Definition: SSLClientImpl.h:62
void m_print_br_error(const unsigned br_error_code, const DebugLevel level) const
Print the text string associated with a BearSSL error code.
Definition: SSLClientImpl.cpp:686
void m_warn(const T str, const char *func_name) const
Definition: SSLClientImpl.h:160
int connect_impl(IPAddress ip, uint16_t port)
Definition: SSLClientImpl.cpp:90
Definition: SSLClientImpl.h:51
void stop_impl()
Definition: SSLClientImpl.cpp:246
void flush_impl()
Definition: SSLClientImpl.cpp:238
Implementation code to be inherited by SSLClient.
Definition: SSLClientImpl.h:72
virtual uint16_t localPort()=0
uint8_t connected_impl()
Definition: SSLClientImpl.cpp:274
DebugLevel
Level of verbosity used in logging for SSLClient.
Definition: SSLClientImpl.h:60