SSLClientImpl.h File Reference
`#include "bearssl.h"`
`#include "Arduino.h"`
`#include "Client.h"`
`#include "SSLSession.h"`
`#include "SSLClientParameters.h"`

Go to the source code of this file.

## Classes

class | SSLClientImpl
| Implementation code to be inherited by SSLClient. More...

## Enumerations

enum | Error { SSL_OK = 0, SSL_CLIENT_CONNECT_FAIL, SSL_BR_CONNECT_FAIL, SSL_CLIENT_WRTIE_ERROR, SSL_BR_WRITE_ERROR, SSL_INTERNAL_ERROR, SSL_OUT_OF_MEMORY }
| Static constants defining the possible errors encountered. More...
enum | DebugLevel { SSL_NONE = 0, SSL_ERROR = 1, SSL_WARN = 2, SSL_INFO = 3 }
| Level of verbosity used in logging for SSLClient. More...

## Enumeration Type Documentation

## DebugLevel

enum DebugLevel

Level of verbosity used in logging for SSLClient.

Use these values when initializing SSLClient to set how many logs you would like to see in the Serial monitor.

Enumerator
SSL_NONE | No logging output
SSL_ERROR | Only output errors that result in connection failure
SSL_WARN | Output errors and warnings (useful when just starting to develop)
SSL_INFO | Output errors, warnings, and internal information (very verbose)

## Error

enum Error

Static constants defining the possible errors encountered.

If SSLClient encounters an error, it will generally output logs into the serial monitor. If you need a way of programmatically checking the errors, you can do so with SSLClient::getWriteError(), which will return one of these values.

Enumerator
SSL_OK |
SSL_CLIENT_CONNECT_FAIL | The underlying client failed to connect, probably not an issue with SSL
SSL_BR_CONNECT_FAIL | BearSSL failed to complete the SSL handshake, check logs for bear ssl error output
SSL_CLIENT_WRTIE_ERROR | The underlying client failed to write a payload, probably not an issue with SSL
SSL_BR_WRITE_ERROR | An internal error occurred with BearSSL, check logs for diagnosis.
SSL_INTERNAL_ERROR | An internal error occurred with SSLClient, and you probably need to submit an issue on Github.
SSL_OUT_OF_MEMORY | SSLClient detected that there was not enough memory (>8000 bytes) to continue.