-
Notifications
You must be signed in to change notification settings - Fork 131
/
Copy pathConnectionContext.hpp
41 lines (30 loc) · 939 Bytes
/
ConnectionContext.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef SRC_CONNECTIONCONTEXT_HPP_
#define SRC_CONNECTIONCONTEXT_HPP_
#include <Arduino.h>
#include <IPAddress.h>
// Required for SSL
//#include "openssl/ssl.h"
//#undef read
#include <esp_tls.h>
namespace httpsserver {
class WebsocketHandler;
/**
* \brief Internal class to handle the state of a connection
*/
class ConnectionContext {
public:
ConnectionContext();
virtual ~ConnectionContext();
virtual void signalRequestError() = 0;
virtual void signalClientClose() = 0;
virtual size_t getCacheSize() = 0;
virtual size_t readBuffer(byte* buffer, size_t length) = 0;
virtual size_t pendingBufferSize() = 0;
virtual size_t writeBuffer(byte* buffer, size_t length) = 0;
virtual bool isSecure() = 0;
virtual void setWebsocketHandler(WebsocketHandler *wsHandler);
virtual IPAddress getClientIP() = 0;
WebsocketHandler * _wsHandler;
};
} /* namespace httpsserver */
#endif /* SRC_CONNECTIONCONTEXT_HPP_ */